【发布时间】:2013-07-30 03:37:51
【问题描述】:
我有一个我正在尝试使用的网络应用程序。我的网络应用程序中有不同的服务。每个都提供独特的功能,但访问相同的数据库。每个服务都与数据库通信,添加或更新内容,GUI 显示输出。 我正在使用 Spring、maven 并使用 mybatis 进行 SQL 映射。我将所有内容打包成一个战争文件并将其部署到 Tomcat 上。
我希望网络应用程序的每个组件都记录它执行的 SQL 查询。我使用 log4j 作为日志引擎。如何让每个组件使用不同的 log4j 配置? jdbcdslog 可以帮我存储一些与查询相关的元数据吗?
基本上我想将数据记录到每个组件的单独日志文件中。 log4j 只选择它从组件加载的最后一个配置文件。所有其他配置都没有用。所以我试图找到一种方法来分离出每个组件的日志数据。
Web-App
Component1
Component2
Component3
Component4
【问题讨论】:
-
你直接调用Log4J吗?还是mybatis为你做的?
-
您好 Thilo,在我的应用程序中,MyBatis 不会将调用委托给 Log4j。我正在使用 jdbcdslog 来记录 SQL,它使用 slf4j 和 Log4j 作为日志引擎。我没有发现 Mybatis 是一个合适的选项,因为我想要纯 SQL 查询,我可以复制粘贴并直接对数据库使用它,并查找填充的值。 MyBatis 确实向我显示了已执行的查询,但这些查询不能直接使用。