2010-04-20 88 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