using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Core.StlMes.Client.LgResMgt.Mcms { public class Log { /// /// 禁止通过new创建实例 /// private Log() { } private static Log log; // 定义一个标识确保线程同步 private static readonly object locker = new object(); public static Log GetInstance() { if (log == null) { lock (locker) { if (log == null) { log = new Log(); } } } return log; } /// /// 写入日志 /// /// 0智能终端 1数据采集 2网络状态 3计量实绩 4计量监控 5远程计量 6静态衡 7动态衡 8成品秤 /// public void WriteLog(int iType, string str) { try { string strLogName = ""; switch (iType) { case 0: strLogName = "计量终端_"; break; case 1: strLogName = "数据采集_"; break; case 2: strLogName = "网络状态_"; break; case 3: strLogName = "计量实绩_"; break; case 4: strLogName = "计量监控_"; break; case 5: strLogName = "远程计量_"; break; case 6: strLogName = "静态衡计量_"; break; case 7: strLogName = "动态衡计量_"; break; case 8: strLogName = "成品计量_"; break; case 9: strLogName = "提示信息_"; break; case 10: strLogName = "打印日志_"; break; case 11: strLogName = "静态衡公共事件_"; break; case 12: strLogName = "主线程扫码设备_"; break; case 13: strLogName = "tryCatch异常_"; break; case 14: strLogName = "保存按钮状态_"; break; case 15: strLogName = "按钮点击日志_"; break; case 16: strLogName = "服务调用日志_"; break; case 17: strLogName = "自动卸货日志_"; break; case 18: strLogName = "复磅计量_"; break; default: strLogName = "计量终端_"; break; } string m_szRunPath; m_szRunPath = System.Environment.CurrentDirectory; if (System.IO.Directory.Exists(m_szRunPath + "\\log") == false) { System.IO.Directory.CreateDirectory(m_szRunPath + "\\log"); } string strDate = System.DateTime.Now.ToString("yyyyMMdd"); string strPathFile = m_szRunPath + "\\log\\" + strDate; if (!Directory.Exists(strPathFile))//如果不存在就创建file文件夹 { Directory.CreateDirectory(strPathFile); } System.IO.TextWriter tw = new System.IO.StreamWriter(strPathFile + "\\" + strLogName + strDate + ".log", true); tw.WriteLine(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); tw.WriteLine(str); tw.WriteLine("\r\n"); tw.Close(); } catch (Exception ex) { } } } }