У нас есть платформа, которая использует Log4J для записи журналов для отдельных заданий, выполняемых на нашей платформе. Мы делаем это, создавая новый регистратор для каждого задания:
Код: Выделить всё
logger = Logger.getLogger(getClass().getPackage().getName() + '.' + name + '.' + dateTime);
Однако на странице «Использование» в руководстве Log4J2 указано, что в Log4J2 объекты Logger никогда не уничтожаются до тех пор, пока приложение не будет закрыто. Означает ли это (как я подозреваю), что наш текущий код создаст большую утечку памяти в Log4J2, и есть ли лучший способ записать журналы временного объекта в отдельный файл в Log4J2?
Я пытаюсь определить, как выполнить эту работу. На данный момент моя лучшая идея — написать собственный Appender, который записывает в разные файлы на основе информации из LogEvent, но это не кажется правильным способом сделать это.
Подробнее здесь:
https://stackoverflow.com/questions/787 ... individual