/// <summary> /// info /// </summary> /// <param name="contextCode">会话标识,线上:一次请求生命周期中的日志编码,一次请求响应使用一个编码</param> /// <param name="logicType">项目逻辑枚举类型</param> /// <param name="level">日志级别</param> /// <param name="loggerCode">日志编码,填写线下记录编码linerecordcode</param> /// <param name="parkingCode">停车场编码</param> /// <param name="carNoOrCardNo">车牌号或卡号</param> /// <param name="projectInfo">项目标识</param> /// <param name="message">请求的参数或者实体json</param> /// <param name="exception"> 错误信息或者异常信息</param> public static void SetLoggerInfo( string contextCode, LoggerLogicEnum logicType, LevelEnum level, string loggerCode, string parkingCode, string carNoOrCardNo, string projectInfo, string message, string exception) { Dictionary <string, object> arguments = new Dictionary <string, object>(); arguments["LogicType"] = logicType.ToString(); arguments["ContextCode"] = contextCode; arguments["LoggerCode"] = loggerCode; arguments["Level"] = level; arguments["ParkingCode"] = parkingCode; arguments["CarNoOrCardNo"] = carNoOrCardNo; arguments["ProjectInfo"] = projectInfo; arguments["Message"] = message; arguments["Exception"] = exception; arguments["CreateTime"] = DateTime.Now.ToString(); arguments["Ip"] = Dns.GetHostAddresses(Dns.GetHostName()).First(p => p.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).ToString(); try { IDatabase db = RedisHelper.GetDatabase(9); string key = string.Format("ApiLoggerInfo_{0}", DateTime.Now.Minute); db.ListRightPush(key, jsonserializationer.Serialize(arguments)); db.KeyExpireAsync(key, DateTime.Now.AddMinutes(5)); //5分钟过期 } catch { } finally { } }
/// <summary> /// 逻辑日志 /// </summary> /// <param name="logicType">项目逻辑枚举类型</param> /// <param name="loggerCode">日志编码,填写线下记录编码linerecordcode</param> /// <param name="parkingCode">停车场编码</param> /// <param name="carNoOrCardNo">车牌号或者卡号</param> /// <param name="projectInfo">执行该日志的项目函数根路径(命名空间.类名.函数名)</param> /// <param name="message">请求的参数或者实体json</param> /// <param name="exception">错误信息或者异常信息</param> public void LogLogic(LoggerLogicEnum logicType, string loggerCode, string parkingCode, string carNoOrCardNo, string projectInfo, string message, string exception) { Task.Factory.StartNew(() => { LogHelper.SetLoggerInfo(ContextCode, logicType, LevelEnum.Logic, loggerCode, parkingCode, carNoOrCardNo, projectInfo, message, exception); }); }
/// <summary> /// 调试日志 /// </summary> /// <param name="logicType">项目逻辑枚举类型</param> /// <param name="loggerCode">日志编码,填写线下记录编码linerecordcode</param> /// <param name="parkingCode">停车场编码</param> /// <param name="carNoOrCardNo">车牌号或者卡号</param> /// <param name="projectInfo">执行该日志的项目函数根路径(命名空间.类名.函数名)</param> /// <param name="message">请求的参数或者实体json</param> /// <param name="exception">错误信息或者异常信息</param> public void LogDebug(LoggerLogicEnum logicType, string loggerCode, string parkingCode, string carNoOrCardNo, string projectInfo, string message, string exception) { //Console.WriteLine(message); Task.Factory.StartNew(() => { LogHelper.SetLoggerInfo(ContextCode, logicType, LevelEnum.Debug, loggerCode, parkingCode, carNoOrCardNo, projectInfo, message, exception); }); }
/// <summary> /// 错误日志 /// </summary> /// <param name="logicType">项目逻辑枚举类型</param> /// <param name="loggerCode">日志编码,填写线下记录编码linerecordcode</param> /// <param name="parkingCode">停车场编码</param> /// <param name="carNoOrCardNo">车牌号或者卡号</param> /// <param name="projectInfo">执行该日志的项目函数根路径(命名空间.类名.函数名)</param> /// <param name="message">请求的参数或者实体json</param> /// <param name="exception">错误信息或者异常信息</param> public void LogError(LoggerLogicEnum logicType, string loggerCode, string parkingCode, string carNoOrCardNo, string projectInfo, string message, string exception) { //Console.ForegroundColor = ConsoleColor.Red; //Console.WriteLine(message + "\r\n" + exception); //Console.ResetColor(); Task.Factory.StartNew(() => { LogHelper.SetLoggerInfo(ContextCode, logicType, LevelEnum.Error, loggerCode, parkingCode, carNoOrCardNo, projectInfo, message, exception); }); }