HDLogUtil.cs 1.3 KB
using System;

namespace IDHIKCamera
{
    public class LibLogUtil
    {
        public delegate void LogEventHandler(LibLogEventArg libLogEventArg);
        public static event LogEventHandler LogEvent;
        public static string prefix_log = "IDHIKCamera-";
        public static void Info(string msg)
        {
            LogEvent?.Invoke(new LibLogEventArg()
            {
                Msg = $"{prefix_log}{msg}",
                Level = LibLogLevel.Info
            });
        }
        public static void Warn(string msg)
        {
            LogEvent?.Invoke(new LibLogEventArg()
            {
                Msg = $"{prefix_log}{msg}",
                Level = LibLogLevel.Warning,
            });
        }
        public static void Error(string msg, Exception ex = null)
        {
            LogEvent?.Invoke(new LibLogEventArg()
            {
                Msg = $"{prefix_log}{msg}",
                Level = LibLogLevel.Error,
                Exception = ex
            });
        }
    }
    public class LibLogEventArg : EventArgs
    {
        public string Msg { get; set; }
        public LibLogLevel Level { get; set; }
        public Exception Exception { get; set; }
    }
    public enum LibLogLevel
    {
        Debug,
        Info,
        Warning,
        Error
    }
}