2010-04-20 89 views
7

我意识到有更多的级别比所有,调试,信息,警告,错误和致命的,他们在log4net.Core.Level类中列出。使用其他log4net日志级别比通常的日志级别

但我该如何使用它们?我的意思是,在ILog界面中,您可以使用常用的方法,但是如果您想使用“精细”或“紧急”等?

干杯。

回答

16

在以下示例中,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。

您还可以添加以下的扩展方法:

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

然后为使用:

+0

我一定是失明或者什么的,我没有看到那个属性哈哈。 我可以在配置文件中使用这些级别吗? 干杯。 – vtortola 2010-04-20 14:45:21

+2

@vtortola,是的,你可以在配置中使用这些级别。 – 2010-04-20 14:59:26

+0

真棒谢谢你 – vtortola 2010-04-20 15:07:18

2

要在已经提供的很好的答案延长

Log.Notice("Take note!"); 

其中log是类型的ILog