怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  819 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

secs_learn/Program.cs

using DeviceWorkerService;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddSecs4Net<DeviceLogger>(hostContext.Configuration);
}).Build().Run();

secs_learn/DeviceWorkerService.cs

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Secs4Net;
using System.Diagnostics.CodeAnalysis;
namespace DeviceWorkerService;
public static class ServiceProvider
{
public static IServiceCollection AddSecs4Net<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] TLogger>(this IServiceCollection services, IConfiguration configuration)
where TLogger : class, ISecsGemLogger
{
var configSection = configuration.GetSection("secs4net");
services.Configure<SecsGemOptions>(configSection);
services.AddSingleton<ISecsConnection, HsmsConnection>();
services.AddSingleton<ISecsGem, SecsGem>();
services.AddSingleton<ISecsGemLogger, TLogger>();
return services;
}
}

secs_learn/DeviceLogger.cs

using Microsoft.Extensions.Logging;
using Secs4Net;
using Secs4Net.Sml;
using System;
namespace DeviceWorkerService;
internal sealed class DeviceLogger(ILogger<DeviceLogger> logger) : ISecsGemLogger
{
public void MessageIn(SecsMessage msg, int id) => logger.LogTrace($"<-- [0x{id:X8}] {msg.ToSml()}");
public void MessageOut(SecsMessage msg, int id) => logger.LogTrace($"--> [0x{id:X8}] {msg.ToSml()}");
public void Debug(string msg) => logger.LogDebug(msg);
public void Info(string msg) => logger.LogInformation(msg);
public void Warning(string msg) => logger.LogWarning(msg);
public void Error(string msg, SecsMessage? message, Exception? ex) => logger.LogError(ex, $"{msg} {message}\n");
}
posted on   超级无敌美少男战士  阅读(326)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2022-01-23 tampermonkey 油猴脚本 博客园美化
点击右上角即可分享
微信分享提示