如何在 Xamarin 中使用 NLog Android
How to use NLog in Xamarin Android
我想在我的 Xamarin.Droid 项目中使用 NLog。我安装了 NLog.Config 和依赖项并将 NLog.config 和 NLog.xsd 手动移动到资产文件夹并将 NLog.config 构建操作更改为 AndroidAsset.
正如你在Load automatically NLog.config from Assets folder中看到的,我想将NLog.config放入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" 设置为调试时,我在 Android 设备日志或输出选项卡中看不到任何消息。
我看对地方了吗?
您的配置显示最小级别 info
:
<logger name="*" minlevel="Info" writeTo="console" />
但是你的写作水平是debug
。在 info
.
下面
logger.Debug("Hi there");
因此将您的记录器规则更改为:(级别名称和属性名称不区分大小写)
<logger name="*" minlevel="debug" writeTo="console" />
我想在我的 Xamarin.Droid 项目中使用 NLog。我安装了 NLog.Config 和依赖项并将 NLog.config 和 NLog.xsd 手动移动到资产文件夹并将 NLog.config 构建操作更改为 AndroidAsset.
正如你在Load automatically NLog.config from Assets folder中看到的,我想将NLog.config放入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" 设置为调试时,我在 Android 设备日志或输出选项卡中看不到任何消息。
我看对地方了吗?
您的配置显示最小级别 info
:
<logger name="*" minlevel="Info" writeTo="console" />
但是你的写作水平是debug
。在 info
.
logger.Debug("Hi there");
因此将您的记录器规则更改为:(级别名称和属性名称不区分大小写)
<logger name="*" minlevel="debug" writeTo="console" />