【发布时间】:2018-07-06 07:24:27
【问题描述】:
我将我的项目配置为使用 Serilog 通过依赖注入进行日志记录。 我在类构造函数中使用以下模式:
namespace FlickPopper.API.Controllers {
public class ValuesController : Controller {
private ILogger<ValuesController> _logger;
public MyClass(ILogger<ValuesController> logger) {
_logger = logger;
}
}
}
通过这种方式,serilog 创建调用Log.ForContext<classname>的记录器
我的设置是:
"Serilog": {
"WriteTo": [
{
"Name": "RollingFile",
"Args": {
"pathFormat": "Logs\\log-{Date}.txt",
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss} [{Level:u3}] [{SourceContext}] {Message}{NewLine}{Exception}"
}
}
],
"Enrich": [ "FromLogContext" ]
}
所以,日志看起来像这样:
2018-01-26 22:20:08 [INF] [FlickPopper.API.Controllers.ValuesController] Get all values
有什么方法可以格式化 SourceContext 属性以在日志中只显示程序集名称,像这样?
2018-01-26 22:20:08 [INF] [FlickPopper.API] Get all values
【问题讨论】:
标签: c# .net-core asp.net-core-2.0 serilog