我的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
提前致谢
答案 0 :(得分:0)
您可以为特定方法创建自定义记录器,并在方法中仅使用该记录器:
Logger customLogger = Logger.getLogger("customLoggerName");
然后,如果您想控制特定记录器的日志级别,您可以为 customLoggerName 执行此操作,因为您可以控制所有其他记录器(即。而不是包名称的前缀)。
您也可以参考此处提供的答案: Log4J: Strategies for creating Logger instances