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; }
}
}