如何使用自定义log4j.properties文件进行私有日志记录?

时间:2017-04-12 23:45:52

标签: java logging log4j

我需要定期将文本消息附加到文本文件中,并且我想搭载log4j以简化生活。所以我用DailyRollingFileAppender创建了一个“mylog.properties”文件 - 没什么不寻常的 - 我把这个文件放在我的src / java / resources目录中。所以现在我已经准备好从这个文件创建一个记录器并开始使用它来记录,如下所示:

class MyClass {
    private static final Logger myLog = getLoggerConfiguredFromPropertiesFile("mylog.properties");

    public void logSomething(String message) {
      myLog.info(message);
    }    
}

那么 getLoggerConfiguredFromPropertiesFile 的逻辑是什么?

谢谢, 阿尔瓦罗

2 个答案:

答案 0 :(得分:0)

这样做的:

private static final Logger myLog = Logger.getLogger(MyClass.class)

应该完成工作。 log4j会自动查找距离班级最近的log4j.properties,如果项目中只有一个,那就是那个。另外,请调用您的文件log4j.properties,而不是mylog.properties

答案 1 :(得分:0)

我想出了一个解决方法,我正在使用常规记录器:

private static final Logger myLog = LoggerFactory.getLogger(MyClass.class);

在log4j.properties中,我配置了一个仅适用于我的类的自定义DailyRollingFileAppender,如here所述。