У меня есть приложение с несколькими «контроллерами», и я бы хотел, чтобы каждый журнал имел свой собственный файл. Это достаточно просто для их собственного кода, но я также использую некоторый библиотечный код, который использует ведение журнала. Могу ли я как-нибудь заставить этот код войти в файл, относящийся к контроллеру?
Я думал, что смогу как-то сделать это по нитке:
class Controller {
public void action() {
setCurrentThreadLogFile(myLogFile);
try {
Library.stuff();
} finally {
restoreCurrentThreadLogFile();
}
}
}
В настоящее время я использую Commons-Logging для своей собственной регистрации, с log4j в качестве бэкэнда. Но я мог бы изменить это, если необходимо, или использовать микс (это возможно в рамках ведения журнала общего достояния).
Один из способов сделать это - написать свою собственную реализацию регистрации общего ресурса (возможно, обертку вокруг log4j), но существует ли решение?