我有一個廣泛使用log4net的C#(.NET 3.5)應用程序。 log4net配置駐留在app.config
文件中。log4net fallback appender配置在缺少配置文件的情況下?
配置使用[assembly: XmlConfigurator(Watch = true)]
在AssemlyInfo.cs
應用使用單一的應用程序範圍內的記錄器實例來完成,實例化一個記錄器包裝類的靜態構造函數:
public class Logger{
//....
private static readonly ILog logger;
static Logger()
{
logger = LogManager.GetLogger(Assembly.GetEntryAssembly().GetName().Name);
AppDomain.CurrentDomain.UnhandledException += OnUnhandledException;
}
//....
}
該應用程序被設計爲遠程服務器上運行,通過調度程序,沒有人的主題,獨自在黑暗中。 :)問題是,在缺少配置文件的情況下,它只是靜默崩潰(沒有log4net配置=>沒有日誌記錄)。
還有什麼辦法來檢查是否有在配置任何附加目的地,如果沒有 - 編程添加某種回退的appender。
我是相當新的log4X伐木工人家庭,所以,如果我問一些小事 - 請善待,log4net的文檔非常可怕的。 :)
它可以操縱日誌,看看這個答案:http://stackoverflow.com/questions/1519728/programmatically-adding-and-removing-log-appenders-in-log4net – Thinhbk
測試的存在配置文件。如果它不存在,請在代碼中創建您的記錄器 - http://stackoverflow.com/questions/1436713/cant-configure-log4net-in-code。或者,將log4net配置與應用程序打包爲嵌入式資源,以便永遠不會丟失。或者只是確保你總是將配置與應用程序一起發送;-) – dash