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());
}
}
}
私はOnStart
法上の例外をスローするMyService
クラスを変更したが、私は、ログファイル内のすべてのログを取得しないと私はCurrentDomain_UnhandledException
が呼び出されたかどうかを確認するには、Windowsサービスアプリケーションをデバッグすることはできません。
未処理の例外を記録するにはどうすればよいですか?
この[回答](https://stackoverflow.com/a/5117790)は役に立ちましたか? – kennyzx