我收到了错误:
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
如何配置我的应用程序以检测这些日志文件?
答案 0 :(得分:1)
试试这个:
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的需要。