Using other log4net logging levels than the usual ones

老子叫甜甜 提交于 2020-01-12 05:12:06

问题


I've realised that there is more levels than all, debug, info, warn, error and fatal, they are listed in the log4net.Core.Level class.

But how can I use them? I mean, in the ILog interface you have methods to use the usual ones, but what if you want to use "Fine" or "Emergency", etc?

Cheers.


回答1:


In the following example Log is of type ILog.

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

For each level you check their Value in order to know when they are disabled.

For log4net version 1.2.10.0 you have the following levels and associated cut off values:

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

Note that some levels share the same values so disabling one of them will also disable the other, like for example TRACE and FINER.




回答2:


To extend on the good answer already provided:

You can also add the following extension method:

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

Then use as:

Log.Notice("Take note!");

Where Log is of type ILog



来源:https://stackoverflow.com/questions/2675710/using-other-log4net-logging-levels-than-the-usual-ones

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!