任何人都知道是否有流暢的配置log4net的方式(appenders和appenders的所有屬性等)。流利的log4net配置
xml讓我瘋狂。
如果沒有,有誰知道一個體面的.Net日誌框架,可以很容易地配置流暢,並提供類似的功能log4net?
任何人都知道是否有流暢的配置log4net的方式(appenders和appenders的所有屬性等)。流利的log4net配置
xml讓我瘋狂。
如果沒有,有誰知道一個體面的.Net日誌框架,可以很容易地配置流暢,並提供類似的功能log4net?
酷炫的歡呼讓我來看看。在log4net中也找到了我想要的東西。令人討厭的是,我們已經開始使用Castle Logging Facility,它似乎只是將一個字符串轉換爲xml文件!所以可能需要考慮通過DSL來完成,並將我們的XML配置生成爲預構建步驟。
private static void ConfigureLog()
{
var root = ((Hierarchy)LogManager.GetRepository()).Root;
root.AddAppender(GetConsoleAppender());
root.AddAppender(GetFileAppender(@"d:\dev\huddle\log\Huddle.Sync", "standard.log", Level.Debug));
root.AddAppender(GetFileAppender(@"d:\dev\huddle\log\Huddle.Sync", "error.log", Level.Warn));
root.Repository.Configured = true;
}
private static FileAppender GetFileAppender(string directory, string fileName, Level threshold)
{
var appender = new FileAppender
{
Name = "File",
AppendToFile = true,
File = directory + "\\" + fileName,
Layout = new PatternLayout(_pattern),
Threshold = threshold
};
appender.ActivateOptions();
return appender;
}
private static ConsoleAppender GetConsoleAppender()
{
var appender = new ConsoleAppender
{
Name = "Console",
Layout = new PatternLayout(_pattern),
Threshold = Level.Debug
};
appender.ActivateOptions();
return appender;
}
如果您不介意依賴Microsoft的企業庫,則可以使用Logging Application Block。配置仍然使用XML,但您可以直接在Visual Studio中通過圖形界面進行編輯,
我對基於XML的log4net配置感到很痛苦。前段時間我調試它讓我感到沮喪,因爲我開始將自己的流暢API用於log4net。在github上查看fluent-log4net。並非所有事情都得到100%的支持,但它已經到了。
我會說,它確實使測試更容易查看配置。
有沒有人有關於Fluent-log4net的教程(來自這個答案)。 GitHub中的教程確實沒有提供從未使用log4net很多幫助的人。 – Phil 2012-02-19 17:33:25
因爲我已經搬到NLog爲配置位被你遇到的麻煩哪位這個原因
? – Paolo 2010-01-06 13:30:35
+1 xml真的很煩人,可以在集成測試中處理。文件從不同的項目層次不斷超越對方。 – 2010-06-24 19:48:25