Hestia.Logging.DingTalk 1.0.2

dotnet add package Hestia.Logging.DingTalk --version 1.0.2
NuGet\Install-Package Hestia.Logging.DingTalk -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hestia.Logging.DingTalk" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Hestia.Logging.DingTalk --version 1.0.2
#r "nuget: Hestia.Logging.DingTalk, 1.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Hestia.Logging.DingTalk as a Cake Addin
#addin nuget:?package=Hestia.Logging.DingTalk&version=1.0.2

// Install Hestia.Logging.DingTalk as a Cake Tool
#tool nuget:?package=Hestia.Logging.DingTalk&version=1.0.2

Hestia.Logging.DingTalk

alternate text is missing from this package README image alternate text is missing from this package README image

基础说明

  1. 参照 钉钉官方文档 创建钉钉机器人(安全设置 使用 加签)。

  2. 在配置文件中的 Logging 节点下新增 DingTalk 节点,配置 UrlSecret

    {
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.Hosting.Lifetime": "Information"
        },
        "DingTalk": {
          "IncludeScopes": true,
          "Url": "https://oapi.dingtalk.com/robot/send?access_token={AccessToken}",
          "Secret": "{Secret}",      
          "LogLevel": {
            "Default": "Warning"
          }
        }
      }
    }
    
  3. 日志等级相关的配置可以参考 微软官方文档

高级说明

Markdown 输出配置

DingTalk 节点下,使用 Markdown 节点进行配置。

{
  "Logging": {        
    "DingTalk": {
      "Markdown":{
        "Stack": false,
        "Id": "[查看详细]({0})",
        "Image":{
          "Information":"![Information]({information.png})",
          "Warning":"![Warning]({warning.png})",
          "Error":"![Error]({error.png})"
        },
        "Icon":{
          "Information":"💚",
          "Warning":"💛",
          "Error":"❤️"
        }
      }          
    }
  }
}
  • Stack:是否包含异常堆栈(布尔值,默认:是)
  • Id:日志标识号的格式化文本,如上例所示:可以通过日志标识号在其他的日志存储中快速定位当前日志。
  • Image:用指定的 Markdown 替换钉钉消息中首行的日志等级,如上例所示:用指定的图片替换对应的日志等级,来提高辨识度。
  • Icon:用指定的字符替换钉钉聊天列表中新消息标题中的日志等级,如上例所示:用指定的 UTF8 图标来替换对应的日志等级,来提高辨识度。

自定义其他格式的消息

默认实现了 Markdown 消息,如果有特殊需要,参考 钉钉官方文档 中的 消息类型及数据格式,实现 IFormatter 接口即可。

依赖说明

使用示例

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.2 394 10/10/2022
1.0.1 360 10/10/2022
1.0.0 368 10/9/2022