# HTML Logger
Uma biblioteca Python para geração de logs em HTML com suporte a cores, rotação de arquivos e filtros via JavaScript.
## Características
- ✅ Logs coloridos em formato HTML
- ✅ Rotaão automática de arquivos
- ✅ Interface limpa com filtros JavaScript integrados
- ✅ Thread-safe e de alta performance
- ✅ Suporte a exceções com traceback completo
- ✅ Configuração flexível de tamanho e quantidade de arquivos
## Instalação
```bash
pip install html-logging-tool
```
## Uso Básico
```python
from htmllogger import log, error, report_exception
# Mensagens simples
log("Mensagem informativa normal")
log("Mensagem em azul", color="blue")
# Mensagens de erro
error("Esta é uma mensagem de erro")
# Registrar exceções
try:
# Seu código aqui
raise ValueError("Erro exemplo")
except Exception as e:
report_exception(e)
```
## Configuração
```python
from htmllogger import config
# Personalize as configurações do logger
config(
max_files=15, # Número máximo de arquivos de log
max_size=5000000, # Tamanho máximo por arquivo (5MB)
main_filename="log.html", # Nome do arquivo principal
log_dir="logs" # Diretório para os logs
)
```
## Estrutura de Arquivos
Os logs são armazenados no diretório especificado (padrão: `logs/`) com a seguinte estrutura:
```
logs/
└── log.html (arquivo atual)
└── 2023-10-05_12-30-45_log.html (arquivo rotacionado)
└── 2023-10-05_10-15-32_log.html (arquivo rotacionado)
```
## Filtros JavaScript Integrados
Os arquivos HTML gerados incluem recursos de filtro para facilitar a análise:
- Filtro por texto
- Filtro por nível (cor)
- Filtro por período
## Exemplo Completo
```python
from htmllogger import log, error, report_exception, config
# Configurar o logger
config(
max_files=10,
max_size=2000000, # 2MB
log_dir="my_logs"
)
# Registrar diferentes tipos de mensagens
log("Iniciando aplicação", color="green")
log("Processando dados...", color="blue")
for i in range(100):
log(f"Processando item {i}")
try:
# Código que pode gerar erro
resultado = 10 / 0
except Exception as e:
error("Divisão por zero detectada")
report_exception(e)
log("Aplicação finalizada", color="green")
```
## API Reference
### log(message, color="white")
Registra uma mensagem com a cor especificada.
### error(message)
Registra uma mensagem de erro (em vermelho).
### report_exception(exc, timeout=None)
Registra uma exceção com seu traceback completo.
### config(**kwargs)
Configura as opções do logger:
- `max_files`: Número máximo de arquivos a manter
- `max_size`: Tamanho máximo em bytes por arquivo
- `main_filename`: Nome do arquivo de log principal
- `log_dir`: Diretório onde os logs serão armazenados
## Desenvolvimento
Para contribuir com o projeto:
1. Faça um fork do repositório
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
4. Push para a branch (`git push origin feature/AmazingFeature`)
5. Abra um Pull Request
## Suporte
Se você encontrar problemas ou tiver dúvidas:
1. Consulte a [documentação](https://github.com/rphpires/html-logging-tool)
2. Abra uma [issue](https://github.com/rphpires/html-logging-tool/issues)
3. Entre em contato: rphspires@gmail.com
## Licença
Este projeto está licenciado sob a licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
## Agradecimentos
- Desenvolvido por Raphael Pires
- Inspirado pela necessidade de logs visualmente ricos para debugging
- Contribuições são bem-vindas!
Raw data
{
"_id": null,
"home_page": "https://github.com/rphpires/html-logging-tool",
"name": "html-logging-tool",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "logging, html, logger, logs, colors, trace",
"author": "Raphael Pires",
"author_email": "Raphael Pires Nome <rphspires@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a8/14/441641250287a203cdbbc3de2c78a670299af863758e09a777fad14e878e/html_logging_tool-0.1.2.tar.gz",
"platform": null,
"description": "# HTML Logger\r\n\r\nUma biblioteca Python para gera\u00e7\u00e3o de logs em HTML com suporte a cores, rota\u00e7\u00e3o de arquivos e filtros via JavaScript.\r\n\r\n## Caracter\u00edsticas\r\n\r\n- \u2705 Logs coloridos em formato HTML\r\n- \u2705 Rota\u00e3o autom\u00e1tica de arquivos\r\n- \u2705 Interface limpa com filtros JavaScript integrados\r\n- \u2705 Thread-safe e de alta performance\r\n- \u2705 Suporte a exce\u00e7\u00f5es com traceback completo\r\n- \u2705 Configura\u00e7\u00e3o flex\u00edvel de tamanho e quantidade de arquivos\r\n\r\n## Instala\u00e7\u00e3o\r\n\r\n```bash\r\npip install html-logging-tool\r\n```\r\n\r\n## Uso B\u00e1sico\r\n\r\n```python\r\nfrom htmllogger import log, error, report_exception\r\n\r\n# Mensagens simples\r\nlog(\"Mensagem informativa normal\")\r\nlog(\"Mensagem em azul\", color=\"blue\")\r\n\r\n# Mensagens de erro\r\nerror(\"Esta \u00e9 uma mensagem de erro\")\r\n\r\n# Registrar exce\u00e7\u00f5es\r\ntry:\r\n # Seu c\u00f3digo aqui\r\n raise ValueError(\"Erro exemplo\")\r\nexcept Exception as e:\r\n report_exception(e)\r\n```\r\n\r\n## Configura\u00e7\u00e3o\r\n\r\n```python\r\nfrom htmllogger import config\r\n\r\n# Personalize as configura\u00e7\u00f5es do logger\r\nconfig(\r\n max_files=15, # N\u00famero m\u00e1ximo de arquivos de log\r\n max_size=5000000, # Tamanho m\u00e1ximo por arquivo (5MB)\r\n main_filename=\"log.html\", # Nome do arquivo principal\r\n log_dir=\"logs\" # Diret\u00f3rio para os logs\r\n)\r\n```\r\n\r\n## Estrutura de Arquivos\r\n\r\nOs logs s\u00e3o armazenados no diret\u00f3rio especificado (padr\u00e3o: `logs/`) com a seguinte estrutura:\r\n\r\n```\r\nlogs/\r\n\u2514\u2500\u2500 log.html (arquivo atual)\r\n\u2514\u2500\u2500 2023-10-05_12-30-45_log.html (arquivo rotacionado)\r\n\u2514\u2500\u2500 2023-10-05_10-15-32_log.html (arquivo rotacionado)\r\n```\r\n\r\n## Filtros JavaScript Integrados\r\n\r\nOs arquivos HTML gerados incluem recursos de filtro para facilitar a an\u00e1lise:\r\n\r\n- Filtro por texto\r\n- Filtro por n\u00edvel (cor)\r\n- Filtro por per\u00edodo\r\n\r\n## Exemplo Completo\r\n\r\n```python\r\nfrom htmllogger import log, error, report_exception, config\r\n\r\n# Configurar o logger\r\nconfig(\r\n max_files=10,\r\n max_size=2000000, # 2MB\r\n log_dir=\"my_logs\"\r\n)\r\n\r\n# Registrar diferentes tipos de mensagens\r\nlog(\"Iniciando aplica\u00e7\u00e3o\", color=\"green\")\r\nlog(\"Processando dados...\", color=\"blue\")\r\n\r\nfor i in range(100):\r\n log(f\"Processando item {i}\")\r\n\r\ntry:\r\n # C\u00f3digo que pode gerar erro\r\n resultado = 10 / 0\r\nexcept Exception as e:\r\n error(\"Divis\u00e3o por zero detectada\")\r\n report_exception(e)\r\n\r\nlog(\"Aplica\u00e7\u00e3o finalizada\", color=\"green\")\r\n```\r\n\r\n## API Reference\r\n\r\n### log(message, color=\"white\")\r\nRegistra uma mensagem com a cor especificada.\r\n\r\n### error(message)\r\nRegistra uma mensagem de erro (em vermelho).\r\n\r\n### report_exception(exc, timeout=None)\r\nRegistra uma exce\u00e7\u00e3o com seu traceback completo.\r\n\r\n### config(**kwargs)\r\nConfigura as op\u00e7\u00f5es do logger:\r\n- `max_files`: N\u00famero m\u00e1ximo de arquivos a manter\r\n- `max_size`: Tamanho m\u00e1ximo em bytes por arquivo\r\n- `main_filename`: Nome do arquivo de log principal\r\n- `log_dir`: Diret\u00f3rio onde os logs ser\u00e3o armazenados\r\n\r\n## Desenvolvimento\r\n\r\nPara contribuir com o projeto:\r\n\r\n1. Fa\u00e7a um fork do reposit\u00f3rio\r\n2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)\r\n3. Commit suas mudan\u00e7as (`git commit -m 'Add some AmazingFeature'`)\r\n4. Push para a branch (`git push origin feature/AmazingFeature`)\r\n5. Abra um Pull Request\r\n\r\n## Suporte\r\n\r\nSe voc\u00ea encontrar problemas ou tiver d\u00favidas:\r\n\r\n1. Consulte a [documenta\u00e7\u00e3o](https://github.com/rphpires/html-logging-tool)\r\n2. Abra uma [issue](https://github.com/rphpires/html-logging-tool/issues)\r\n3. Entre em contato: rphspires@gmail.com\r\n\r\n## Licen\u00e7a\r\n\r\nEste projeto est\u00e1 licenciado sob a licen\u00e7a MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.\r\n\r\n## Agradecimentos\r\n\r\n- Desenvolvido por Raphael Pires\r\n- Inspirado pela necessidade de logs visualmente ricos para debugging\r\n- Contribui\u00e7\u00f5es s\u00e3o bem-vindas!\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Biblioteca para gera\u00e7\u00e3o de logs em HTML com suporte a cores, rota\u00e7\u00e3o e filtros via JavaScript.",
"version": "0.1.2",
"project_urls": {
"Bug Tracker": "https://github.com/rphpires/html-logging-tool/issues",
"Homepage": "https://github.com/rphpires/html-logging-tool"
},
"split_keywords": [
"logging",
" html",
" logger",
" logs",
" colors",
" trace"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7b836e6a796d0639deea85e10b84ec7c16c270fa34538f447f66d03ec86b0c05",
"md5": "1e0cd6b58f26c1f7d7b4d431c121ea58",
"sha256": "3de5805c5e976a2295578756e08b5e6fb7c4b9eb4a982b5b087fccfd0a2eabe8"
},
"downloads": -1,
"filename": "html_logging_tool-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1e0cd6b58f26c1f7d7b4d431c121ea58",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 6836,
"upload_time": "2025-08-27T22:29:28",
"upload_time_iso_8601": "2025-08-27T22:29:28.936454Z",
"url": "https://files.pythonhosted.org/packages/7b/83/6e6a796d0639deea85e10b84ec7c16c270fa34538f447f66d03ec86b0c05/html_logging_tool-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a814441641250287a203cdbbc3de2c78a670299af863758e09a777fad14e878e",
"md5": "f230726006815d812ce8b413e58a5d99",
"sha256": "2dfcea56a9f6dcf880ccc5e9e3741d5b04a2d59c5bcb566e6b822d9dc037be29"
},
"downloads": -1,
"filename": "html_logging_tool-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "f230726006815d812ce8b413e58a5d99",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 6378,
"upload_time": "2025-08-27T22:29:30",
"upload_time_iso_8601": "2025-08-27T22:29:30.105340Z",
"url": "https://files.pythonhosted.org/packages/a8/14/441641250287a203cdbbc3de2c78a670299af863758e09a777fad14e878e/html_logging_tool-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-27 22:29:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rphpires",
"github_project": "html-logging-tool",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "html-logging-tool"
}