gpt4 book ai didi

java - 单个 Web 应用程序中的 Log4j 多个配置

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:38 35 4
gpt4 key购买 nike

我有一个网络应用程序正在尝试使用。我的网络应用程序中有不同的服务。每个都提供独特的功能,但访问相同的数据库。每个服务都与数据库通信,添加或更新内容,然后 GUI 显示输出。我正在使用 Spring、maven 并使用 mybatis 进行 SQL 映射。我将所有内容打包到一个 war 文件中并将其部署到 Tomcat 上。

我希望 Web 应用程序的每个组件都记录它执行的 SQL 查询。我使用 log4j 作为日志引擎。如何让每个组件使用不同的 log4j 配置? jdbcdslog 可以帮助我存储一些与查询相关的元数据吗?

基本上我想将数据记录到每个组件的单独日志文件中。 log4j 仅选取它从组件加载的最后一个配置文件。所有其他配置都毫无用处。所以我试图找到一种方法来分离每个组件的日志数据。

    Web-App
Component1
Component2
Component3
Component4

最佳答案

您需要为每个服务包定义不同的 log4j 附加程序。以下是如何在 log4j.xml 中执行此操作:

附加器1

<category name="com.test.project.Component1" additivity="true">
<priority value="DEBUG"/>
<appender-ref ref="LOG1"/>
</category>

附加器2

<category name="com.test.project.Component2" additivity="true">
<priority value="TRACE"/>
<appender-ref ref="LOG2"/>
</category>

如果您使用 log4j 的属性文件配置,则可以对属性文件使用相同的方法。

关于java - 单个 Web 应用程序中的 Log4j 多个配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937900/

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