| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace RailLocalMeter
- {
- public class Log
- {
- /// <summary>
- /// 禁止通过new创建实例
- /// </summary>
- 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;
- }
- /// <summary>
- /// 写入日志
- /// </summary>
- /// <param name="iType">0智能终端 1数据采集 2网络状态 3计量实绩 4计量监控 5远程计量 6静态衡 7动态衡 8成品秤</param>
- /// <param name="str"></param>
- public void WriteLog(LogType iType, string str)
- {
- try
- {
- string strLogName = "";
- switch (iType)
- {
- case LogType.PlcLog:
- strLogName = "数据采集日志_";
- break;
- case LogType.MoxaLog:
- strLogName = "重量采集日志_";
- break;
- case LogType.VoiceLog:
- strLogName = "视频日志_";
- break;
- case LogType.RfidLoc:
- strLogName = "rfid日志_";
- break;
- case LogType.LedLog:
- strLogName = "Led日志_";
- break;
- case LogType.serverLog:
- strLogName = "请求服务端日志_";
- break;
- case LogType.WriteDbLog:
- 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)
- {
- }
- }
- }
- public enum LogType
- {
- PlcLog,//Plc数据交互
- MoxaLog,//Moxa重量采集
- VoiceLog,//摄像头采集
- SystemLog,//程序本身抛出
- RfidLoc,//rfid异常
- serverLog,//服务端异常
- WriteDbLog,//写入数据异常
- LedLog,
- }
- }
|