我使用Xamarin.Forms和MvvmCross配置了ILogger,如下所示:
public class Setup : MvxFormsAndroidSetup<App, UI.App>
{
...
protected override ILoggerProvider CreateLogProvider()
{
return new SerilogLoggerProvider();
}
protected override ILoggerFactory CreateLogFactory()
{
Serilog.Log.Logger = new LoggerConfiguration()
.MinimumLevel.Is(_logEventLevel)
.CreateLogger();
return new SerilogLoggerFactory();
}
...
其中 _logEventLevel 有一个默认值,所有内容都按预期记录。在运行时,我更改了此值,并希望注册一个新的Logger。如何使用更新后的 _logEventLevel 注册一个新的 LoggerConfiguration?
我尝试调用 MvxSetup.InitializeLoggingServices(),但它仍然无法记录更新的MinimumLevel。
你知道吗?
1条答案
按热度按时间xe55xuns1#
从评论中你说你想改变配置是因为你想在运行时改变日志级别,因此你不需要示例化一个新的配置,你可以使用LogginLevelSwitch来代替。
这看起来就像这样:
然后,您可以将
SeriLogLevelSwitch.MinimumLevel
更改为其他值: