声明
接受LoggerFactory的对org.apache.Log4j.logger.getLogger的调用必须删除org.apache.Log4j.spi.LoggerFactory并使用Log4J2的其他扩展机制之一。
log4j2中有哪些扩展机制,以及如何在log4j2中最好地迁移如下所示的方法
private static TraceLoggerFactory stTraceFactory = new TraceLoggerFactory();
public static Logger getTraceLogger(final String name) {
return getLogger(name, stTraceFactory);
}
class TraceLoggerFactory implements LoggerFactory {
@Override
public Logger makeNewLoggerInstance(final String name) {
return new TraceLogger(name);
}
}
您发布的代码没有显示接受LoggerFactory
的GetLogger
方法的用法,所以我假设您正在调用GetLogger
方法,并将TraceLoggerFactory
传递给它。
“其他扩展机制”列在扩展Log4j页面上。
至于如何最好地迁移代码,如果不了解当前自定义的目的,就不可能给出建议。例如-tracelogger
的目的是什么?
我正在从log4j1迁移。由于最近的漏洞,x到log4j2。另一个依赖项似乎引用了旧的log4j1。x文件。 除了删除旧的log4j1. x文件之外,我还添加了log4j-core、log4j-api和log4j-1.2-api所有2.16版本。我查阅了迁移的留档https://logging.apache.org/log4j/2.x/manual/migration.html,并认为最后一个ja
我们有一个使用ApacheAxis2在JBossOpenShift上运行的web服务应用程序。我们正在迁移到log4j2。然而,除了我们的应用程序日志之外,参考库的一些日志(如axis2日志)也使用log4j记录hazelcast日志。我们得出这个结论,因为他们仍然使用旧的log4。属性文件,而不是log4j2。xml文件。我们的应用程序使用log4j2。xml文件。因此将创建两个日志文件,一个用
下面的方法已经使用了一段时间,当时我正在处理的系统有log4j。现在我们正在从Log4j转移到Log4j2,我会遇到编译问题。 Log4j2 jar:log4j-api-2.12.1.jar,log4j-core-2.12.1.jar 有没有人可以提供一些帮助,以解决上述问题的正确方法是什么?
我有一个使用log4j的java应用程序,配置如下。 log4j.properties 我想使用与上面相同的配置迁移到log4j2。尚未找到任何与log4j2属性配置文件相关的内容,因为最近包含了此支持。 谁能帮我弄清楚我的log4j2怎么样。属性文件是否具有上述相同的配置?
当出现此错误时,我没有记录任何内容。log的最后一行正确显示在其相应的日志中。 2015-04-02 13:58:51正在启动消息服务... ^[[?1;2C^[[?1;2C2015-04-02 13:59:06消息服务已成功启动。
我工作的应用程序,一直使用到现在,我想迁移到。我是使用的新手,参考了,但对于某些部分,我不清楚我的中的配置应该如何。 当前文件如下所示: