123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.IO;
- using AGV_WPF_Global;
- using AGV_WPF_DisMember;
- using AGV_WPF.Models;
- namespace AGV_WPF.NewCotent
- {
- /// <summary>
- /// 群创用异常日志文件(AGV异常,非程序异常)
- /// </summary>
- public class RunLogStatus
- {
- public static Mutex m_Mutex = new Mutex();
- public static string m_Directory = "Exception";//存放目录
- public static string m_ErrorFile = "StatusLog.txt";//异常文件
- static bool m_StaticFileFlag = false;//是否用静态文件
- public static void WriteLog(string areaName,int agvNum, int errorCode, DateTime happenedTime, DateTime recoveryTime)
- {
- m_Mutex.WaitOne();
- string filePath = GetFilePath();
- if (errorCode > 0 && errorCode < 0x40)
- {
- errorCode += 1;
- StreamWriter writer = new StreamWriter(filePath,true);
- //Date,Time,BayNo,AGVNo,ErrorCode,RecoveryTime
- //20151220,210234,B,14,1,210531
- string msg = string.Format("{0},{1},{2},{3},{4},{5}",happenedTime.ToString("yyyyMMdd"),happenedTime.ToString("HHmmss"),areaName,agvNum,errorCode,recoveryTime.ToString("HHmmss"));
- writer.WriteLine(msg);
- writer.Close();
- }
- m_Mutex.ReleaseMutex();
- }
- public static void WriteLog(string agvNum, string RunState, string MarkNum, string trafficNum, string ErroMsg, string routeNum)
- {
- m_Mutex.WaitOne();
- string filePath = GetFilePath();
- StreamWriter writer = new StreamWriter(filePath, true);
- string msg = string.Format("{0},{1},{2},{3},{4},{5},{6}",DateTime.Now.ToString("HH:mm:ss"), agvNum, MarkNum, routeNum, trafficNum, RunState, ErroMsg);
- writer.WriteLine(msg);
- writer.Close();
- m_Mutex.ReleaseMutex();
- }
- public static void WriteLog(AGVInfoModel dm)
- {
- try
- {
- m_Mutex.WaitOne();
- string filePath = GetFilePath();
- StreamWriter writer = new StreamWriter(filePath, true);
- string msg = string.Format("{0},AGVNO:{1},地标:{2},路线:{3},报警:【{4}】,状态:{5}", DateTime.Now.ToString("HH:mm:ss"), dm.AGVNUM, dm.MARKNUM, dm.ROUTENUM, dm.ALARMINFO, dm.RUNSTATUS_Cur);
- writer.WriteLine(msg);
- writer.Close();
- m_Mutex.ReleaseMutex();
- }
- catch (Exception) { }
- }
- public static void WriteLog(AGV_DisMember dm)
- {
- m_Mutex.WaitOne();
- string filePath = GetFilePath();
- StreamWriter writer = new StreamWriter(filePath, true);
- string trafficstr="";
- if (string.IsNullOrEmpty(dm.txtTrafficNum))
- {
- trafficstr = "0";
- }
- else
- {
- trafficstr = dm.txtTrafficNum;
- }
- string msg = string.Format("{0},AGVNO:{1},地标:{2},路线:{3},管制区:【{4}】,状态:{5}", DateTime.Now.ToString("HH:mm:ss"), dm.txtAGVNum,dm.txtMarkNum, dm.txtLineNum, trafficstr,dm.txtStatus);
- writer.WriteLine(msg);
- writer.Close();
- m_Mutex.ReleaseMutex();
- }
- public static void WriteAgvLog(string LogString)
- {
- m_Mutex.WaitOne();
- string filePath = GetFilePath();
- //if (errorCode > 0 && errorCode < 0x40)
- {
- // errorCode += 1;
- StreamWriter writer = new StreamWriter(filePath, true);
- //Date,Time,BayNo,AGVNo,ErrorCode,RecoveryTime
- //20151220,210234,B,14,1,210531
- //string msg = string.Format("{0},{1},{2},{3},{4},{5}", happenedTime.ToString("yyyyMMdd"), happenedTime.ToString("HHmmss"), areaName, agvNum, errorCode, recoveryTime.ToString("HHmmss"));
- writer.WriteLine(LogString);
- writer.Close();
- }
- m_Mutex.ReleaseMutex();
- }
-
- static string GetFilePath()
- {
- //文件夹是否存在
- if(!System.IO.Directory.Exists(m_Directory))
- {
- System.IO.Directory.CreateDirectory(m_Directory);
- }
- if (m_StaticFileFlag)
- {
- return string.Format(@"{0}\{1}", m_Directory, m_ErrorFile);
- }
- else
- {
- return string.Format(@"{0}\StatusLog-{1}.txt", m_Directory, DateTime.Now.ToString("yyyyMMdd"));//按日期存放
- }
- }
- }
- }
|