gpt4 book ai didi

java - 将 log4j 1.2 配置转换为 log4j 2 配置

转载 作者:行者123 更新时间:2023-12-01 21:08:25 25 4
gpt4 key购买 nike

我是 log4j 的新手。我正在将应用程序从 log4j 1.2 转换为 log4j2。在 log4j.properties 文件中我找到了以下配置。

#############################################################
# Default Logging Configuration File
############################################################

############################################################
# Global properties
############################################################
handlers= java.util.logging.ConsoleHandler
.level= WARNING
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

# default file output is in user's home directory.
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter

# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
com.xyz.foo.level = SEVERE

如何将此配置转换为 log4j2 配置?

谢谢!

最佳答案

Log4j2 在 log4j-1.2-api 模块中有一个(实验性)转换工具。

该类是org.apache.log4j.config.Log4j1ConfigurationConverter。除了 log4j-1.2-api 模块之外,您还需要类路径上的 JCommander ( http://jcommander.org )。

<小时/>

如果您正在寻找带有控制台和文件附加程序的示例 Log4j2 配置,请尝试以下操作:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="MyFile" fileName="all.log" append="false">
<!-- alternatively use XmlLayout (requires Jackson, see documentation for dependencies) -->
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Logger name="com.xyz.foo" level="warn" />
<Root level="trace">
<AppenderRef ref="Console" level="info" />
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>

将其保存到名为 log4j2.xml 的文件中,并将其放入应用程序的类路径中。

关于java - 将 log4j 1.2 配置转换为 log4j 2 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41824206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com