Módulo Log
O módulo log fornece funções de logging para scripts Lua, permitindo registro de mensagens com diferentes níveis de severidade. Este módulo é útil para debugging, monitoramento e auditoria de scripts em produção.
Características principais:
-
5 níveis de log: debug, info, warn, error
-
Identificação por contexto de execução
-
Formatação automática de valores Lua
-
Suporte a múltiplos argumentos com separação por tabulação na saída
Funções Disponíveis
Seção intitulada “Funções Disponíveis”1. log.set_ident(identificador)
Seção intitulada “1. log.set_ident(identificador)”Define um identificador para os logs gerados pelo script atual.
Parâmetros:
Seção intitulada “Parâmetros:”- identificador (string): Identificador único para o contexto de execução
Retorno:
Seção intitulada “Retorno:”- nil: A função não retorna valor
Comportamento:
Seção intitulada “Comportamento:”-
O identificador é armazenado internamente e persiste durante toda a execução do script
-
Todas as mensagens de log subsequentes incluirão este identificador
-
Útil para distinguir logs de diferentes scripts ou instâncias
Exemplo de Uso:
Seção intitulada “Exemplo de Uso:”-- Definir identificador para um script específicolog.set_ident("monitoramento-cpu")
-- Agora todos os logs incluirão "[monitoramento-cpu]"log.info("Iniciando monitoramento")-- Saída: [lua] [monitoramento-cpu] Iniciando monitoramento
-- Em outro script ou contextolog.set_ident("backup-automatico")log.info("Iniciando backup")-- Saída: [lua] [backup-automatico] Iniciando backup2. log.debug(...)
Seção intitulada “2. log.debug(...)”Registra mensagens de nível DEBUG para informações detalhadas de debugging.
Parâmetros:
Seção intitulada “Parâmetros:”- … (múltiplos valores): Valores a serem registrados, separados por tabulação
Retorno:
Seção intitulada “Retorno:”- nil: A função não retorna valor
Exemplo de Uso:
Seção intitulada “Exemplo de Uso:”-- Log de valores de variáveis para debugginglocal temperatura = 45.6local uso_memoria = 78.3log.debug("Variáveis de sistema:", "Temp:", temperatura, "Mem:", uso_memoria)-- Saída: [lua] [ident] Variáveis de sistema: Temp: 45.6 Mem: 78.3
-- Debug de fluxo de execuçãolog.debug("Entrando na função processar_dados")log.debug("Parâmetros recebidos:", parametros)log.debug("Configuração atual:", config)
-- Debug de estruturas complexaslocal dados = { usuario = "admin", acao = "login", timestamp = os.time()}log.debug("Dados da requisição:", dados)3. log.info(...)
Seção intitulada “3. log.info(...)”Registra mensagens de nível INFO para informações gerais sobre a execução.
Parâmetros:
Seção intitulada “Parâmetros:”- … (múltiplos valores): Valores a serem registrados, separados por tabulação
Retorno:
Seção intitulada “Retorno:”- nil: A função não retorna valor
4. log.warn(...)
Seção intitulada “4. log.warn(...)”Registra mensagens de nível WARN para situações que requerem atenção mas não são erros.
Parâmetros:
Seção intitulada “Parâmetros:”- … (múltiplos valores): Valores a serem registrados, separados por tabulação
Retorno:
Seção intitulada “Retorno:”- nil: A função não retorna valor
5. log.error(...)
Seção intitulada “5. log.error(...)”Registra mensagens de nível ERROR para situações de erro que requerem intervenção.
Parâmetros:
Seção intitulada “Parâmetros:”- … (múltiplos valores): Valores a serem registrados, separados por tabulação
Retorno:
Seção intitulada “Retorno:”- nil: A função não retorna valor