Создать log4j файлы журнала для процесса

1

Я использую log4j2 и имею свою конфигурацию в log4j2.xml (в пути к классам, поэтому он автоматически настроен)

В этом конкретном случае я хочу создать отдельные файлы журналов для каждого процесса.

У меня есть структура с несколькими пакетами и несколькими классами. У всех есть такие утверждения, как:

Logger logger = LogManager.getLogger(getClass());

Допустим, у меня теперь есть три процесса A, B и C. Как настроить log4j для получения трех выходных файлов A.log, B.log и C.log и включить вызовы журналов, сделанные в классах framework?

Я также хочу иметь возможность записывать отдельные пакеты/классы в другие приложения для журналов, если мне нужно отлаживать и т.д., Поэтому я бы предпочел сохранить аргумент getClass(), упомянутый выше.

Все идеи приветствуются!

  • 0
    проверьте stackoverflow.com/questions/11984414/…
  • 0
    На самом деле я видел этот ответ, но не до конца его понял. Что происходит, например, если свойство не определено?
Показать ещё 2 комментария
Теги:
logging
log4j
log4j2

2 ответа

0

Вы можете добавить нужное имя во время создания процесса, добавив аргумент виртуальной машине Java. например:

java -Dcustom.log.name=/tmp/logs/A.log ... ...

Таким образом, вы можете использовать его:

<File name="Application" fileName="${custom.log.name}">

Подробнее см. В руководстве пользователя Apache Log4j 2 [ PDF ].

0

Дайте каждому процессу собственный файл конфигурации. Укажите различные пути в этих конфигурациях.

Вы можете указать полный путь к файлу конфигурации с помощью этого системного свойства: -Dlog4j.configurationFile=path/to/log4j2.xml

Ещё вопросы

Сообщество Overcoder
Наверх
Меню