Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Log4j 1和2-来自两个Log4j版本的自定义附加器同时写入同一文件_Java_Logging_Log4j_Log4j2 - Fatal编程技术网

Java Log4j 1和2-来自两个Log4j版本的自定义附加器同时写入同一文件

Java Log4j 1和2-来自两个Log4j版本的自定义附加器同时写入同一文件,java,logging,log4j,log4j2,Java,Logging,Log4j,Log4j2,我想从Log4J 1.x迁移到Log4J 2,但同时我想保留Log4J以支持使用Log4J的任何外部特性(jar)。有在Log4J中编写的自定义appender,因此将使用插件根据Log4J2重新编写appender。因此,需要有两个配置文件来支持每个版本,并且两个版本的日志需要以自定义Appender中定义的相同格式写入同一文件 我发现在一个版本中可以同时将多个appender写入同一个文件,但是来自两个Log4J版本的appender是否可以同时写入同一个文件?如果是,这是一种推荐做法,如果

我想从Log4J 1.x迁移到Log4J 2,但同时我想保留Log4J以支持使用Log4J的任何外部特性(jar)。有在Log4J中编写的自定义appender,因此将使用插件根据Log4J2重新编写appender。因此,需要有两个配置文件来支持每个版本,并且两个版本的日志需要以自定义Appender中定义的相同格式写入同一文件


我发现在一个版本中可以同时将多个appender写入同一个文件,但是来自两个Log4J版本的appender是否可以同时写入同一个文件?如果是,这是一种推荐做法,如果不推荐,请建议一种替代方法。

同时使用Log4j2和Log4j 1.2(不是适配器,而是实际实现)对应用程序进行日志记录是一种不寻常的设置

将两个日志库配置为写入同一文件会增加更多风险。这可能有效,也可能无效。这当然不是这些库的设计目的

我不推荐这样的设置


最安全的做法是推迟Log4j2迁移,直到log4j1.2定制附加器被移植到Log4j2。然后对使用log4j 1.2 api的外部库使用Log4j2实现和log4j-1.2-api-2.x适配器模块

谢谢。那将是合适的。