C# 使用Trace记录程序日志
在程序开发中,我们通常需要记录程序运行的状态,在程序部署后,发生的异常可以记录在日志中,便于发现程序潜在的问题。在.NET平台,有很多优秀的日志类库,例如Log4Net。如果程序很小,我们可以自己通过C#的Trace类来实现一个基本的日志记录功能。下面直接看代码:
public class TraceHelper { private static TraceHelper _traceHelper; private TraceHelper() { } public static TraceHelper GetInstance() { if (_traceHelper == null) _traceHelper = new TraceHelper(); return _traceHelper; } public void Error(string message, string module) { Log(message, MessageType.Error, module); } public void Error(Exception ex, string module) { Log(ex.StackTrace, MessageType.Error, module); } public void Warning(string message, string module) { Log(message, MessageType.Warning, module); } public void Info(string message, string module) { Log(message, MessageType.Information, module); } private void Log(string message, MessageType type, string module) { Trace.WriteLine( string.Format("{0},{1},{2},{3}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), type.ToString(), module, message)); } } public enum MessageType { Information = 0, Warning = 1, Error = 2 } }
在App.config文件中添加(也可以在代码中创建TraceListener):
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <system.diagnostics> <trace autoflush="true" indentsize="0"> <listeners> <add name="LogListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="LogConsoleApp.log"/> </listeners> </trace> </system.diagnostics> </configuration>
使用也很简单,
static void Main(string[] args) { TraceHelper.GetInstance().Info("This is a information message", "Main Function"); TraceHelper.GetInstance().Error("This is an error message", "Main Function"); }
代码点击这里下载。
感谢您的阅读。