作者:xfziyou315 | 来源:互联网 | 2022-12-02 18:28
我正在使用SeriLog登录基于IdentityServer3的身份验证服务。我只是用serilog.sinks.file插件替换了serilog.sinks.literate插件,以便获得File插件提供的滚动文件功能。当在Startup中将File插件与以下配置代码一起使用时。 CS,它按我的预期工作。(我仅使用RolloverInterval.Minute进行测试。部署代码时,我将切换到RolloverInterval.Day。)
Log.Logger = new LoggerConfiguration()
.WriteTo.File("E:\\Site\\AuthSvc\\Trace.log", rollingInterval: RollingInterval.Minute, retainedFileCountLimit: 10)
.CreateLogger();
就像我说的那样,它可以按预期工作,每分钟创建一个新文件。
现在,我尝试使用serilog.settings.appsettings插件在appSettings中而不是在代码中管理所有配置。所以我将上面的代码更改为:
Log.Logger = new LoggerConfiguration()
.ReadFrom.AppSettings()
.CreateLogger();
我在web.config appSettings中包含以下内容:
当我以上述配置运行服务时,出现错误消息“未找到请求的值'RollingInterval.Minute'”。任何RollingInterval值都会发生类似的错误。
如果我删除了最后两个appSettings,它可以正常工作。我是在做错什么,还是appSettings插件不支持文件接收器插件的滚动文件功能?
1> Caio Proiete..:
我不确定是否已记录(我将检查),但是在通过Serilog.Settings.AppSettings
您设置枚举值时,仅指定枚举成员名称,而没有枚举名称。
例如代替
使用