问题描述
我的Web应用程序正确使用了slf4j,但是我有一个生成大量日志的方法,因此我希望该方法拥有自己的记录器以在单独的文件上写,或者告诉主记录器向另一个文件写。
我该怎么做?
这是我的log4j.properties:
################################################################################
#### Configurazione log root
################################################################################
log4j.rootCategory=debug, stdout, file
log4j.category.org.apache=info
log4j.category.org.hibernate=info
log4j.category.com.mchange=warn
log4j.category.org.springframework=info
################################################################################
#### Appender per console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} - %-5p - (%F:%L) - %m%n
################################################################################
#### Appender su file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=pathToLog.log
log4j.appender.file.MaxFileSize=5000KB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} - %-5p - (%F:%L) - %m%n
提前致谢
1楼
您可以为您的特定方法创建一个自定义记录器,并且只能在方法内部使用该记录器:
Logger customLogger = Logger.getLogger("customLoggerName");
然后,如果您想控制该特定记录器的日志级别,则可以对customLoggerName进行此操作, 同时控制所有其他记录器(即,而不是程序包名称的前缀)。
您也可以参考此处提供的答案: