/// <summary> /// 记录Warn级别日志 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="message">消息内容</param> /// <param name="exception">异常信息</param> /// <param name="bizEnum">The bizEnum<see cref="LogicBuissnussEnum"/></param> /// <param name="Enqueue">The Enqueue<see cref="bool"/></param> /// <param name="logType">The logType<see cref="LogType"/></param> public static void Warn <T>(string message, Exception exception = null, LogicBuissnussEnum bizEnum = LogicBuissnussEnum.Default, bool Enqueue = false, LogType logType = LogType.Nlog) where T : class { if (Enqueue) { var msg = new LogMessage { Message = message, Exception = exception, BizEnum = bizEnum, IsShowConsole = false, LogLevel = LogLevelEnum.Warn, LogTag = typeof(T).FullName, LogType = logType }; _msgQueue.Enqueue(msg); _signal.Set(); } else { WriteLog <T>(LogLevelEnum.Warn, message, exception, bizEnum: bizEnum); } }
/// <summary> /// 记录Fatal级别日志 /// </summary> /// <param name="message">消息内容</param> /// <param name="exception">异常信息</param> /// <param name="bizEnum">The bizEnum<see cref="LogicBuissnussEnum"/></param> /// <param name="Enqueue">The Enqueue<see cref="bool"/></param> /// <param name="logType">The logType<see cref="LogType"/></param> public static void Fatal(string message, Exception exception = null, LogicBuissnussEnum bizEnum = LogicBuissnussEnum.Default, bool Enqueue = false, LogType logType = LogType.Nlog) { if (Enqueue) { var msg = new LogMessage { Message = message, Exception = exception, BizEnum = bizEnum, IsShowConsole = false, LogLevel = LogLevelEnum.Fatal, LogTag = "", LogType = logType }; _msgQueue.Enqueue(msg); _signal.Set(); } else { WriteLog(LogLevelEnum.Fatal, message, exception, bizEnum: bizEnum); } }
/// <summary> /// 记录日志 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="logLevel">日志级别</param> /// <param name="message">消息内容</param> /// <param name="exception">异常信息</param> /// <param name="bizEnum">The bizEnum<see cref="LogicBuissnussEnum"/></param> /// <param name="Tag">The Tag<see cref="string"/></param> /// <param name="isShowConsole">The isShowConsole<see cref="bool"/></param> private static void WriteLog <T>(LogLevelEnum logLevel, string message, Exception exception, LogicBuissnussEnum bizEnum = LogicBuissnussEnum.Default, string Tag = "", bool isShowConsole = false) { WriteLog(logLevel, message, exception, bizEnum, typeof(T).FullName, isShowConsole); }
/// <summary> /// 记录日志 /// </summary> /// <param name="logLevel">日志级别</param> /// <param name="message">消息内容</param> /// <param name="exception">异常信息</param> /// <param name="bizEnum">The bizEnum<see cref="LogicBuissnussEnum"/></param> /// <param name="Tag">The Tag<see cref="string"/></param> /// <param name="isShowConsole">The isShowConsole<see cref="bool"/></param> /// <param name="logType">The logType<see cref="LogType"/></param> private static void WriteLog(LogLevelEnum logLevel, string message, Exception exception, LogicBuissnussEnum bizEnum = LogicBuissnussEnum.Default, string Tag = "", bool isShowConsole = false, LogType logType = LogType.Nlog) { try { Console.WriteLine("==================WriteLog====================="); //var logMsg = GetExceptionMsg(exception, message.ToString()); //var folderName = string.IsNullOrEmpty(Tag) ? GetBussinussLogFilePath(bizEnum) : Tag; //WriteCustomLog(MethodBase.GetCurrentMethod().DeclaringType, logLevel, logMsg, logType, folderName); //SetConsoleForegroundColor(logLevel, message, isShowConsole); } catch (Exception ex) { var newEx = new Exception("LogHelper记录日志出错", ex); } }
/// <summary> /// 根据业务类型分配日志目录 /// </summary> /// <param name="bizEnum"></param> /// <returns></returns> private static string GetBussinussLogFilePath(LogicBuissnussEnum bizEnum) { var folderPath = string.Format("{0}Log", bizEnum.ToString()); return(folderPath); }
/// <summary> /// 记录异常信息 /// </summary> /// <param name="ex"></param> /// <param name="message"></param> /// <param name="bizEnum"></param> /// <param name="isShowConsole"></param> /// <param name="Enqueue">The Enqueue<see cref="bool"/></param> /// <param name="logType">The logType<see cref="LogType"/></param> public static void WriteExceptionLog(this Exception ex, string message = "", LogicBuissnussEnum bizEnum = LogicBuissnussEnum.Default, bool isShowConsole = true, bool Enqueue = false, LogType logType = LogType.Nlog) { RunLog(message, ex, logLevel: LogLevelEnum.Error, bizEnum: bizEnum, isShowConsole: isShowConsole, folderName: "", Enqueue: Enqueue, logType: logType); }
/// <summary> /// 记录日志 /// </summary> /// <param name="message"></param> /// <param name="exception">The exception<see cref="Exception"/></param> /// <param name="logLevel"></param> /// <param name="bizEnum"></param> /// <param name="isShowConsole"></param> /// <param name="folderName"></param> /// <param name="Enqueue">The Enqueue<see cref="bool"/></param> /// <param name="logType">The logType<see cref="LogType"/></param> public static void RunLog(string message, Exception exception = null, LogLevelEnum logLevel = LogLevelEnum.Info, LogicBuissnussEnum bizEnum = LogicBuissnussEnum.Default, bool isShowConsole = false, string folderName = "", bool Enqueue = false, LogType logType = LogType.Nlog) { Console.WriteLine("==================RunLog====================="); if (Enqueue) { var msg = new LogMessage { Message = message, Exception = exception, BizEnum = bizEnum, IsShowConsole = isShowConsole, LogLevel = logLevel, LogTag = folderName, LogType = logType }; _msgQueue.Enqueue(msg); _signal.Set(); } else { WriteLog(logLevel, message, exception, bizEnum, folderName, isShowConsole, logType); } }