c# - Serilog 停止写入文件
问题描述
我正在使用 Serilog 通过以下配置在我的 WebApi 中记录错误。
private static readonly string LogFileName = System.Web.Hosting.HostingEnvironment.MapPath(@"~/App_Data/Logs/Service.log");
private static void ConfigureLogging(ContainerBuilder builder)
{
var loggerConfig = new LoggerConfiguration()
.ReadFrom.AppSettings()
.WriteTo.Console()
.WriteTo.File(LogFileName != null ? LogFileName : "C:/Temp/Logs/Service.log",
shared: true,
rollingInterval: RollingInterval.Day);
// configure global logger for logging in owin middleware
Log.Logger = loggerConfig.CreateLogger();
builder.Register(_ => Log.Logger).As<ILogger>(); }`
使用应用设置
<appSettings>
<add key="serilog:minimum-level" value="Warning" />
</appSettings>
问题是,它只记录一次。服务还活着,我可以发送更多成功的请求。而且我还看到控制台中记录的请求/错误。但它不会在日志文件中添加。
但是,如果我编辑 WebConfig - 从警告更改为详细然后返回警告,所以没有真正的更改 - 它会再次记录。
解决方案
对于调试和诊断,请使用此自日志,它可能会向您显示应用程序面临的确切错误或问题。在这里检查这个https://github.com/serilog/serilog/wiki/Debugging-and-Diagnostics
推荐阅读
- python - 如何(有效地)找到足够有效数字所需的最小序列长度?
- mysql - 仅使用 xamarin Andriod 连接到 mySQL 数据库时出现问题,但在 iOS 和 UWP 中有效
- swiftui - SwiftUI 不发布模型实例
- python - 修改 YAML 内容
- css - 在锚标记内调整图像大小
- git - 如何使用 gerrit 审查复杂的樱桃精选
- javascript - React SetState 覆盖整个对象而不是合并
- file - Perl Config::IniFiles - 我如何创建 ini 文件'如果不存在'?WriteConfig 方法失败并出现错误
- variables - VHDL如何根据程序声明的结果定义整数范围
- r - 如何将我的列数据转换为社区矩阵