Name | dmt-logger JSON |
Version |
0.1.3
JSON |
| download |
home_page | None |
Summary | None |
upload_time | 2025-02-10 13:32:57 |
maintainer | None |
docs_url | None |
author | Daniel |
requires_python | >=3.10 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Sistema de Log Configurável
Este projeto oferece um sistema de logs altamente configurável, permitindo personalizar diversos aspectos através de variáveis de ambiente definidas em um arquivo `.env`. Você poderá definir o caminho dos logs, o formato de cada entrada, o nível de detalhe e a formatação da data e hora, oferecendo flexibilidade total para suas necessidades.
## Como Utilizar
### 1. Arquivo de Configuração `.env`
A configuração do sistema de logs é feita através do arquivo `.env`. Crie este arquivo na raiz do seu projeto e defina as seguintes variáveis:
* **DEFAULT_LOG_PATH**: Caminho para o diretório onde os arquivos de log serão armazenados. Este campo suporta formatação de data e hora, conforme descrito na seção "Formatação de Data e Hora".
* **DEFAULT_LOG_TEMPLATE**: Define o formato de cada linha de log. Utilize as variáveis de formatação disponíveis, conforme detalhado na seção "Formato das Entradas de Log".
* **DEFAULT_TIME_FORMAT**: Especifica o formato de data e hora a ser utilizado nos logs. Consulte a seção "Formatação de Data e Hora" para opções.
* **DEFAULT_LOG_LEVEL**: Define o nível mínimo de log a ser gravado. Opções comuns incluem `DEBUG`, `INFO`, `WARNING`, `ERROR` e `CRITICAL`. Logs com nível inferior ao definido serão ignorados.
**Exemplo de arquivo `.env`:**
DEFAULT_LOG_PATH='data/logs/[now %Y]/[now %m.%b]/[now %d.%a]/[now %H]h/log.log'
DEFAULT_LOG_TEMPLATE='%(asctime)s [%(name)s] - %(levelname)s - %(message)s'
DEFAULT_TIME_FORMAT='%H:%M:%S'
DEFAULT_LOG_LEVEL='INFO'
### 2. Formatação de Data e Hora
O sistema permite a formatação dinâmica de datas e horas no `DEFAULT_LOG_PATH` e dentro do `DEFAULT_LOG_TEMPLATE`, utilizando *placeholders* no formato `[now FORMATO]`.
**Opções de Formatação:**
* **[now]**: Data e hora atual.
* **%a**: Nome abreviado do dia da semana (ex: Dom, Seg, Ter).
* **%A**: Nome completo do dia da semana (ex: Domingo, Segunda-feira).
* **%w**: Dia da semana como número (0 = Domingo, 6 = Sábado).
* **%d**: Dia do mês (01 a 31).
* **%-d**: Dia do mês (1 a 31).
* **%b**: Nome abreviado do mês (ex: Jan, Fev, Mar).
* **%B**: Nome completo do mês (ex: Janeiro, Fevereiro, Março).
* **%m**: Mês como número (01 a 12).
* **%-m**: Mês como número (1 a 12).
* **%y**: Ano sem século (00 a 99).
* **%-y**: Ano sem século (0 a 99).
* **%Y**: Ano com século (ex: 2024).
* **%H**: Hora (00 a 23).
* **%-H**: Hora (0 a 23).
* **%I**: Hora em formato 12 horas (01 a 12).
* **%-I**: Hora em formato 12 horas (1 a 12).
* **%p**: AM ou PM.
* **%x**: Data no formato local.
* **%c**: Data e hora no formato local.
**Exemplos:**
* `[now %d.%a]` = `01.Seg`
* `[now %d]` = `01`
* `[now %-d]` = `1`
* `[now %m]` = `01`
* `[now %b]` = `Jan`
* `[now %B]` = `Janeiro`
* `[now %m.%b]` = `01.Jan`
* `[now %y]` = `24`
* `[now %Y]` = `2024`
* `[now %d de %B de %Y]` = `01 de Janeiro de 2024`
### 3. Formato das Entradas de Log
A variável `DEFAULT_LOG_TEMPLATE` permite personalizar o formato de cada linha de log. Utilize as seguintes variáveis dentro do template:
* `%(asctime)s`: Data e hora da ocorrência do log.
* `%(name)s`: Nome do logger.
* `%(levelname)s`: Nível do log (ex: DEBUG, INFO, ERROR).
* `%(message)s`: Mensagem de log.
**Exemplo:**
`DEFAULT_LOG_TEMPLATE='%(asctime)s [%(name)s] - %(levelname)s - %(message)s'`
### 4. Criação do Caminho do Log
Ao definir o `DEFAULT_LOG_PATH`, certifique-se de que o caminho seja válido e não contenha caracteres especiais (espaços, barras, etc.). O sistema substituirá automaticamente espaços por underscores (`_`).
**Exemplo:**
data/logs/[now %Y]/[now %m.%b]/[now %d.%a]/[now %H]h/log.log
resultaria em um caminho como:
data/logs/2024/01.Jan/01.Seg/10h/log.log
Lembre-se de que o sistema criará os diretórios automaticamente, caso eles não existam. Se o caminho definido for inválido, o sistema poderá apresentar erros.
Este guia detalhado oferece uma visão completa das opções de configuração do sistema de logs, permitindo que você personalize-o de acordo com suas necessidades.
Raw data
{
"_id": null,
"home_page": null,
"name": "dmt-logger",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Daniel",
"author_email": "daniel.mtorres7@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/bd/48/51b41beb59592fd0423cf45217d7b29025d8267941e6da783d5cd8501418/dmt_logger-0.1.3.tar.gz",
"platform": null,
"description": "# Sistema de Log Configur\u00e1vel\n\nEste projeto oferece um sistema de logs altamente configur\u00e1vel, permitindo personalizar diversos aspectos atrav\u00e9s de vari\u00e1veis de ambiente definidas em um arquivo `.env`. Voc\u00ea poder\u00e1 definir o caminho dos logs, o formato de cada entrada, o n\u00edvel de detalhe e a formata\u00e7\u00e3o da data e hora, oferecendo flexibilidade total para suas necessidades.\n\n## Como Utilizar\n\n### 1. Arquivo de Configura\u00e7\u00e3o `.env`\n\nA configura\u00e7\u00e3o do sistema de logs \u00e9 feita atrav\u00e9s do arquivo `.env`. Crie este arquivo na raiz do seu projeto e defina as seguintes vari\u00e1veis:\n\n* **DEFAULT_LOG_PATH**: Caminho para o diret\u00f3rio onde os arquivos de log ser\u00e3o armazenados. Este campo suporta formata\u00e7\u00e3o de data e hora, conforme descrito na se\u00e7\u00e3o \"Formata\u00e7\u00e3o de Data e Hora\".\n* **DEFAULT_LOG_TEMPLATE**: Define o formato de cada linha de log. Utilize as vari\u00e1veis de formata\u00e7\u00e3o dispon\u00edveis, conforme detalhado na se\u00e7\u00e3o \"Formato das Entradas de Log\".\n* **DEFAULT_TIME_FORMAT**: Especifica o formato de data e hora a ser utilizado nos logs. Consulte a se\u00e7\u00e3o \"Formata\u00e7\u00e3o de Data e Hora\" para op\u00e7\u00f5es.\n* **DEFAULT_LOG_LEVEL**: Define o n\u00edvel m\u00ednimo de log a ser gravado. Op\u00e7\u00f5es comuns incluem `DEBUG`, `INFO`, `WARNING`, `ERROR` e `CRITICAL`. Logs com n\u00edvel inferior ao definido ser\u00e3o ignorados.\n\n**Exemplo de arquivo `.env`:**\n\nDEFAULT_LOG_PATH='data/logs/[now %Y]/[now %m.%b]/[now %d.%a]/[now %H]h/log.log'\nDEFAULT_LOG_TEMPLATE='%(asctime)s [%(name)s] - %(levelname)s - %(message)s'\nDEFAULT_TIME_FORMAT='%H:%M:%S'\nDEFAULT_LOG_LEVEL='INFO'\n\n\n### 2. Formata\u00e7\u00e3o de Data e Hora\n\nO sistema permite a formata\u00e7\u00e3o din\u00e2mica de datas e horas no `DEFAULT_LOG_PATH` e dentro do `DEFAULT_LOG_TEMPLATE`, utilizando *placeholders* no formato `[now FORMATO]`.\n\n**Op\u00e7\u00f5es de Formata\u00e7\u00e3o:**\n\n* **[now]**: Data e hora atual.\n* **%a**: Nome abreviado do dia da semana (ex: Dom, Seg, Ter).\n* **%A**: Nome completo do dia da semana (ex: Domingo, Segunda-feira).\n* **%w**: Dia da semana como n\u00famero (0 = Domingo, 6 = S\u00e1bado).\n* **%d**: Dia do m\u00eas (01 a 31).\n* **%-d**: Dia do m\u00eas (1 a 31).\n* **%b**: Nome abreviado do m\u00eas (ex: Jan, Fev, Mar).\n* **%B**: Nome completo do m\u00eas (ex: Janeiro, Fevereiro, Mar\u00e7o).\n* **%m**: M\u00eas como n\u00famero (01 a 12).\n* **%-m**: M\u00eas como n\u00famero (1 a 12).\n* **%y**: Ano sem s\u00e9culo (00 a 99).\n* **%-y**: Ano sem s\u00e9culo (0 a 99).\n* **%Y**: Ano com s\u00e9culo (ex: 2024).\n* **%H**: Hora (00 a 23).\n* **%-H**: Hora (0 a 23).\n* **%I**: Hora em formato 12 horas (01 a 12).\n* **%-I**: Hora em formato 12 horas (1 a 12).\n* **%p**: AM ou PM.\n* **%x**: Data no formato local.\n* **%c**: Data e hora no formato local.\n\n**Exemplos:**\n\n* `[now %d.%a]` = `01.Seg`\n* `[now %d]` = `01`\n* `[now %-d]` = `1`\n* `[now %m]` = `01`\n* `[now %b]` = `Jan`\n* `[now %B]` = `Janeiro`\n* `[now %m.%b]` = `01.Jan`\n* `[now %y]` = `24`\n* `[now %Y]` = `2024`\n* `[now %d de %B de %Y]` = `01 de Janeiro de 2024`\n\n### 3. Formato das Entradas de Log\n\nA vari\u00e1vel `DEFAULT_LOG_TEMPLATE` permite personalizar o formato de cada linha de log. Utilize as seguintes vari\u00e1veis dentro do template:\n\n* `%(asctime)s`: Data e hora da ocorr\u00eancia do log.\n* `%(name)s`: Nome do logger.\n* `%(levelname)s`: N\u00edvel do log (ex: DEBUG, INFO, ERROR).\n* `%(message)s`: Mensagem de log.\n\n**Exemplo:**\n\n`DEFAULT_LOG_TEMPLATE='%(asctime)s [%(name)s] - %(levelname)s - %(message)s'`\n\n### 4. Cria\u00e7\u00e3o do Caminho do Log\n\nAo definir o `DEFAULT_LOG_PATH`, certifique-se de que o caminho seja v\u00e1lido e n\u00e3o contenha caracteres especiais (espa\u00e7os, barras, etc.). O sistema substituir\u00e1 automaticamente espa\u00e7os por underscores (`_`).\n\n**Exemplo:**\n\ndata/logs/[now %Y]/[now %m.%b]/[now %d.%a]/[now %H]h/log.log\n\n\nresultaria em um caminho como:\n\ndata/logs/2024/01.Jan/01.Seg/10h/log.log\n\n\nLembre-se de que o sistema criar\u00e1 os diret\u00f3rios automaticamente, caso eles n\u00e3o existam. Se o caminho definido for inv\u00e1lido, o sistema poder\u00e1 apresentar erros.\n\nEste guia detalhado oferece uma vis\u00e3o completa das op\u00e7\u00f5es de configura\u00e7\u00e3o do sistema de logs, permitindo que voc\u00ea personalize-o de acordo com suas necessidades.",
"bugtrack_url": null,
"license": null,
"summary": null,
"version": "0.1.3",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bd0af35c589448f0b1b72705ad2567355408b5904b9e0624284f4d99143cc08d",
"md5": "533a756f621ed7855fe9148a20152632",
"sha256": "ffc78b413ea8f86e0dda7ab5244b5e94ee1e7815bc96d28961b69d9af6433dbc"
},
"downloads": -1,
"filename": "dmt_logger-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "533a756f621ed7855fe9148a20152632",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 6387,
"upload_time": "2025-02-10T13:32:56",
"upload_time_iso_8601": "2025-02-10T13:32:56.235627Z",
"url": "https://files.pythonhosted.org/packages/bd/0a/f35c589448f0b1b72705ad2567355408b5904b9e0624284f4d99143cc08d/dmt_logger-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bd4851b41beb59592fd0423cf45217d7b29025d8267941e6da783d5cd8501418",
"md5": "014ed512dd77adb199434eae41a7d7ed",
"sha256": "ad1b29ce10f6c16c4b09613e8b380c81b7bcad11f389c1da08f81adbd4fe0f36"
},
"downloads": -1,
"filename": "dmt_logger-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "014ed512dd77adb199434eae41a7d7ed",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 5117,
"upload_time": "2025-02-10T13:32:57",
"upload_time_iso_8601": "2025-02-10T13:32:57.344775Z",
"url": "https://files.pythonhosted.org/packages/bd/48/51b41beb59592fd0423cf45217d7b29025d8267941e6da783d5cd8501418/dmt_logger-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-10 13:32:57",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "dmt-logger"
}