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