2013-09-03 3 views
3

Привет, я натолкнулся на некоторый код, который использует log4j. Я хочу перейти на log4j2. От http://logging.apache.org/log4j/2.x/manual/migration.html Я пришел к тому, что log4j-1.2-api.jar можно использовать. У меня следующий вопрос:Перемещение с log4j 1.x в log4j2

  1. В коде у меня есть пользовательский Appender (как указано в этой связи я не должен использовать внутренностей класса Appender) является то, что означает, что я не могу использовать log4j-1.2-api.jar?

  2. Я также хочу использовать функцию asyn logging log4j2. Как это сделать, используя log4j-1.2-api.jar.

ответ

2

Существует руководство по миграции. Я использовал его успешно.

http://logging.apache.org/log4j/2.x/manual/migration.html

В log4j2 все это cofigured с помощью XML-файла (или более XML файлов., Например, для тестовой директории). Файл должен иметь имя log4j2.xml.

+1

Возможно ли использовать файл .properties? –

3
  1. Ваш пользовательский appender может больше не работать. Log4j2 обладает большой функциональностью, и в зависимости от того, что сделал ваш пользовательский приложение, возможно, эта функция уже существует в log4j2. Вы можете задать один из списков рассылки, и если это функция, которая может быть полезна для многих пользователей, она может быть добавлена ​​в log4j2.
  2. Чтобы использовать асинхронные регистраторы, вы можете сделать все асинхронные журналы с системным свойством (http://logging.apache.org/log4j/2.x/manual/async.html#AllAsync) или использовать синхронные и асинхронные журналы с конфигурацией (http://logging.apache.org/log4j/2.x/manual/async.html#MixedSync-Async). Оба должны работать, когда вы заходите в банку log4j-1.2-api (в дополнение к ящикам log4j-api и log4j-core, эти две банки всегда нужны).