Пустая реализация PropertyConfigurator в log4j-1.2-api - PullRequest
0 голосов
/ 28 мая 2020

Я обновляю Log4j-1.2.17 до Log4j2-2.12.2 в своем проекте. Для этого я использую мост log4j-1.2. В старой версии я использую файл свойств для настройки log4j.

  1. После обновления все выглядит нормально, ошибок нет, предупреждений нет. Но журналы не отображаются в файле, указанном в файле свойств. Я понял, что PropertyConfigurator.class существует в log4j-1.2-api.jar, но методы не имеют реализации. пустой PropertyConfigurator.configure (Свойства свойств) Вы можете мне это объяснить?

  2. Какой синтаксис конфигурации правильный, когда я использую log4j-1.2-api.jar? log4j или log4j2?

1 Ответ

0 голосов
/ 29 мая 2020

До Log4j 2.13.0 log4j-1.2-api обеспечивает совместимость только с приложениями, которые использовали log4j 1.x API для ведения журнала. Конфигурация Log4j 2 по-прежнему используется, поскольку все вызовы журналирования перенаправляются на Log4j 2. Таким образом, будет допустим только синтаксис конфигурации Log4j 2.

Многие из старых внутренних классов log4j 1.x также присутствуют, потому что многие приложения использовали их в попытке вручную управлять журналированием, большая часть которого, вероятно, не нужна для Log4j 2.

В Log4j 2.13.0 log4j-1.2-api был расширен для обеспечения экспериментальной поддержки для файлов конфигурации Log4j 1.x. Вам нужно будет сравнить ваши конфигурации log4j 1 с документацией, чтобы определить, подойдет ли вам эта поддержка. Тем не менее, Log4j 1.x PropertyConfigurator по-прежнему будет недоступен даже при поддержке совместимости.

...