一个调用log4net和LoggingService 的示例:
using ISharpDevelop.Core;
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Windows.Forms;
using ICSharpCode.Core;

namespace LoggerTest
...{
public class Main
...{
static string[] commandLineArgs = null;
public static string[] CommandLineArgs
...{
get
...{
return commandLineArgs;
}
}
public static void Main(string[] args)
...{
#if DEBUG
if (Debugger.IsAttached)
...{
Run(args);
return;
}
#endif
// Do not use LoggingService here (see comment in Run(string[]))
try
...{
Run(args);
}
catch (Exception ex)
...{
try
...{
HandleMainException(ex);
}
catch (Exception loadError)
...{
// HandleMainException can throw error when log4net is not found
MessageBox.Show(loadError.ToString(), "Critical error (Logging service defect?)");
}
}
}
static void HandleMainException(Exception ex)
...{
LoggingService.Fatal(ex);
try
...{
MessageBox.Show(ex.ToString(), "Unhandled exception terminated");
}
catch
...{
MessageBox.Show(ex.ToString(), "Critical error (cannot use ExceptionBox)");
}
}
static void Run(string[] args)
...{
Application.SetCompatibleTextRenderingDefault(false);
RunApplication();
}
static void RunApplication()
...{
LoggingService.Info("Starting SharpDevelop...");
try
...{
for (int i = 0; i < 10; i++)
...{
LoggingService.Warn(i.ToString());
}
}
finally
...{
LoggingService.Info("Leaving RunApplication()");
}
}
}
}

本文提供了一个使用Log4Net和LoggingService的日志记录示例,展示了如何在C#应用程序中配置并使用这些工具进行错误处理和日志记录。

被折叠的 条评论
为什么被折叠?



