diff --git a/SLn.Wcs.ElevatorSdk/SLn.Wcs.ElevatorSdk.csproj b/SLn.Wcs.ElevatorSdk/SLn.Wcs.ElevatorSdk.csproj
new file mode 100644
index 0000000..fa71b7a
--- /dev/null
+++ b/SLn.Wcs.ElevatorSdk/SLn.Wcs.ElevatorSdk.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
diff --git a/Sln.Wcs.Model/Sln.Wcs.Model.csproj b/Sln.Wcs.Model/Sln.Wcs.Model.csproj
new file mode 100644
index 0000000..fa71b7a
--- /dev/null
+++ b/Sln.Wcs.Model/Sln.Wcs.Model.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
diff --git a/Sln.Wcs.Serilog/SerilogExtensions.cs b/Sln.Wcs.Serilog/SerilogExtensions.cs
new file mode 100644
index 0000000..f18e873
--- /dev/null
+++ b/Sln.Wcs.Serilog/SerilogExtensions.cs
@@ -0,0 +1,69 @@
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Serilog;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+#region << 版 本 注 释 >>
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2026 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:T14-GEN3-7895
+* 命名空间:Sln.Wcs.Serilog
+* 唯一标识:8c408f49-7da2-4484-905a-c9ca16565026
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2026-03-19 10:35:27
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+#endregion << 版 本 注 释 >>
+namespace Sln.Wcs.Serilog
+{
+ public static class SerilogExtensions
+ {
+ public static void UseSerilogExtensions(this IServiceProvider service)
+ {
+ //启用Serilog中间件
+
+
+ #region 通过配置文件读取日志存放位置
+ var configuration = service.GetService();
+ var logPath = Path.Combine(configuration["logPath"], "Logs");
+ #endregion
+
+ Log.Logger = new LoggerConfiguration().MinimumLevel.Information().WriteTo.Console()
+ .WriteTo.Logger(lc => lc
+ .Filter.ByIncludingOnly(logEvent => logEvent.Properties.ContainsKey("Module") && logEvent.Properties["Module"].ToString().Contains("Info"))
+ .WriteTo.File(Path.Combine($"{logPath}/Info/", "Info.log"), rollingInterval: RollingInterval.Day))
+ .WriteTo.Logger(lc => lc
+ .Filter.ByIncludingOnly(logEvent => logEvent.Properties.ContainsKey("Module") && logEvent.Properties["Module"].ToString().Contains("Plc"))
+ .WriteTo.File(Path.Combine($"{logPath}/Plc/", "Plc.log"), rollingInterval: RollingInterval.Day))
+ .WriteTo.Logger(lc => lc
+ .Filter.ByIncludingOnly(logEvent => logEvent.Properties.ContainsKey("Module") && logEvent.Properties["Module"].ToString().Contains("Agv"))
+ .WriteTo.File(Path.Combine($"{logPath}/Agv/", "Agv.log"), rollingInterval: RollingInterval.Day))
+ .WriteTo.Logger(lc => lc
+ .Filter.ByIncludingOnly(logEvent => logEvent.Properties.ContainsKey("Module") && logEvent.Properties["Module"].ToString().Contains("Rfid"))
+ .WriteTo.File(Path.Combine($"{logPath}/Rfid/", "Rfid.log"), rollingInterval: RollingInterval.Day))
+ .WriteTo.Logger(lc => lc
+ .Filter.ByIncludingOnly(logEvent => logEvent.Properties.ContainsKey("Module") && logEvent.Properties["Module"].ToString().Contains("Alarm"))
+ .WriteTo.File(Path.Combine($"{logPath}/Alarm/", "Alarm.log"), rollingInterval: RollingInterval.Day))
+ .WriteTo.Logger(lc => lc
+ .Filter.ByIncludingOnly(logEvent => logEvent.Properties.ContainsKey("Module") && logEvent.Properties["Module"].ToString().Contains("Error"))
+ .WriteTo.File(Path.Combine($"{logPath}/Error/", "Error.log"), rollingInterval: RollingInterval.Day))
+ .CreateLogger();
+
+ }
+ }
+}
diff --git a/Sln.Wcs.Serilog/SerilogHelper.cs b/Sln.Wcs.Serilog/SerilogHelper.cs
new file mode 100644
index 0000000..ecb1299
--- /dev/null
+++ b/Sln.Wcs.Serilog/SerilogHelper.cs
@@ -0,0 +1,132 @@
+using Serilog;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+#region << 版 本 注 释 >>
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2026 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:T14-GEN3-7895
+* 命名空间:Sln.Wcs.Serilog
+* 唯一标识:53133fd1-c671-497c-9484-f1d8794cf283
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2026-03-19 10:43:05
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+#endregion << 版 本 注 释 >>
+namespace Sln.Wcs.Serilog
+{
+ public class SerilogHelper
+ {
+ private readonly ILogger? Info_logger = Log.ForContext("Module", "Info");
+ private readonly ILogger? Plc_logger = Log.ForContext("Module", "Plc");
+ private readonly ILogger? Agv_logger = Log.ForContext("Module", "Agv");
+ private readonly ILogger? Rfid_logger = Log.ForContext("Module", "Rfid");
+ private readonly ILogger? Error_logger = Log.ForContext("Module", "Error");
+ private readonly ILogger? Alarm_logger = Log.ForContext("Module", "Alarm");
+
+ ///
+ /// Info日志
+ ///
+ ///
+ public void Info(string msg)
+ {
+ if (Info_logger != null)
+ {
+ this.Info_logger.Information(msg);
+ }
+ }
+
+ ///
+ /// Plc日志
+ ///
+ ///
+ public void Plc(string msg)
+ {
+ if (Plc_logger != null)
+ {
+ this.Plc_logger.Information(msg);
+ }
+ }
+
+ ///
+ /// Agv日志
+ ///
+ ///
+ public void Agv(string msg)
+ {
+ if (Agv_logger != null)
+ {
+ this.Agv_logger.Information(msg);
+ }
+ }
+
+ ///
+ /// Rfid日志
+ ///
+ ///
+ public void Rfid(string msg)
+ {
+ if (Rfid_logger != null)
+ {
+ this.Rfid_logger.Information(msg);
+ }
+ }
+
+ ///
+ /// 设备告警日志
+ ///
+ ///
+ public void Alarm(string msg)
+ {
+ if (Alarm_logger != null)
+ {
+ this.Alarm_logger.Information(msg);
+ }
+ }
+
+ ///
+ /// Error日志
+ ///
+ ///
+ ///
+ public void Error(string msg, Exception ex = null)
+ {
+ if (!string.IsNullOrEmpty(msg) && ex == null)
+ {
+ this.Error_logger.Information("【附加信息】 : {0}
", new object[] { msg });
+ }
+ else if (!string.IsNullOrEmpty(msg) && ex != null)
+ {
+ string errorMsg = BeautyErrorMsg(ex);
+ this.Error_logger.Information("【附加信息】 : {0}
{1}", new object[] { msg, errorMsg });
+ }
+ else if (string.IsNullOrEmpty(msg) && ex != null)
+ {
+ string errorMsg = BeautyErrorMsg(ex);
+ this.Error_logger.Information(errorMsg);
+ }
+ }
+
+ private string BeautyErrorMsg(Exception ex)
+ {
+ string errorMsg = string.Format("【异常类型】:{0}
【异常信息】:{1}
【堆栈调用】:{2}", new object[] { ex.GetType().Name, ex.Message, ex.StackTrace });
+ errorMsg = errorMsg.Replace("\r\n", "
");
+ errorMsg = errorMsg.Replace("位置", "位置");
+ return errorMsg;
+ }
+ }
+}
diff --git a/Sln.Wcs.Serilog/Sln.Wcs.Serilog.csproj b/Sln.Wcs.Serilog/Sln.Wcs.Serilog.csproj
new file mode 100644
index 0000000..154782e
--- /dev/null
+++ b/Sln.Wcs.Serilog/Sln.Wcs.Serilog.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/Sln.Wcs.sln b/Sln.Wcs.sln
index d6ca476..8ee4b4c 100644
--- a/Sln.Wcs.sln
+++ b/Sln.Wcs.sln
@@ -10,6 +10,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.HikRoBotSdk", "Sln.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sln.Wcs.HikRoBotApi", "Sln.Wcs.HikRoBotApi\Sln.Wcs.HikRoBotApi.csproj", "{9E3193CA-590C-4965-B2EF-02C2AE252095}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sln.Wcs.Serilog", "Sln.Wcs.Serilog\Sln.Wcs.Serilog.csproj", "{DD340736-51E7-47D5-AF1E-24A79F8B4675}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -32,6 +34,10 @@ Global
{9E3193CA-590C-4965-B2EF-02C2AE252095}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E3193CA-590C-4965-B2EF-02C2AE252095}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E3193CA-590C-4965-B2EF-02C2AE252095}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DD340736-51E7-47D5-AF1E-24A79F8B4675}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DD340736-51E7-47D5-AF1E-24A79F8B4675}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DD340736-51E7-47D5-AF1E-24A79F8B4675}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DD340736-51E7-47D5-AF1E-24A79F8B4675}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Sln.Wcs/Program.cs b/Sln.Wcs/Program.cs
index e64d2a7..d276f28 100644
--- a/Sln.Wcs/Program.cs
+++ b/Sln.Wcs/Program.cs
@@ -3,6 +3,7 @@ using Com.Ctrip.Framework.Apollo;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Sln.Wcs.HikRoBotSdk;
+using Sln.Wcs.Serilog;
namespace Sln.Wcs
{
@@ -17,11 +18,10 @@ namespace Sln.Wcs
var serviceProvider = services.BuildServiceProvider();
- var sdk = serviceProvider.GetService();
-
- //var info = sdk.GenAgvSchedulingTask(null);
-
- Console.WriteLine("\n程序执行完成!");
+ serviceProvider.UseSerilogExtensions();
+ var config = serviceProvider.GetService();
+ var log = serviceProvider.GetService();
+ log.Info($"系统启动成功,日志存放位置:{config["logPath"]}");
}
@@ -64,6 +64,7 @@ namespace Sln.Wcs
.AsSelf()
.WithTransientLifetime());
+ services.AddSingleton(typeof(SerilogHelper));
}
}
diff --git a/Sln.Wcs/Sln.Wcs.csproj b/Sln.Wcs/Sln.Wcs.csproj
index f223505..0a8fea9 100644
--- a/Sln.Wcs/Sln.Wcs.csproj
+++ b/Sln.Wcs/Sln.Wcs.csproj
@@ -22,13 +22,13 @@
-
+
diff --git a/Sln.Wcs/appsettings.json b/Sln.Wcs/appsettings.json
index 9827cf3..d486625 100644
--- a/Sln.Wcs/appsettings.json
+++ b/Sln.Wcs/appsettings.json
@@ -8,7 +8,7 @@
"**/platforms"
],
"apollo": {
- "AppId": "SampleApp",
+ "AppId": "SlnWcs",
"Env": "DEV",
"MetaServer": "http://119.45.202.115:4320",
"ConfigServer": [