我有一个网络应用程序,我正试图与之合作。我的网络应用程序有不同的服务。每个函数都提供了唯一的函数,但都访问相同的数据库。每个服务与数据库通信,添加或更新内容,GUI显示输出。我正在使用Spring、maven,并使用mybatis进行SQL映射。我正在将所有内容打包到一个war文件中,并将其部署到Tomcat上。
我希望web应用程序的每个组件都记录它执行的SQL查询。我使用log4j作为日志引擎。如何使每个组件使用不同的log4j配置?jdbcdslog能帮助我存储一些与查询相关的元数据吗?
基本上,我希望每个组件将数据记录到单独的日志文件中。log4j只从组件中获取它加载的最后一个配置文件。所有其他配置都失效了。因此,我试图找到一种方法来分离每个组件的日志数据。
Web-App
Component1
Component2
Component3
Component4
发布于 2013-07-30 03:42:48
您需要为每个服务包定义一个不同的log4j附录。下面是如何在log4j.xml中做到这一点:
Appender1
<category name="com.test.project.Component1" additivity="true">
<priority value="DEBUG"/>
<appender-ref ref="LOG1"/>
</category>
Appender2
<category name="com.test.project.Component2" additivity="true">
<priority value="TRACE"/>
<appender-ref ref="LOG2"/>
</category>
如果您对log4j使用属性文件配置,则可以对属性文件使用相同的方法。
https://stackoverflow.com/questions/17937900
复制相似问题