【发布时间】:2020-09-14 21:46:57
【问题描述】:
我在这样的代码中有一个 serilog 配置:
_seriLog = new LoggerConfiguration()
.WriteTo.DurableHttpUsingTimeRolledBuffers("http://192.168.100.178:8080")
.CreateLogger();
并想将其更改为配置文件。我添加了 Seriolog.Settings.AppSettings nuget 包,并尝试按照 github 上的说明进行操作。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="serilog:minimum-level" value="Verbose"/>
<add key="serilog:using:Http" value="Serilog.Sinks.Http" />
<add key="serilog:write-to:Http.requestUri" value="http://192.168.100.178:8080" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
当我启动应用程序时,它会挂起。没有抛出异常,堆栈跟踪对我来说没有意义。这是 LogManager 线程的堆栈跟踪: stack trace
更新:启动项目实际上引发了异常:无法加载文件或程序集“Serilog.Sinks.Http”。请参阅下面的解决方案。
【问题讨论】:
-
您是否尝试过设置并查看SelfLog?
-
不,我没有。我现在才这样做,但它没有发出任何消息。
-
只是为了确认您已将 .ReadFrom.AppSettings() 添加到您的记录器配置中?
-
是的,我做到了。最低级别设置工作正常,并且我的 ELK Stack 日志服务器上的日志级别正在更改。就在我在 app.config 中添加写入设置时,它会在启动时冻结。
-
请记住,appsettings 方法不会调用您的第一个方法,它会调用 .WriteTo.Http([URL]) 那么您测试了吗?
标签: c# app-config serilog