html网站开发中的应用,做淘宝那样的网站麻烦吗,北滘大良网站制作,云南交投集团公路建设有限公司网站最近在开发基于.net6的一个数据监控软件#xff0c;使用其它开源log库都有点麻烦#xff0c;就想着对Console.WriteLine()方法重定向到文件#xff0c;非常方便的实现日志记录功能#xff0c;同时也不影响之前的代码结构。
public class LogTextWriter : TextWriter
{publ…最近在开发基于.net6的一个数据监控软件使用其它开源log库都有点麻烦就想着对Console.WriteLine()方法重定向到文件非常方便的实现日志记录功能同时也不影响之前的代码结构。
public class LogTextWriter : TextWriter
{public LogTextWriter(){}public override Encoding Encoding Encoding.UTF8;public EventHandlerstring OnLogging;public override void Write(string? value){string timestamp DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss);string path GetPath();File.AppendAllText(path,${timestamp} - {value});}public override void WriteLine(string? value){if(value!null){OnLogging?.Invoke(this,value);string timestamp DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss);string path GetPath();File.AppendAllText(path, ${timestamp} - {value}{Environment.NewLine});}}private string GetPath(){if(!Directory.Exists(./log)){Directory.CreateDirectory(./log);}// 获取当前日期和时间作为日志文件名的一部分string currentDateTime DateTime.Now.ToString(yyyy_MM_dd);// 构建日志文件路径string logFilePath $log/log_{currentDateTime}.txt;return logFilePath;}private static LogTextWriter _instance new LogTextWriter();public static LogTextWriter GetInstance(){return _instance;}
}软件开始的地方要设置该重定向
protected override void OnStartup(StartupEventArgs e)
{base.OnStartup(e);Console.SetOut(LogTextWriter.GetInstance());Console.WriteLine(程序启动成功);
}