手机版

网日志系统设计思路及实现代码

时间:2021-11-12 来源:互联网 编辑:宝哥软件园 浏览:

日志很明显是帮助大家定位到问题的一个很重要的手段,本来是想直接使用的NLog来做系统的日志工具,哎伤不起,一变态非要说这个有很多不可控制的因素,这里我给大家讲一下我是怎么实现日志模块的,欢迎拍砖总体架构图

• 在这里我把日子的等级分为跟踪,BUG和错误3种定义枚举如下复制代码代码如下:///summary ///日志等级////摘要公共枚举日志级别{跟踪=1,错误,错误}这里考虑日志的模块的可扩展性(这里支持数据库和文件2种方式)这里使用适配器模式来完成本模块。这里给大家来年终福利。贴点代码定义一个接口ILogTarget复制代码代码如下:公共接口ILogTarget { ///summary ///写入追踪信息////summary///param name=' LogContent '/param void写道(字符串LogContent);///摘要///写入病菌信息////summary///param name=' LogContent '/param void write bug(字符串LogContent);///摘要///写入错误信息////summary///param name=' LogContent '/param void写入错误(字符串LogContent);} 文件日志,和DBLog 2个类实现上面的接口这里不贴上具体的现实复制代码代码如下:///summary ///文件日志实现类////摘要公共类文件日志: ILogTarget {公共无效写入磁道(字符串LogContent){ throw new notimplementdexception();} public void WriteBug(字符串LogContent){抛出新的notimplementDexception();} public void WriteError(字符串日志内容){ 0引发新的notimplementdexception();} }复制代码代码如下:公共类DBLog : ILogTarget { public void写入磁道(字符串LogContent){ throw new notimplementdexception();} public void WriteBug(字符串LogContent){抛出新的notimplementDexception();} public void WriteError(字符串日志内容){ 0引发新的notimplementdexception();} }复制代码代码如下:公共类智能日志{私有ILogTarget _ adaptee公共智能日志(我的目标任务){这个._ adaptee=tragent } public void write track(字符串LogContent) { _adaptee .WriteTrack(日志内容);} public void WriteBug(字符串LogContent) { _adaptee .写bug(LogContent);} public void WriteError(字符串LogContent) { _adaptee .WriteError(日志内容);} }• 调用方式复制代码代码如下:s智能日志=新智能日志(新文件日志());日志写音轨(‘Hello word’);

版权声明:网日志系统设计思路及实现代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。