我有一个包含多个“控制器”的应用程序,我希望每个控制器都记录到自己的文件中。对于他们自己的代码来说,这很容易实现,但我还使用了一些使用commons logging 的库代码。我能否让该代码也记录到特定于控制器的文件中?
我想通过线程来实现这种方式:
我想通过线程来实现这种方式:
class Controller {
public void action() {
setCurrentThreadLogFile(myLogFile);
try {
Library.stuff();
} finally {
restoreCurrentThreadLogFile();
}
}
}
目前我也在使用commons-logging进行日志记录,使用log4j作为后端。但如果需要的话,我可以更改这个设置或者混合使用(如果在commons logging框架内是可行的)。
我可以通过编写自己的commons logging实现(可能是一个log4j的包装器)来实现这一点,但是否存在现有的解决方案呢?