SLF4J拥有单个方法的记录器

时间:2015-07-30 12:40:59

标签: java logging log4j slf4j

我的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 个答案:

答案 0 :(得分:0)

您可以为特定方法创建自定义记录器,并在方法中仅使用该记录器:

Logger customLogger = Logger.getLogger("customLoggerName");

然后,如果您想控制特定记录器的日志级别,您可以为 customLoggerName 执行此操作,因为您可以控制所有其他记录器(即。而不是包名称的前缀)。

您也可以参考此处提供的答案: Log4J: Strategies for creating Logger instances