c# - 这种 C# 字符串格式的性质是什么?
问题描述
以下内容摘自此 Microsoft 文档。
_logger.LogInformation("Queued Background Task {Guid} is running. " +
"{DelayLoop}/3", guid, delayLoop);
这种类型的字符串格式是什么?换句话说,它叫什么,它记录在哪里?它是 .NET 还是需要第三方库?
解决方案
它是 ASP.NET Core 日志记录——或者更一般地说,通过Microsoft.Extensions.Logging.Abstractions
.
虽然它看起来有点像 C# 插值字符串文字,但消息实际上是由日志记录基础结构格式化的。该字符串是一个消息模板。消息模板中指定的名称完全独立于稍后提供的表达式 - 但占位符的顺序应为提供的值的顺序。
这允许日志记录提供提取键/值对以执行结构日志记录......因此,例如,您最终可能会在 JSON 中得到这样的日志条目:
{
"message": "Queued Background Task 1234-5678[...] is running. 100/3",
"properties": {
"Guid": "1234-5678[...]",
"DelayLoop": 100
}
}
(这取决于日志记录提供程序。)
推荐阅读
- alloy - 为什么从 Alloy 工具复制文本并粘贴到 Powerpoint 时颜色编码会丢失?
- eclipse-plugin - 清除 SWT-CheckboxTableViewer 的内容
- php - PHP 会话变量在同一页面上丢失
- soapui - 使用soapui时连接拒绝错误
- c - 算术运算符如何处理c中的地址?
- dojo - dgrid 将前几列设置为固定并使其他列可水平滚动
- javascript - Google Maps V3 - 覆盖 API KEY
- javascript - Knockout js Table Edit 列获取 onkeyup/Onchange 最新值。[小提琴] (https://jsfiddle.net/chiks/975ncawv/521/)
- javascript - 如何删除 HTML jQuery JavaScript 中不需要的字符
- amazon-web-services - AWS IoT Core 多环境