首页 / 日志 / .NET 日志系统设计思路及实现代码
.NET 日志系统设计思路及实现代码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了.NET 日志系统设计思路及实现代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2581字,纯文字阅读大概需要4分钟。
内容图文
日志很明显是帮助大家定位到问题的一个很重要的手段,本来是想直接使用的NLog 来做系统的日志工具,哎伤不起,一变态非要说这个有很多不可控制的因素,这里我给大家讲一下我是怎么实现日志模块的,欢迎拍砖
总体架构图
? 在这里我把日子的等级分为 跟踪,BUG 和错误 3种 定义枚举如下
代码如下:
/// <summary>
/// 日志等级
/// </summary>
public enum Loglevel
{
Track=1,
Bug,
Error
}
? 这里考虑日志的模块的可扩展性 (这里支持 数据库 和文件 2种方式) 这里使用适配器模式来完成本模块。 这里给大家来年终福利。贴点代码
定义一个接口ILogTarget
代码如下:
public interface ILogTarget
{
/// <summary>
/// 写入追踪信息
/// </summary>
/// <param name="LogContent"></param>
void WriteTrack(string LogContent);
/// <summary>
/// 写入BUG信息
/// </summary>
/// <param name="LogContent"></param>
void WriteBug(string LogContent);
/// <summary>
/// 写入错误信息
/// </summary>
/// <param name="LogContent"></param>
void WriteError(string LogContent);
}
? FileLog ,和DBLog 2个类实现上面的接口 这里不贴上具体的现实
代码如下:
/// <summary>
/// 文件日志实现类
/// </summary>
public class FileLog : ILogTarget
{
public void WriteTrack(string LogContent)
{
throw new NotImplementedException();
}
public void WriteBug(string LogContent)
{
throw new NotImplementedException();
}
public void WriteError(string LogContent)
{
throw new NotImplementedException();
}
}
代码如下:
public class DBLog : ILogTarget
{
public void WriteTrack(string LogContent)
{
throw new NotImplementedException();
}
public void WriteBug(string LogContent)
{
throw new NotImplementedException();
}
public void WriteError(string LogContent)
{
throw new NotImplementedException();
}
}
代码如下:
public class SmartLog
{
private ILogTarget _adaptee;
public SmartLog(ILogTarget tragent)
{
this._adaptee = tragent;
}
public void WriteTrack(string LogContent)
{
_adaptee.WriteTrack(LogContent);
}
public void WriteBug(string LogContent)
{
_adaptee.WriteBug(LogContent);
}
public void WriteError(string LogContent)
{
_adaptee.WriteError(LogContent);
}
}
? 调用方式
代码如下:
SmartLog log =new SmartLog (new FileLog());
log.WriteTrack("Hello word");
内容总结
以上是互联网集市为您收集整理的.NET 日志系统设计思路及实现代码全部内容,希望文章能够帮你解决.NET 日志系统设计思路及实现代码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。