用TextWriterTraceListener实现建议log文件记录
log4net之类3方组件确实很方便,但是想写个小小的demo之类的程序,有点用不起啊。
微软自带的TraceListener要实现一个简易的日志帮助类还是很简单的,直接上代码,自己备用,也希望对同样烦恼的哥们有用:
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);
//}
//这里不用create文件,TextWriterTraceListener会自动创建了,谢谢楼下的哥们
Trace.AutoFlush = true;
traceListener = new TextWriterTraceListener(logFile);
Trace.Listeners.Add(traceListener);
}
/// <summary>
/// log输出
/// 当然这里可以自己随便扩充
/// </summary>
/// <param name="msg"></param>
public static void Log(string msg)
{
Trace.WriteLine(msg);
}
}
}
作者:程序员思想 - 12饕餮21
出处:https://www.cnblogs.com/12taotie21
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。
微信扫码关注『程序员思想』公众号
关注有惊喜

浙公网安备 33010602011771号