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



我得到了错误:

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

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

必须正确配置log4j以记录文件。

try this:

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程序和逻辑来移除appender和addAppender来切换文件。

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

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

最新更新