log4net之类3方组件确实很方便,但是想写个小小的demo之类的程序,有点用不起啊。
微软自带的TraceListener要实现一个简易的日志帮助类还是很简单的,直接上代码,自己备用,也希望对同样烦恼的哥们有用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics; namespace TestExpressionLambda { public class Logger { /// <summary> /// 默认路径 /// </summary> public static readonly string RootPath = AppDomain.CurrentDomain.BaseDirectory + "log" ; /// <summary> /// 默认文件名格式 /// </summary> public static readonly string FileFormat = DateTime.Now.ToString( "yyyy-MM-dd" ) + ".log" ; /// <summary> /// 默认Trace监听 /// </summary> public static TextWriterTraceListener traceListener; /// <summary> /// 静态实例 /// </summary> private static readonly Logger instance = new Logger(); static Logger() { if (!Directory.Exists(RootPath)) { Directory.CreateDirectory(RootPath); } string logFile = RootPath.TrimEnd( '\\' ) + "\\" + FileFormat; if (!File.Exists(logFile)) { File.Create(logFile); } Trace.AutoFlush = true ; traceListener = new TextWriterTraceListener(logFile); Trace.Listeners.Add(traceListener); } /// <summary> /// log输出<br> /// 当然这里可以自己随便扩充 /// </summary> /// <param name="msg"></param> public static void Log( string msg) { Trace.WriteLine(msg); } } } |
from:https://www.cnblogs.com/da6wei6/p/5147552.html