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.
<PackageVersion Include="Hestia.Logging.DingTalk" Version="1.0.2" />
<PackageReference Include="Hestia.Logging.DingTalk" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Hestia.Logging.DingTalk --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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.
#:package Hestia.Logging.DingTalk@1.0.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Hestia.Logging.DingTalk&version=1.0.2
#tool nuget:?package=Hestia.Logging.DingTalk&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Hestia.Logging.DingTalk
基础说明
参照 钉钉官方文档 创建钉钉机器人(
安全设置使用加签)。在配置文件中的
Logging节点下新增DingTalk节点,配置Url与Secret。{ "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" } } } }日志等级相关的配置可以参考 微软官方文档。
高级说明
Markdown 输出配置
在 DingTalk 节点下,使用 Markdown 节点进行配置。
{
"Logging": {
"DingTalk": {
"Markdown":{
"Stack": false,
"Id": "[查看详细]({0})",
"Image":{
"Information":"",
"Warning":"",
"Error":""
},
"Icon":{
"Information":"💚",
"Warning":"💛",
"Error":"❤️"
}
}
}
}
}
- Stack:是否包含异常堆栈(布尔值,默认:是)
- Id:日志标识号的格式化文本,如上例所示:可以通过日志标识号在其他的日志存储中快速定位当前日志。
- Image:用指定的 Markdown 替换钉钉消息中首行的日志等级,如上例所示:用指定的图片替换对应的日志等级,来提高辨识度。
- Icon:用指定的字符替换钉钉聊天列表中新消息标题中的日志等级,如上例所示:用指定的 UTF8 图标来替换对应的日志等级,来提高辨识度。
自定义其他格式的消息
默认实现了 Markdown 消息,如果有特殊需要,参考 钉钉官方文档 中的 消息类型及数据格式,实现 IFormatter 接口即可。
依赖说明
- Hestia.Logging.Abstractions:参考 Logging.AzureAppServices 实现的日志提供程序。
- Hestia.Security:钉钉消息的
HMAC-SHA256签名计算。
使用示例
| Product | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- Hestia.Logging.Abstractions (>= 1.0.1)
- Hestia.Security (>= 1.1.3)
- Microsoft.Extensions.Configuration.Binder (>= 6.0.0)
- Microsoft.Extensions.Logging (>= 6.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.