我正在尝试将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
这不是一个完美的解决方案,但我尝试使用1.0.1版本,并且可以正常工作。https://www.nuget.org/packages/Serilog.Sinks.AzureBlobStorage/1.0.1