usingHh.Mes.Common.log;usingHh.Mes.POJO.Entity;usingHh.Mes.Service.Logs;usingSystem.Collections.Generic;usingSystem.Threading;namespaceHh.Mes.API.Common{publicclassLogging{privatestaticLogging_log;privatestaticreadonlyobjectLockHelper=newobject();privatereadonlyintSleepTime=10000;privatereadonlyintlogCount=1;privateLogging(){}publicstaticLoggingGetInstance{get{if(_log==null){lock(LockHelper){if(_log==null){_log=newLogging();}}}return_log;}}///<summary>///写数据接口日志只调用一次///</summary>publicvoidInitWriteInterLog(){ThreadPool.QueueUserWorkItem(o=>{varlogs=newList<sys_interface_log>();while(true){if(QueueInterLog.GetInstance.Queue().Count>=logCount){for(vari=0;i<logCount;i++){if(QueueInterLog.GetInstance.Queue().TryDequeue(outvarlog)){logs.Add(log);}}newLogService().InsSysInterLog(logs);logs.Clear();}else{Thread.Sleep(SleepTime);}}});Log4NetHelper.Instance.Info("InitWriteInterLog service started successfully!");InitWriteJobLog();}///<summary>///写数据接口日志只调用一次///</summary>publicvoidInitWriteJobLog(){ThreadPool.QueueUserWorkItem(o=>{varlogs=newList<sys_job_log>();while(true){if(QueueJobLog.GetInstance.Queue().Count>=logCount){for(vari=0;i<logCount;i++){if(QueueJobLog.GetInstance.Queue().TryDequeue(outvarlog)){logs.Add(log);}}newLogService().InsSysJobLog(logs);logs.Clear();}else{Thread.Sleep(SleepTime);}}});Log4NetHelper.Instance.Info("InitWriteJobLog log service started successfully!");}}}