当前位置: 首页 > 知识库问答 >
问题:

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

穆修杰
2023-03-14

我是log4j的新手。我正在将一个应用程序从log4j1.2转换为log4j2。在log4j中。我发现的属性文件有以下配置。

#############################################################
#      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配置?

谢谢

共有1个答案

滑弘扬
2023-03-14

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

该类是org。阿帕奇。log4j。配置。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文件中,并将其放在应用程序的类路径中。

 类似资料:
  • 最近,我决定学习如何使用log4j2记录器。我下载了所需的jar文件,创建了库,xml编译文件,并尝试使用它。不幸的是,我在console(Eclipse)中得到了这样的语句: 这是我的测试类代码: 和我的xml配置文件: 我还尝试使用不带标记的xml,以及包规范和各种文件夹/包目录,但没有帮助。现在我的文件直接位于Eclipse的project文件夹中。

  • 我们希望将所有java应用程序日志集中在Graylog服务器上。我们使用apache tomcat作为容器,使用log4j作为日志框架。log4j2.xml 伐木工人 日志详细信息 正如你们所见,我的应用程序与gray log server创建了一个套接字连接。但是我们在灰色日志服务器上没有看到任何日志 版本:tomcat-9.0.16.0 jdk-1.8.0_201-b09(64位) log4j

  • 我正在将我的应用程序从Log4J1.2迁移到Log4J2-2.8.1版本。下面是log4j.properties文件中现有的1.x配置。

  • 我正在寻找一个内置的UDF来转换字符串列的值为整数在我的配置单元表排序使用选择和排序。我在语言手册上查了一下,但没有用。任何其他建议也欢迎。

  • 我有一个Java应用程序,它通过cron作业(java-jar...)每小时运行几分钟。它在自己的JVM中运行,而不是像Tomcat那样在连续运行的环境中运行。我正在使用log4j2.11进行日志记录。在应用程序中,我有一个具有特定翻转要求的特定记录器: null 我不能监视简单名为“rolling.log”的文件(因为它不存在),而必须使用文件名的特定日期版本。 我无法使用log4j对翻转功能的

  • 你能帮我找出配置中缺少的步骤吗? 我正试图将logger添加到我非常简单的web应用程序中:为了做到这一点,我使用了log4j2 (beta9)。 我写下了我的<code>log4j2.xml<code>如下 我把它放在WEB-INF文件夹里。 然后,我有一个简单的servlet,它执行以下操作 正如你所看到的,这只是一个尝试,看看是否如预期的那样工作,但它没有。通过阅读此处的web app,我不