ac4f232e5ede5fd6bb46d98151d979adf8bd66ed
This change modifies the build scripts to use --legacy-peer-deps flag when installing npm dependencies to resolve potential peer dependency conflicts during the build process. The change is applied to both bash (build.sh) and batch (build.bat) build scripts.
Web Tail Pro
Visualizador de logs em tempo real no navegador, com backend em Go e frontend em React. Permite acompanhar múltiplos arquivos simultaneamente, filtrar linhas, aplicar formatações (JSON e Apache), e mesclar logs por timestamp em um painel unificado. Autenticação básica (HTTP Basic Auth) opcional.
Recursos
- Monitoramento em tempo real via SSE (
/logs) - Múltiplas abas, uma por arquivo de log, e painel "Mesclado"
- Filtro de texto simples nas abas
- Formatação de linhas para
generic,jsoneapache - Autenticação básica com usuário fixo
admine senha definida por flag
Arquitetura
- Backend (Go 1.21+): realiza
taildos arquivos e publica eventos via SSE. Serve os arquivos do frontend comgo:embed. - Frontend (React + Vite + Ant Design): consome SSE, organiza abas e renderiza as linhas de log com formatação.
Estrutura do projeto:
backend/
main.go
go.mod
frontend/
src/
App.tsx
components/
hooks/
package.json
vite.config.ts
build.sh
Pré-requisitos
- Go 1.21+
- Node.js 18+ e npm
Build
Opção 1 (Unix/WSL/Git Bash):
bash build.sh
Opção 2 (manual, multiplataforma):
cd frontend
npm install
npm run build
cd ..
go build -o web-tail-pro ./backend/main.go
Execução
Exemplos de uso do binário gerado:
./web-tail-pro backend/logs/app.log backend/logs/access.log backend/logs/json.log
./web-tail-pro -port :9090 -password "s3nh4" backend/logs/*.log
./web-tail-pro -password "s3nh4" backend/logs/app.log
./web-tail-pro -port 1234 backend/logs/*.log
Após iniciar, acesse http://localhost:8080 (ou a porta configurada).
Flags disponíveis
-port(padrão:8080): porta/endereço para o servidor HTTP. Aceita formatos como:8080ou9090.-password(padrão vazio): ao definir uma senha, ativa autenticação básica (usuárioadmin).
Autenticação
- Usuário:
admin - Senha: valor definido em
-password - Sem
-password, o acesso é liberado.
Desenvolvimento
Executar backend em modo desenvolvimento:
go run ./backend/main.go backend/logs/*.log
Executar frontend com Vite (proxy para o backend):
cd frontend
npm run dev
- Frontend dev:
http://localhost:5173 - Proxy configurado para
/apie/logsdirecionar parahttp://localhost:8080(ajuste a porta se necessário).
Endpoints
GET /api/files: retorna a lista de arquivos de log que o backend está monitorando.SSE /logs: stream de eventos com linhas de log (filename,line,timestamp).
Observações
- O buffer no frontend mantém aproximadamente as últimas 2000 linhas por conexão SSE.
- O painel "Mesclado" ordena por
timestamp(quando disponível) para facilitar correlação entre arquivos.
Languages
Go
62.2%
TypeScript
27.6%
Makefile
2.5%
Batchfile
2%
Shell
1.8%
Other
3.9%