【问题标题】:Call to Serilog log writer never returns对 Serilog 日志编写器的调用永远不会返回
【发布时间】:2019-03-29 15:09:10
【问题描述】:

我正在尝试将 Serilog 日志记录添加到我的项目(ASP .NET Web 应用程序 (.NET Framework 4.6.1))中,但无法通过语句的实际日志记录。

var _logger = new LoggerConfiguration()
    .WriteTo.AzureBlobStorage( "DefaultEndpointsProtocol=https;AccountName=zzzzzzzz;AccountKey=xxxxxxx;EndpointSuffix=core.windows.net", Serilog.Events.LogEventLevel.Debug, "dev-logs", "{yyyy}/{MM}/{dd}/log.txt" )
    .CreateLogger();
_logger.Information( "testing" );

如果我设置了一个断点,我可以跳过.CreateLogger() 语句,但如果我尝试跳过.Information() 调用,它永远不会进入下一个语句。不会引发异常,并且该条目永远不会进入日志文件。文件已创建,但仍为空。我错过了什么?我已经用版本 1.2.3 和 1.1.1 试过这个。我也尝试过 Serilog 本身的 2.7.1 和 2.8.0。我的连接字符串有问题吗(在这种情况下,文件是如何创建为空的)?为了让它正常运行,我还需要进行哪些其他设置或更改?

添加到我的项目中的其他软件包: ..\packages\Microsoft.Azure.KeyVault.Core.1.0.0\lib\net40\Microsoft.Azure.KeyVault.Core.dll ..\packages\WindowsAzure.Storage.9.3.3\lib\net45\Microsoft.WindowsAzure.Storage.dll ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\Serilog.2.8.0\lib\net46\Serilog.dll ..\packages\Serilog.Sinks.AzureBlobStorage.1.2.3\lib\net45\Serilog.Sinks.AzureBlobStorage.dll ..\packages\Serilog.Sinks.File.4.0.0\lib\net45\Serilog.Sinks.File.dll ..\packages\Serilog.Sinks.PeriodicBatching.2.1.1\lib\net45\Serilog.Sinks.PeriodicBatching.dll

【问题讨论】:

  • 是否可以中断调试器并从“挂起”状态捕获堆栈跟踪?

标签: c# azure-blob-storage serilog


【解决方案1】:

这不是一个完美的解决方案,但我尝试了 1.0.1 版本并且它正在工作。 https://www.nuget.org/packages/Serilog.Sinks.AzureBlobStorage/1.0.1

【讨论】:

    猜你喜欢
    • 2015-10-08
    • 2017-12-06
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 2011-12-27
    相关资源
    最近更新 更多