carlosedu011brasil/laravel-recorder-logger
Composer 安装命令:
composer require carlosedu011brasil/laravel-recorder-logger
包简介
Componente Vue para gravação de tela com logger embutido (console, requests, erros, rotas)
README 文档
README
Componente Vue para gravação de tela com logging embutido. Instalável via Composer e integrável com aplicações Laravel utilizando Inertia.js ou SPA com Vue 3.
Instalação
- Requisite o pacote via Composer:
composer require carlosedu011brasil/laravel-recorder-logger
- Publique os arquivos do componente:
php artisan vendor:publish --tag=recorder-components
Estrutura do Projeto
O pacote disponibiliza:
resources/js/Components/Recorder.vue: componente Vue completosrc/RecorderLoggerServiceProvider.php: Service Provider responsável pela publicação dos assetscomposer.json: metadata e autoload do pacote
Importação
Após a publicação dos arquivos, importe e utilize o componente diretamente em seu projeto Vue 3:
import Recorder from '@/Components/Recorder.vue'
<template> <Recorder theme="primary" /> </template>
Funcionalidade
Este componente oferece uma solução completa para capturar sessões do usuário, incluindo gravação de tela e coleta de logs técnicos, com objetivo de auxiliar em processos de suporte, QA ou análise de erros em produção.
Gravação de Tela
- Utiliza
navigator.mediaDevices.getDisplayMedia()para capturar vídeo e áudio da aba, janela ou tela. - Controlado por
MediaRecorder, com suporte a pausa, retomada e parada da gravação. - Timer visível durante a gravação.
- Ao finalizar, o vídeo é convertido para
Blobe disponibilizado via URL para visualização prévia.
Logger embutido
Durante a gravação, os seguintes eventos são interceptados e armazenados em um objeto logger:
Troca de Rotas
- Acompanha alterações de rota utilizando
history.pushState,history.replaceStateepopstate. - Cada mudança de rota é registrada com timestamp e URL.
Requisições HTTP
Interceptação de requisições via:
fetch()XMLHttpRequest
Cada requisição registrada inclui tipo, método, URL, status e data/hora.
Logs do Console
Interceptação dos seguintes métodos:
console.logconsole.warnconsole.errorconsole.info
Cada log inclui tipo, argumentos passados e horário.
Erros Globais
Captura de erros não tratados:
window.onerrorwindow.onunhandledrejection
Todos os erros são armazenados com mensagem, linha, coluna e arquivo de origem.
Estrutura do Output
Ao finalizar a gravação, o componente gera um objeto com a seguinte estrutura:
{
"descricao": "Texto digitado pelo usuário no textarea",
"videoUrl": "blob:<url-do-vídeo>",
"logs": {
"StartpageUrl": "URL inicial da gravação",
"visitedRoutes": [...],
"console": [...],
"errors": [...],
"requests": [...]
}
}
Este objeto é exibido no console para exportação manual ou uso posterior.
Estilização
O componente utiliza SCSS encapsulado com tema escuro por padrão. Botões possuem estados distintos para iniciar, pausar, continuar e parar a gravação. Pode ser personalizado conforme o tema do projeto principal.
Dependências
- Vue 3 (Composition API)
- Suporte a browsers modernos que implementem
MediaRecorderegetDisplayMedia
Considerações
Este componente é indicado para uso em ambientes de desenvolvimento, homologação ou produção com consentimento explícito do usuário, devido à natureza da gravação de tela e coleta de dados.
Licença
Este projeto está licenciado sob a licença MIT.
carlosedu011brasil/laravel-recorder-logger 适用场景与选型建议
carlosedu011brasil/laravel-recorder-logger 是一款 基于 Vue 开发的 Composer 扩展包,目前已累计 47 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 07 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 carlosedu011brasil/laravel-recorder-logger 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 carlosedu011brasil/laravel-recorder-logger 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 47
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 22
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-24