【问题标题】:Log4j configuration for multiple loggers多个记录器的 Log4j 配置
【发布时间】:2013-12-03 13:22:18
【问题描述】:

我在服务器和服务器中部署的应用程序中有一个 log4j.properties 文件。要求是为应用程序创建单独的记录器 我在我的应用程序中定义了这个

# Root logger option
log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/opt/ibm/WebSphere/AppServer/profiles/MDMServer/logs/damcoLoging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

   #logging for jbpm
log4j.logger.jbpmLogger=INFO, jbpmLogger
log4j.appender.jbpmLogger=org.apache.log4j.RollingFileAppender
log4j.appender.jbpmLogger.maxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.jbpmLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.jbpmLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.jbpmLogger.File=/opt/ibm/WebSphere/AppServer/profiles/MDMServer/logs/jbpmLogging.log
log4j.additivity.jbpmLogger=false

在我的 java 类中,我已为辅助记录器完成此操作

 Logger logger=Logger.getLogger("jbpmLogger");

现在日志正在正确生成。但是对于辅助记录器,我也想设置类名。这样我就可以知道日志是从哪个类生成的。 目前辅助记录器的日志如下所示

INFO  jbpmLogger:8 - Hi

是否也可以设置类名?

【问题讨论】:

    标签: log4j


    【解决方案1】:

    您可以使用 %C 将类名添加到输出 Pattern,尽管文档警告说这样做很慢。这是你想要的吗?

    或者由于 onegetLogger() 方法采用字符串,如果您愿意,您可以连接该类和您的“jbpmLogger”。而且由于命名是分层的,因此仍然只在配置文件中使用您的单个记录器。例如

    Logger logger = getLogger("jbpmLogger." + this.getClass().getName());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 2018-02-26
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多