dmt-logger


Namedmt-logger JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2025-02-10 13:32:57
maintainerNone
docs_urlNone
authorDaniel
requires_python>=3.10
licenseNone
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"
}
        
Elapsed time: 1.22026s