当前位置: 代码迷 >> java >> SLF4J自己的记录器仅用一种方法
  详细解决方案

SLF4J自己的记录器仅用一种方法

热度:133   发布时间:2023-07-17 20:40:04.0

我的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

提前致谢

您可以为您的特定方法创建一个自定义记录器,并且只能在方法内部使用该记录器:

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

然后,如果您想控制该特定记录器的日志级别,则可以对customLoggerName进行此操作, 同时控制所有其他记录器(即,而不是程序包名称的前缀)。

您也可以参考此处提供的答案:

  相关解决方案