【发布时间】:2017-07-16 17:27:45
【问题描述】:
目前我有一个 Web 服务项目,在启动代码中我从 Serilog 创建了一个记录器,如下所示:
public Startup()
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.File(AppDomain.CurrentDomain.BaseDirectory + "\\logs\\logs--"+ string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now) + ".log", outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss} [{Level}] {Message}{NewLine}{Exception}",shared:true)
.CreateLogger();
}
当 Web 应用程序关闭时,将在项目域文件夹中本地创建一个日志文件。我想使用 Azure Blob 存储上传此文件。我的问题是,我无法知道应用程序何时会因任何原因关闭,比如说一个错误或者开发人员是否已经使用它。我想将他们会话中的所有日志上传到 blob。 Web 服务代码中是否有一个区域会在它关闭之前进入该区域,以便我可以将上传文件放在那里?
谢谢!
*** 编辑****
我在全局文件中添加了一个方法:
protected void Application_End()
{
Log.Debug("We made it to application end");
Log.CloseAndFlush();
}
【问题讨论】:
标签: c# web-services file-upload azure-blob-storage serilog