我正在使用Log4j2来记录JdbcTemplate SQL和值:
<Logger name="org.springframework.jdbc.core.JdbcTemplate" level="debug" additivity="false">
<AppenderRef ref="ConsoleAppender"/>
<AppenderRef ref="GlobalFileAppender"/>
</Logger>
<Logger name="org.springframework.jdbc.core.StatementCreatorUtils" level="trace" additivity="false">
<AppenderRef ref="ConsoleAppender"/>
<AppenderRef ref="GlobalFileAppender"/>
</Logger>
这会生成漂亮的日志。但是由于我正在使用JdbcTemplate和许多不同的DataSource(Sybase和Oracle),我想根据调用的位置将这些日志汇集到不同的文件中。
例如,我有两个DAO实现
foo.bar.Dao1Impl
foo.bar.Dao2Impl
来自Dao1Impl的每个JdbcTemplate调用我想登录到file1.log并从Dao2Impl调用到file2.log。
问题是,指定的记录器独立于调用JdbcTemplate的位置记录到同一个文件。