Log4j配置问题 - log4j:WARN请正确初始化log4j系统

时间:2014-03-27 12:28:19

标签: java logging log4j environment

我收到了错误:

log4j:WARN No appenders could be found for logger (java.lang.Class).
log4j:WARN Please initialize the log4j system properly.

我已经通过很多线程和论坛修复了上述错误,但无法找到问题的解决方案。

问题:我的要求指定我们为每个环境使用以下文件名。

log.dev
log.local
log.test

如何配置我的应用程序以检测这些日志文件?

1 个答案:

答案 0 :(得分:1)

必须正确配置<4> log4j才能记录到文件。

试试这个:

Logger logger = Logger.getLogger(yourclassname.class);
BasicConfigurator.configure(); // basic log4j configuration
Logger.getRootLogger().setLevel(Level.INFO);  
FileAppender fileAppender = null;
try {
  fileAppender =
      new RollingFileAppender(new PatternLayout("%d{dd-MM-yyyy HH:mm:ss} %C %L %-5p:%m%n"),"file.log"); 
  logger.addAppender(fileAppender);  
} catch (IOException e) {
  e.printStackTrace();
}

logger.info("TEST LOG ENTRY");

这应该在本地文件夹中创建一个名为file.log的日志文件。 根据需要使用java程序和逻辑删除Apache函数和addAppender来切换文件。

或者,如果在整个程序中动态需要切换,则可以使用一个fileAppender创建多个记录器实例。

这种使用log4j的方法避免了对外部配置文件log4j.properties的需要。