From a93b0e99036c24b9bd58c79bf5e7364b1ba28bae Mon Sep 17 00:00:00 2001 From: 杨前锦 <1010338399@qq.com> Date: 星期二, 01 七月 2025 16:02:33 +0800 Subject: [PATCH] 福建佳通-流程优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/util/LogHelper.cs | 146 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 146 insertions(+), 0 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/util/LogHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/util/LogHelper.cs new file mode 100644 index 0000000..cb69a49 --- /dev/null +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/util/LogHelper.cs @@ -0,0 +1,146 @@ +锘縰sing NLog; +using NLog.Common; +using NLog.Config; +using NLog.Targets; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HH.WCS.Mobox3.FJJT +{ + + public class LogHelper + { + public static Dictionary<string, ILogger> loggers = new Dictionary<string, ILogger>(); + + public static void Debug(string message, string name = "") { + ILogger logger = null; + if (loggers.Keys.Contains(name)) { + logger = loggers[name]; + } + else { + logger = LogFactory.CreateLogger(name); + if (logger != null) { + loggers.Add(name, logger); + } + else { + logger = LogFactory.CreateLogger("console"); + } + } + if (logger != null) { + logger.Debug(message); + } + } + + + + public static void Info(string message, string name = "") { + //logger.Info(message); + ILogger logger = null; + if (loggers.Keys.Contains(name)) { + logger = loggers[name]; + } + else { + logger = LogFactory.CreateLogger(name); + if (logger != null) { + loggers.Add(name, logger); + } + else { + logger = LogFactory.CreateLogger("infoFile"); + } + } + if (logger != null) { + logger.Info(message); + } + } + + public static void Error(string message, Exception ex, string name = "") { + //logger.Error(ex, message); + ILogger logger = null; + if (loggers.Keys.Contains(name)) { + logger = loggers[name]; + } + else { + logger = LogFactory.CreateLogger(name); + if (logger != null) { + loggers.Add(name, logger); + } + else { + logger = LogFactory.CreateLogger("errorFile"); + } + } + if (logger != null) { + logger.Error($"{message}{ex.StackTrace}"); + } + } + + + } + + internal class LogFactory + { + /// <summary> + /// 閫氳繃閰嶇疆鏂囦欢閰嶇疆鏃ュ織 + /// </summary> + static LogFactory() { + var loggerNames = new List<string>() { "HosttoagvTask", "HosttoagvCar", "AGV", "WMS" ,"Mobox","TCP" }; + LogManager.Configuration = DefaultConfig(loggerNames); + } + public static ILogger CreateLogger(string name) { + var logger = LogManager.GetLogger(name); + return logger; + } + + public static LoggingConfiguration DefaultConfig(List<string> loggerNames) { + var config = new LoggingConfiguration(); + loggerNames.ForEach(a => { + var target = new FileTarget(); + target.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M + target.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; + target.ArchiveFileName = @"${basedir}/Logs/" + a + "/{####}.txt"; + target.FileName = @"${basedir}/Logs/" + a + "/${shortdate}.txt";//褰撳墠鏂囦欢璺緞 + target.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + + config.AddTarget(a, target); + config.AddRuleForOneLevel(LogLevel.Info, target, a); + }); + + + // 娣诲姞target-console + var consoleTarget = new ColoredConsoleTarget(); + consoleTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + + config.AddTarget("console", consoleTarget); + config.AddRule(LogLevel.Debug, LogLevel.Fatal, consoleTarget); + + //娣诲姞target-info + var infoFileTarget = new FileTarget(); + infoFileTarget.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M + infoFileTarget.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; + infoFileTarget.ArchiveFileName = @"${basedir}/Logs/Info/{####}.txt"; + infoFileTarget.FileName = @"${basedir}/Logs/Info/${shortdate}.txt";//褰撳墠鏂囦欢璺緞 + infoFileTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + + config.AddTarget("infoFile", infoFileTarget); + config.AddRuleForOneLevel(LogLevel.Info, infoFileTarget);//INFO鍐欏湪Info鏂囦欢 + + //娣诲姞target-err + var errorFileTarget = new FileTarget(); + errorFileTarget.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M + errorFileTarget.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; + errorFileTarget.ArchiveFileName = @"${basedir}/Logs/Error/{####}.txt"; + errorFileTarget.FileName = @"${basedir}/Logs/Error/${shortdate}.txt"; + errorFileTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + + config.AddTarget("errorFile", errorFileTarget); + config.AddRule(LogLevel.Error, LogLevel.Fatal, errorFileTarget); + + + return config; + } + + + } +} -- Gitblit v1.9.1