Closed lamjack closed 2 years ago
默认在启动的时候会使用console logger,那是因为 client 实例化是跑再日志组件注册之前的,所以为了便于查看问题会手动实例化一个 console logger 。 但是后面调用 UseAddConfig / AddAgileConfig 的时候会使用系统的 logger 组件替换掉默认的那个console logger 。所以日志的 level 也是跟着你系统设置的 level 走的。不想看 trace ,只要设置为 infomation 就可以了 。
"Logging": {
"LogLevel": {
"Default": "Trace",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
明白了,我替换了系统那个,我用的Serilog,所以...
那你 serilog 不注册成系统的 logger provider 吗
注册了,而且我把日志级别也调到只有error,还是会出trace log
如果你是调试模式的化要看一下 dev 那个配置文件是不是也改了 level ,还有你是怎么注册 agileconfig 的,是使用 use 方法还是怎么,贴一下,我试了下是可以起作用的。
这样。
host.UseAgileConfig();
or 你现在的代码加上
servicesCollection.AddAgileConfig();
这样注入
还是会出 trace log..
你那行 clearproviders 是不是有问题
你可以看看 https://github.com/kklldog/AgileConfig_Client 这个项目下的那几个 sample
那行我去掉了,那个是为了 debug 是不是每次 agile client 都会 new 一个新的 console logger,我再试试吧。
启动的时候new一个,但是调用add方法的时候会替换掉: https://github.com/kklldog/AgileConfig_Client/blob/master/AgileConfig.Client/ServiceCollectionExtension.cs#L11
@lamjack 请问这个问题后来解决了吗,我似乎也遇到同样的问题
@lamjack 请问这个问题后来解决了吗,我似乎也遇到同样的问题
问题已解决,之前的使用方法有问题,改成使用UseAgileConfig()
就好了
@kklldog 还是同样的问题..只要用UseSerilog一定会输出trace,可否给一个联系方式,我远程一个remote desktop给你看下。
@kklldog 还是同样的问题..只要用UseSerilog一定会输出trace,可否给一个联系方式,我远程一个remote desktop给你看下。
最多只会输出开头3行日志,你可以试试我那个sample里的 net6项目,把 useserilog 的注释去了。 17014842 # qq .com
好像默认就已经设置了 console logger,看了下代码好像也没有关闭或者设置日志级别的途径?