0
我正在開發Windows服務,C#,4.7 .NET Framework和log4net。使用log4net在Windows服務中記錄未處理的異常
我想記錄未處理的異常,但似乎log4net在Program.cs
中不起作用。
using System;
using System.ServiceProcess;
namespace MyWindowsService
{
static class Program
{
private static readonly log4net.ILog log =
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
log4net.Config.XmlConfigurator.Configure();
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
ServiceBase.Run(ServicesToRun);
}
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
log.ErrorFormat("UnhandledException: {0}", e.ToString());
}
}
}
我已經修改MyService
類扔在OnStart
方法例外,但我沒有得到任何日誌中的日誌文件,我不能調試Windows服務的應用程序,以查看是否CurrentDomain_UnhandledException
被調用。
你知道我該如何記錄未處理的異常嗎?
這是[answer](https://stackoverflow.com/a/5117790)有幫助嗎? – kennyzx