我只是想知道爲什麼log4Net中沒有trace level。這個級別似乎缺失了,有時我覺得需要使用它,例如輸出在應用程序中正在執行的事件。此功能是part of log4J。爲什麼log4Net中沒有跟蹤級別?
我知道我可以創建一個自定義關卡,就像談到here一樣,但是我不想把時間和精力放在我認爲應該成爲圖書館本身的一部分的東西上。
你知道一個log4net擴展庫,它實現了這個或爲什麼這不是.net端口的一部分嗎?
我只是想知道爲什麼log4Net中沒有trace level。這個級別似乎缺失了,有時我覺得需要使用它,例如輸出在應用程序中正在執行的事件。此功能是part of log4J。爲什麼log4Net中沒有跟蹤級別?
我知道我可以創建一個自定義關卡,就像談到here一樣,但是我不想把時間和精力放在我認爲應該成爲圖書館本身的一部分的東西上。
你知道一個log4net擴展庫,它實現了這個或爲什麼這不是.net端口的一部分嗎?
有是在log4net.Core.Level類http://logging.apache.org/log4net/release/sdk/html/F_log4net_Core_Level_Trace.htm
您可以使用擴展方法將詳細信息(或跟蹤級別)添加到log4net。這是我使用的是什麼:
public static class ILogExtentions
{
private static readonly log4net.ILog log =
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static void Trace(this ILog log, string message, Exception exception)
{
log.Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType,
log4net.Core.Level.Trace, message, exception);
}
public static void Trace(this ILog log, string message)
{
log.Trace(message, null);
}
public static void Verbose(this ILog log, string message, Exception exception)
{
log.Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType,
log4net.Core.Level.Verbose, message, exception);
}
public static void Verbose(this ILog log, string message)
{
log.Verbose(message, null);
}
}
用例:
public class ClientDAO
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(ClientDAO));
public void GetClientByCode()
{
log.Trace("your verbose message here");
//....
}
}
來源:
http://www.matthewlowrance.com/post/2010/07/14/Logging-to-Trace-Verbose-etc-with-log4net.aspx
404!破碎的URL – percebus 2016-03-04 03:12:37