在日常的工作中经常需要日志,这样能够很容易定位到代码中的一些错误,.Net中有自带的日志接口。并没有仔细去研究,这里是我自己写的日志接口,记录下来以便以后用到,根据时间打印相关的日志文件,代码如下:
namespace InspectionQueue.CommonHelper { public class LogInfoHelp { /// <summary> /// 日志类型 /// </summary> private enum LOG_TYPE { LOG_FAIL = 0, //致命错误 LOG_ERROR, //一般错误 LOG_EXCEPTION, //异常 LOG_WARN, //警告 LOG_INFO, //一般信息 } private StreamWriter LogFile = null; private static LogInfoHelp _instance = null; private string LogFilePath = null; public static LogInfoHelp GetInstance() { if(null == _instance) { _instance = new LogInfoHelp(); } return _instance; } private LogInfoHelp() { } /// <summary> /// 创建日志文件 /// </summary> public void CreateLogFile() { //获取运行程序的路径 string logFilePath = AppDomain.CurrentDomain.BaseDirectory; string logFileName = (DateTime.Now.Year).ToString() + '-' + (DateTime.Now.Month).ToString() + '-' + (DateTime.Now.Day).ToString() + "_Log.log"; logFilePath += "logFile\\"; if (!Directory.Exists(logFilePath)) { Directory.CreateDirectory(logFilePath); } this.LogFilePath = logFilePath + logFileName; } /// <summary> /// 信息写入日志 /// </summary> /// <param name="strMsg"></param> public void WriteInfoToLogFile(string strLogInfo, ConstValues.LOG_TYPE logType) { LogFile = new StreamWriter(LogFilePath, true);//文件保存位置 string strlogInfo = null; switch(logType) { case ConstValues.LOG_TYPE.LOG_FAIL: { strlogInfo = String.Format("[{0}] 致命错误:{1}", DateTime.Now.ToString(), strLogInfo); } break; case ConstValues.LOG_TYPE.LOG_ERROR: { strlogInfo = String.Format("[{0}] 一般错误:{1}", DateTime.Now.ToString(), strLogInfo); } break; case ConstValues.LOG_TYPE.LOG_EXCEPTION: { strLogInfo = String.Format("[{0}] 异常:{1}", DateTime.Now.ToString(), strLogInfo); } break; case ConstValues.LOG_TYPE.LOG_WARN: { strLogInfo = String.Format("[{0}] 警告:{1}", DateTime.Now.ToString(), strLogInfo); } break; case ConstValues.LOG_TYPE.LOG_INFO: { strLogInfo = String.Format("[{0}] 一般信息:{1}", DateTime.Now.ToString(), strLogInfo); } break; } LogFile.WriteLine(strLogInfo); LogFile.Close(); } } }