несколько вопросов конфигурации log4j - PullRequest
0 голосов
/ 28 марта 2012

Я работаю над проектом, и мы хотим обработать нашу регистрацию с помощью log4j.Я сталкиваюсь с некоторыми проблемами, которые я не могу легко разрешить, просматривая документы log4j или другую документацию в Интернете.

Я получаю основную идею размещения кода регистрации по всей базе кода, а затем с помощью файла свойств сортировать зарегистрированные данные в иерархию дополнений и как записывать в файл.Все в порядке.По сути, это позволяет мне создавать файлы журнала с возможностью поиска в одной жестко заданной папке, например:

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

Но у меня есть два основных вопроса: я хочу, чтобы местоположение журнала было динамичным, например:

log4j.appender.R.File={$processDir}/example.log

Кроме того, каждый раз, когда пользователь запускает это приложение, создается папка с выходными файлами.Я хотел бы, чтобы файл журнала был помещен туда, и я не уверен, как это сделать.

Другая проблема (хотя я думаю, что после решения первой проблемы это будет намного проще) связана с созданием отформатированного журнала, который не обязательно отражает процесс работы приложения ...например, заголовок, за которым следует список всех входных файлов, список всех выходных файлов, все встреченные предупреждения.

Я думаю, для этого я бы создал объект, который реализовал ObjectRenderer, и написал бы метод doRender, который дал мне информацию, которую я хотел.

Это звучит правильно?Спасибо!

1 Ответ

1 голос
/ 28 марта 2012

Вы можете использовать переменную с этим синтаксисом

log4j.appender.R.File=${processDir}/example.log

Вы должны определить переменные как системные свойства (es -DprocessDir = ...) или вручную (после создания папки) с помощью

System.setProperty("processDir",logDir);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...