json - Serilog 不解析文件名模板
问题描述
我正在使用带有此配置的 serilog:
{
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": "Debug",
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
"WriteTo": [
{ "Name": "Console" },
{
"Name": "File",
"Args": {
"path": "./logs/performance-{Date}.log",
"rollingInterval": "Day",
"fileSizeLimitBytes": 1000,
"rollOnFileSizeLimit": true,
"retainedFileCountLimit": null,
"shared": true
}
}
]
}
}
输出文件应该看起来像20210613-performance.log
但是输出文件看起来像{Date}-performance20210613.log
.
我做错了什么?
解决方案
{Date}
占位符不是Serilog.Sinks.File
您正在使用的接收器的功能。您可能对具有此功能的(已弃用)接收Serilog.Sinks.RollingFile
器感到困惑。
使用Serilog.Sinks.File
,此时,您无法定义日期将出现的位置。它始终附加到您选择的文件名的末尾(如果您也按文件大小滚动,则在序列号之前)。
已经尝试实现此功能,但在撰写本文时还没有。
推荐阅读
- shell - 如何在循环的shell脚本中接收命令行参数
- haproxy - 使用最佳连接重用和保持活动链接 haproxy
- nativescript - 如何在 nativescript 应用程序中指定应用程序组(适用于 iOS)
- c - 如何用 PostgreSQL 编译 Pro*C?
- c# - 如何将 DBSet 实体框架工作对象映射到本地模型?
- python - python尝试执行命令时出现终端错误
- azure - 如何在 Azure 函数中使用 Google Cloud Pub/Sub?
- arrays - 我正在寻找一种使用Angular 2+将ngFor复选框拆分为tr和tds的方法
- laravel - 添加独特的slug以防止创建重复条目的解决方案是什么?
- python - 如何在 macOS 上配置 DJANGO_SETTINGS_MODULE