log4j类别

Nun*_*ado 4 java logging log4j

我在log4j.properties上有以下内容

log4j.rootLogger = debug, stdout, fileLog

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.fileLog = org.apache.log4j.RollingFileAppender
log4j.appender.fileLog.File = C:/logs/services.log
log4j.appender.fileLog.MaxFileSize = 256MB
log4j.appender.fileLog.MaxBackupIndex = 32
#Category: ConsultaDados
log4j.category.ConsultaDados=ConsultaDados
log4j.appender.ConsultaDados=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ConsultaDados.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsultaDados.layout.ConversionPattern={%t} %d - [%p] %c: %m %n
log4j.appender.ConsultaDados.file=C:/logs/consulta.log
log4j.appender.ConsultaDados.DatePattern='.' yyyy-MM-dd-HH-mm
Run Code Online (Sandbox Code Playgroud)

我用以下方法创建我的记录器:

myLogger = Logger.getLogger("ConsultaDados");
Run Code Online (Sandbox Code Playgroud)

但这并没有记录我对该文件的调用.他们被扔进了rootLogger

有任何想法吗?

adr*_*rau 10

首先,您的类别未映射到appender,第二个ConsultaDadosEORI与任何类别都不匹配.

这是一个示例:

log4j.appender.YOUR_APPENDER=org.apache.log4j.RollingFileAppender
log4j.appender.YOUR_APPENDER.File=${SYSTEM_PROPEY_WITH_LOGGER_FOLDER}/log_file.log
log4j.appender.YOUR_APPENDER.Append=true
log4j.appender.YOUR_APPENDER.MaxFileSize=20MB
log4j.appender.YOUR_APPENDER.MaxBackupIndex=2
log4j.appender.YOUR_APPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.YOUR_APPENDER.layout.ConversionPattern=%d [%t] %p %c - %m %n
log4j.category.**YOUR_PACKAGE**=**INFO,YOUR_APPENDER** 
log4j.additivity.**YOUR_PACKAGE**=true or false
Run Code Online (Sandbox Code Playgroud)


小智 6

只是为了完成这个线程,真正的问题是类别行上的第一个值应该是日志级别。因此,正如您正确发现的那样,更改:

log4j.category.ConsultaDados=ConsultaDados

log4j.category.ConsultaDados=info,ConsultaDados

工作正常。作为仅供参考,您也可以将行更改为

log4j.category.ConsultaDados=,ConsultaDados

这会导致您从根记录器继承日志记录级别。

  • category 已被弃用并替换为 logger。 (5认同)