Как я настраиваю log4net так, чтобы журнал. IsDebugEnabled верен?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

28
задан Philipp M 15 October 2013 в 12:57
поделиться

2 ответа

Прежде, чем назвать LogManager. GetLogger ("")

необходимо назвать log4net. Конфигурация. XmlConfigurator. Настройте (); В приложении ASP.NET Вы, вероятно, хотите поместить этот вызов в Application_Start

43
ответ дан Anson Smith 28 November 2019 в 02:34
поделиться

Да, сделайте это как Anson сказало. Кроме того, если Вы звоните, Настраивают в библиотеке классов, можно сделать это путем добавления атрибута к классу:

[assembly: XmlConfigurator(Watch = true)]

и если Вы используете log4net.config файл, используйте его как этот вместо этого:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
25
ответ дан Ofer Zelig 28 November 2019 в 02:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: