在程序開發中,我們通常需要記錄程序運行的狀態,在程序部署后,發生的異常可以記錄在日志中,便於發現程序潛在的問題。在.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"); }
代碼點擊這里下載。
感謝您的閱讀。