日志很明显是帮助大家定位到问题的一个很重要的手段,本来是想直接使用的NLog 来做系统的日志工具,哎伤不起,一变态非要说这个有很多不可控制的因素,这里我给大家讲一下我是怎么实现日志模块的,欢迎拍砖
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);
}
/// 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");