using System; using System.Linq; using System.Windows.Media.Media3D; namespace LampInspectionMachine.Log4xml { public class LogHelper { public delegate void LogChangHandler(Log log); public static LogChangHandler logChangHandler; // #region 执行日志 private static readonly log4net.ILog infologger = log4net.LogManager.GetLogger("LogInfo"); /// /// 普通日志 /// /// 日志内容 public static void Info(string message) { // 可以改成type typeof(类) if ( infologger.IsInfoEnabled ) { infologger.Info(message); logChangHandler?.Invoke(new Log() { Time = DateTime.Now.ToString("yyyy-MM-dd:HH:mm:ss"), Msg = message }); } } // #region 执行日志 private static readonly log4net.ILog camerainfologger = log4net.LogManager.GetLogger("CameraLogInfo"); /// /// 相机日志 /// /// 日志内容 public static void CameraInfo(string message) { // 可以改成type typeof(类) if (camerainfologger.IsInfoEnabled) { camerainfologger.Info(message); logChangHandler?.Invoke(new Log() { Time = DateTime.Now.ToString("yyyy-MM-dd:HH:mm:ss"), Msg = message }); } } // #region 执行日志 private static readonly log4net.ILog camerainfologger2 = log4net.LogManager.GetLogger("CameraLogInfo2"); /// /// 相机日志 /// /// 日志内容 public static void CameraInfo2(string message) { // 可以改成type typeof(类) if (camerainfologger2.IsInfoEnabled) { camerainfologger2.Info(message); logChangHandler?.Invoke(new Log() { Time = DateTime.Now.ToString("yyyy-MM-dd:HH:mm:ss"), Msg = message }); } } // #region 执行日志 private static readonly log4net.ILog camerainfologger3 = log4net.LogManager.GetLogger("CameraLogInfo3"); /// /// 相机日志 /// /// 日志内容 public static void CameraInfo3(string message) { // 可以改成type typeof(类) if (camerainfologger3.IsInfoEnabled) { camerainfologger3.Info(message); logChangHandler?.Invoke(new Log() { Time = DateTime.Now.ToString("yyyy-MM-dd:HH:mm:ss"), Msg = message }); } } // #region 执行日志 private static readonly log4net.ILog camerainfologger4 = log4net.LogManager.GetLogger("CameraLogInfo4"); /// /// 相机日志 /// /// 日志内容 public static void CameraInfo4(string message) { // 可以改成type typeof(类) if (camerainfologger4.IsInfoEnabled) { camerainfologger4.Info(message); logChangHandler?.Invoke(new Log() { Time = DateTime.Now.ToString("yyyy-MM-dd:HH:mm:ss"), Msg = message }); } } // #region 执行日志 private static readonly log4net.ILog camerainfologger5 = log4net.LogManager.GetLogger("CameraLogInfo5"); /// /// 相机日志 /// /// 日志内容 public static void CameraInfo5(string message) { // 可以改成type typeof(类) if (camerainfologger5.IsInfoEnabled) { camerainfologger5.Info(message); logChangHandler?.Invoke(new Log() { Time = DateTime.Now.ToString("yyyy-MM-dd:HH:mm:ss"), Msg = message }); } } public static void SwitchCameraInfo(string cameraName,string message) { switch (cameraName) { case "相机1": CameraInfo(message); break; case "相机2": CameraInfo2(message); break; case "相机3": CameraInfo3(message); break; case "相机4": CameraInfo4(message); break; case "相机5": CameraInfo5(message); break; default: break; } } private static log4net.ILog alarmlog4net =log4net.LogManager.GetLogger("AlarmLogInfo"); /// /// 警告日志 /// /// 警告日志 public static void Warn(string message) { if ( alarmlog4net.IsWarnEnabled ) { alarmlog4net.Warn(message); } } private static log4net.ILog Errlog4net =log4net.LogManager.GetLogger("ErrLogInfo"); /// /// 错误日志 /// /// 错误日志 public static void Error(string message) { if ( Errlog4net.IsInfoEnabled ) { Errlog4net.Error(message); } } public static bool CheckLogChangHandler(LogChangHandler handler) { return logChangHandler.GetInvocationList().Contains(handler); } } public class Log { private string time; private string msg; public string Time { get => time; set => time = value; } public string Msg { get { return time + " " + msg; } set => msg = value; } } }