gpt4 book ai didi

java - log4j2 配置 XML 文件,用于 2 个日志文件,每次运行都有新文件夹

转载 作者:行者123 更新时间:2023-11-29 05:12:02 25 4
gpt4 key购买 nike

我对 log4j2 有点陌生。我正在寻找如何为我们的测试自动化框架配置 log4j2.xml 文件。我们想要的是两个日志文件。一种是非技术性的,另一种具有所有技术细节,例如堆栈跟踪信息。这意味着将 INFO 和 ERROR 消息定向到一个文件。所有消息都将指向另一个文件。因此,一个文件将包含另一个文件所做的一切,甚至更多。

我们希望的另一件事是,每次我们运行测试时,它都会在带有时间戳的文件夹中创建一组新日志。

例如

目录结构

  • Application Name
    • 2015-12-02 16:52:30
      • logTechnical.log (ALL logs)
      • logSimple.log (INFO and ERROR)
    • 2015-12-02 16:52:30
      • logTechnical.log (ALL logs)
      • logSimple.log (INFO and ERROR)

如果可能的话,在 log4j 中做另一件事。我认为可能需要批处理文件或自定义代码。但是如果我们让它只保留 5 个最新的日志,那么服务器就不会变得困惑。我们不想为此使用滚动日志文件。谢谢您的帮助。

最佳答案

以下配置创建目录和文件,但不删除旧目录:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<File name="Simple"
fileName="app/${date:yyyy-MM-dd HHmmss}/logSimple.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
<Filters>
<ThresholdFilter level="fatal" onMatch="DENY" onMismatch="NEUTRAL" />
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="NEUTRAL" />
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL" />
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY" />
</Filters>
</File>
<File name="Technical"
fileName="app/${date:yyyy-MM-dd HHmmss}/logTechnical.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</File>
</Appenders>
<Loggers>
<Root level="all">
<AppenderRef ref="Simple" />
<AppenderRef ref="Technical" />
</Root>
</Loggers>
</Configuration>

关于java - log4j2 配置 XML 文件,用于 2 个日志文件,每次运行都有新文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28092029/

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