Class: Logger

@nginstack/engine/lib/log/Logger~ Logger


new Logger()

Classe responsável por tratar a geração de logs do sistema. Baseada na biblioteca log4j (http://logging.apache.org/log4j/docs/). O link "http://logging.apache.org/log4j/docs/manual.html" contém uma introdução aos conceitos da biblioteca log4x. Para criar um Logger, deve ser utilizado o método de classe Logger.getLogger().

Esta classe também é publicada pelo Engine por meio da variável global Logger.

See:

Methods


<static> getLogger(category)

Cria uma instância da classe Logger para a categoria informada. Uma categoria de log possui a finalidade de agrupar e identificar um conjunto de logs, permitindo configurações como: direcionamento da saída do log (Appender), layout das informações gravadas (Layout) e a prioridade habilitada.

Parameters:
Name Type Description
category string

Indica o módulo ou processo que está gerando as informações. A categoria pode definir uma hierarquia. Exemplo: "product.module".

Returns:

Instância da classe Logger.

Type
Logger

<static> propertyConfig(config)

Configura as categorias de log. A configuração informada irá complementar a existente. Configuração padrão:

# Progress Appender
logger.appender.progress=ProgressAppender
logger.appender.progress.layout=PatternLayout
logger.appender.progress.layout.pattern=%d %.8t [%p] %c - %m %e%n
logger.appender.progress.layout.dateFormat=dd/mm/yyyy hh:nn:ss
logger.renderer.TProgressLogger=ProgressRenderer
# Default
logger.appender.default=DailyRollingFileAppender
logger.appender.default.fileName=logs\engine.log
logger.appender.default.append=true
logger.appender.default.maxBackupDays=90
logger.appender.default.layout=PatternLayout
logger.appender.default.layout.pattern=%d %.8t [%p] %c - %m %e%n
logger.appender.default.layout.dateFormat=dd/mm/yyyy hh:nn:ss
logger.rootCategory=PROGRESS,default,progress
# HTTP Access Log
logger.appender.httpAccess=DailyRollingFileAppender
logger.appender.httpAccess.fileName=logs\httpAccess.log
logger.appender.httpAccess.append=true
logger.appender.httpAccess.maxBackupDays=15
logger.appender.httpAccess.layout=PatternLayout
logger.appender.httpAccess.layout.pattern=%m%n
logger.category.http.access=PROGRESS,httpAccess
logger.additive.http.access=false
# Profile
logger.appender.profiler=DailyRollingFileAppender
logger.appender.profiler.fileName=logs\profiler.log
logger.appender.profiler.append=true
logger.appender.profiler.maxBackupDays=15
logger.appender.profiler.layout=PatternLayout
logger.appender.profiler.layout.pattern=%d %.8t [%p] %c - %m %e%n
logger.appender.profiler.layout.dateFormat=dd/mm/yyyy hh:nn:ss
logger.category.profiler=PROGRESS,profiler
logger.additive.profiler=false
# Ido
logger.appender.ido=DailyRollingFileAppender
logger.appender.ido.fileName=logs\ido.log
logger.appender.ido.append=true
logger.appender.ido.maxBackupDays=15
logger.appender.ido.layout=PatternLayout
logger.appender.ido.layout.pattern=%d %.8t [%p] %c - %m %e%n
logger.appender.ido.layout.dateFormat=dd/mm/yyyy hh:nn:ss
logger.category.ido=DEBUG,ido,progress
logger.additive.ido=false
# SessionManager
logger.appender.sessionManager=DailyRollingFileAppender
logger.appender.sessionManager.fileName=logs\sessionManager.log
logger.appender.sessionManager.append=true
logger.appender.sessionManager.maxBackupDays=15
logger.appender.sessionManager.layout=PatternLayout
logger.appender.sessionManager.layout.pattern=%d %.8t [%p] %c - %m %e%n
logger.appender.sessionManager.layout.dateFormat=dd/mm/yyyy hh:nn:ss
logger.category.session.manager=PROGRESS,sessionManager,progress
logger.additive.session.manager=false
# Scheduler
logger.appender.scheduler=DailyRollingFileAppender
logger.appender.scheduler.fileName=logs\scheduler.log
logger.appender.scheduler.append=true
logger.appender.scheduler.maxBackupDays=15
logger.appender.scheduler.layout=PatternLayout
logger.appender.scheduler.layout.pattern=%d %.8t [%p] %c - %m %e%n
logger.appender.scheduler.layout.dateFormat=dd/mm/yyyy hh:nn:ss
logger.category.scheduler=PROGRESS,scheduler,progress
logger.additive.scheduler=false
# Ido DBSession
logger.appender.idoDBSession=DailyRollingFileAppender
logger.appender.idoDBSession.fileName=logs\idoDBSession.log
logger.appender.idoDBSession.append=true
logger.appender.idoDBSession.maxBackupDays=15
logger.appender.idoDBSession.layout=PatternLayout
logger.appender.idoDBSession.layout.pattern=%d %.8t [%p] %c - %m %e%n
logger.appender.idoDBSession.layout.dateFormat=dd/mm/yyyy hh:nn:ss
logger.category.ido.dbsession=PROGRESS,idoDBSession,progress
logger.additive.ido.dbsession=false
# DBCache
logger.appender.dbcache=DailyRollingFileAppender
logger.appender.dbcache.fileName=logs\dbCache.log
logger.appender.dbcache.append=true
logger.appender.dbcache.maxBackupDays=15
logger.appender.dbcache.layout=PatternLayout
logger.appender.dbcache.layout.pattern=%d %.8t [%p] %c - %m %e%n
logger.appender.dbcache.layout.dateFormat=dd/mm/yyyy hh:nn:ss
logger.category.dbcache=DEBUG,dbcache,progress
logger.additive.dbcache=false
Parameters:
Name Type Description
config string

Script de configuração


debug(log [, opt_formatArgs])

Gera um log com a prioridade DEBUG. Este nível de prioridade deve ser utilizado para informações de depuração de um processo.
Normalmente esta prioridade é ignorada em um ambiente de produção.
O parâmetro log pode conter parâmetros de formatação, seguindo a conversão utilizada no C e Delphi. Os valores dos parâmetros devem ser informados após o parâmetro log.

Parameters:
Name Type Argument Description
log string

Texto a ser escrito no log.

opt_formatArgs * <optional>
<repeatable>

Argumentos esperados pela expressão de formatação indicada

Example
var Logger = require('@nginstack/engine/lib/log/Logger');
var logger = Logger.getLogger("package.ClassName")
logger.debug("Método X invocado.")
logger.debug("Método %s executado em %d milissegundos.", methodName, time)

error(log [, opt_formatArgs])

Gera um log com a prioridade ERROR. Este nível de prioridade deve ser utilizado para registrar um erro não esperado, o que impediu a execução de uma rotina ou um processo
Normalmente esta prioridade é ativada em um ambiente de produção.
O parâmetro log pode conter parâmetros de formatação, seguindo a conversão utilizada no C e Delphi. Os valores dos parâmetros devem ser informados após o parâmetro log.

Parameters:
Name Type Argument Description
log string

Texto a ser escrito no log

opt_formatArgs * <optional>
<repeatable>

Argumentos esperados pela expressão de formatação indicada em log.

Example
var Logger = require('@nginstack/engine/lib/log/Logger');
var logger = Logger.getLogger("erp.MyClass")
logger.error("Usuário %s não tem poder de aprovação.", session.userName)

fatal(log [, opt_formatArgs])

Gera um log com a prioridade FATAL. Este nível de prioridade deve ser utilizado apenas para registrar erros críticos irrecuperáveis que comprometem o funcionamento do sistema.
Normalmente, esta prioridade é ativada em um ambiente de produção.
O parâmetro log pode conter parâmetros de formatação, seguindo a conversão utilizada no C e Delphi. Os valores dos parâmetros devem ser informados após o parâmetro log. Exemplo:

Parameters:
Name Type Argument Description
log string

Texto a ser escrito no log

opt_formatArgs * <optional>
<repeatable>

Argumentos esperados pela expressão de formatação indicada em log.

Example
var Logger = require('@nginstack/engine/lib/log/Logger');
var logger = Logger.getLogger("engine.MemoryManager")
logger.fatal("Esgotamento de memória.")

info(log [, opt_formatArgs])

Gera um log com a prioridade INFO. Este nível de prioridade deve ser utilizado para informações que não requerem uma atenção imediata do administrador, como detalhes de um processamento ou dicas de performance.
Normalmente, esta prioridade é ativada em um ambiente de produção.
O parâmetro log pode conter parâmetros de formatação, seguindo a conversão utilizada no C e Delphi. Os valores dos parâmetros devem ser informados após o parâmetro log.

Parameters:
Name Type Argument Description
log string

Texto a ser escrito no log.

opt_formatArgs * <optional>
<repeatable>

Argumentos esperados pela expressão de formatação indicada em log.

Example
var Logger = require('@nginstack/engine/lib/log/Logger');
var logger = Logger.getLogger("package.ClassName")
logger.info("%d registros corrigidos pelo reprocessamento.", count)

warn(log [, opt_formatArgs])

Gera um log com a prioridade WARN. Este nível de prioridade deve ser utilizado para registrar situações que devem receber atenção do administrador, mas que não impedem a utilização do sistema.
Normalmente, esta prioridade é ativada em um ambiente de produção.
O parâmetro log pode conter parâmetros de formatação, seguindo a conversão utilizada no C e Delphi. Os valores dos parâmetros devem ser informados após o parâmetro log.

Parameters:
Name Type Argument Description
log string

Texto a ser escrito no log.

opt_formatArgs * <optional>
<repeatable>

Argumentos esperados pela expressão de formatação indicada em log.

Example
var Logger = require('@nginstack/engine/lib/log/Logger');
var logger = Logger.getLogger("engine.MemoryManager")
if (memAllocPercentual > 70) {
  logger.warn("Memória em uso atingiu %d%% da capacidade.", memAllocPercentual)
}