Использование других уровней регистрации log4net, чем обычные - PullRequest
9 голосов
/ 20 апреля 2010

Я понял, что уровней больше, чем все: отладка, информация, предупреждение, ошибка и фатальный, они перечислены в классе log4net.Core.Level.

Но как я могу их использовать? Я имею в виду, что в интерфейсе ILog у вас есть методы для использования обычных, но что, если вы хотите использовать "Fine" или "Emergency" и т. Д.

Приветствие.

Ответы [ 2 ]

20 голосов
/ 20 апреля 2010

В следующем примере Log имеет тип ILog.

Log.Logger.Log(null, log4net.Core.Level.Emergency, "Help!", null);

Для каждого уровня вы проверяете их Value, чтобы узнать, когда они отключены.

Для log4net версии 1.2.10.0 у вас есть следующие уровни и соответствующие значения отсечения:

OFF: 2147483647
EMERGENCY: 120000
FATAL: 110000
ALERT: 100000
CRITICAL: 90000
SEVERE: 80000
ERROR: 70000
WARN: 60000
NOTICE: 50000
INFO: 40000
DEBUG: 30000
FINE: 30000
TRACE: 20000
FINER: 20000
VERBOSE: 10000
FINEST: 10000
ALL: -2147483648

Обратите внимание, что некоторые уровни имеют одинаковые значения, поэтому отключение одного из них также отключит другой, как, например, TRACE и FINER.

4 голосов
/ 12 января 2014

Продлить на уже предоставленный хороший ответ:

Вы также можете добавить следующий метод расширения:

 static public void Notice( this ILog log, object message )
 { 
     log.Logger.Log( null, log4net.Core.Level.Notice, message, null);
 }

Тогда используйте как:

Log.Notice("Take note!");

Где Log имеет тип ILog

...