如何在Xamarin Android中使用NLog
本文关键字:NLog Android Xamarin | 更新日期: 2023-09-27 18:06:48
我想在我的Xamarin中使用NLog。Droid项目。我安装了NLog。配置和依赖项,并将NLog.Config和NLog.xsd手动移动到Assets文件夹,并将NLog.Config构建操作更改为AndroidAsset。
正如您在从Assets文件夹自动加载NLog.config中看到的那样,我想将NLog.confi格放入Assets文件夹是没有问题的。
之后,我更改了NLog.config,如下所示
<targets>
<target name="console" xsi:type="Console" layout="${longdate} ${callsite} ${level} ${message}"/>
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="console" />
</rules>
在那之后,我写了一些代码,如下所示,用于在控制台中写一些日志
ILogger logger = LogManager.GetCurrentClassLogger();
for (int c = 0; c < 1000; ++c)
logger.Debug("Hi there");
但在那之后,当"Show Output from"设置为Debug时,我在Android设备日志或输出选项卡中看不到任何消息。
我找对地方了吗?
您的配置显示最低级别info
:
<logger name="*" minlevel="Info" writeTo="console" />
但是你正在写debug
级别的。低于CCD_ 3。
logger.Debug("Hi there");
因此,将记录器规则更改为:(级别名称和属性名称不区分大小写(
<logger name="*" minlevel="debug" writeTo="console" />
NLog v5不再自动扫描Androids Assets文件夹中的NLog.config。
从Assets文件夹中显式加载NLog.config,或者考虑将NLog.confi格嵌入为Assembly Ressource:
NLog.LogManager.Setup().LoadConfigurationFromAssemblyResource(typeof(App).GetTypeInfo().Assembly);
另请参阅:https://github.com/NLog/NLog/wiki/Explicit-NLog-configuration-loading
注意NLog。目标。MauiLog也可以用于特定平台的输出:
- 安卓系统-安卓系统。乌蒂尔。日志/LogCat
- Apple iOS/AcOS-统一日志OSLog(取代打印和NSLog(