Serilog接收ASPNET核心记录
|
我想要的是能够使用Serilog和Microsoft.Extensions.Logging(ILogger)来检测我的代码.并让它们都配置相同,以便它们写入相同的“接收器”.我有一个ASPNET核心应用程序与日志工作和一些依赖库,使用Serilog,我想捕获日志输出(与ASPNET核心应用程序相同的地方). 我知道有一个nuget包可以使用ASPIL Core应用程序进行Serilog日志记录.但是,这个特殊的扩展 (WebAppBuilder).UseSerilog() 似乎用serilog版本完全替换现有的ILoggerFactory,这会阻止我的ASPNET日志记录工作.如果我可以简单地插入serilog配置,使其像原始ASPNET核心机制一样工作,那就没问题.但是,Serilog.Settings.Configuration似乎没有忠实地将配置复制到Serilog. 令我困扰的是,他们不能共享共享配置,如果我使用其他使用NLog的库,如何将其集成到同一个日志记录基础架构中呢? Serilog可以配置为与Microsoft.Extensions.Logging相同吗?如果是这样,这是如何实现的? 解决方法在Program.cs中你将拥有它(在你加载IConfigurationRoot之后):Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.WriteTo.Console()
.CreateLogger();
这会设置一个默认的“控制台”接收器以及您在appsettings.json配置文件中设置的任何其他内容. 在你的appsettings.json中你可能有这个,例如: {
"Serilog": {
"MinimumLevel": {
"Default": "Information","Override": {
"Microsoft": "Warning","System": "Error"
}
},"WriteTo": [{
"Name": "Seq","Args": {
"serverUrl": "http://localhost:5341"
}
}],"Enrich": ["FromLogContext"],"Properties": {
"Application": "MyApplication"
}
}
}
现在你可以写入静态Serilog.Log: Log.Information("JSON example {@Json}",json);
或者注入Microsoft.Extensions.Logging.ILogger: logger.LogInformation("JSON example {@Json}",json);
并且两者都将写入配置的接收器. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – MvcContrib.MVC3-ci和Mvc.Contrib NuGet包之
- asp.net-mvc – 我应该在ASP.NET MVC3中附加自定义用户上下
- asp.net-mvc – 使用CSVHelper将流输出到浏览器
- ValidateInput属性似乎无法在ASP.NET MVC中工作
- ASP.NET MVC路由的无限URL参数
- asp.net – web.config不转发到非.aspx页面上的404错误页面
- MvcBuildViews真实与实体框架在ASP.NET MVC 2
- asp.net – 如何使用Eval在数据绑定控件中调用扩展方法
- 当使用SignalR和传输模式长轮询时,Asp.net会话永不过期
- .Net平台开发的技术规范与实践精华
- ASP.NET页面方法vs Web服务
- asp.net-mvc-3 – 一个窗体中的多个提交输入
- ASP.NET:预编译文件的文件名生成规则
- 是否可以使用ASP.NET ScriptManager来使用Window
- asp.net – Web API服务 – 如何在异步任务中使用
- ASP MVC C#:是否可以将动态值传递给属性?
- Asp.Net Core中WebSocket绑定的方法详解
- asp.net-core-mvc – 在Entity Framework Core中
- asp.net-mvc – 在运行时ASP.NET捆绑和缩小有什么
- asp.net-mvc – SignInManager.PasswordSignInAs
