【问题标题】:How to use NLog in Xamarin Android如何在 Xamarin Android 中使用 NLog
【发布时间】:2016-09-13 22:04:25
【问题描述】:

我想在我的 Xamarin.Droid 项目中使用 NLog。我安装了 NLog.Config 和依赖项并将 NLog.config 和 NLog.xsd 手动移动到 Assets 文件夹并将 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");

但之后,当“显示输出自”设置为“调试”时,我在 Android 设备日志记录或输出选项卡中看不到任何消息。

我找对地方了吗?

【问题讨论】:

  • 尝试在您的配置文件中将minlevel 设置为Debug,这应该会对您有所帮助。
  • 另见Nloglevels
  • @Anton 是的,你说得对,这是我的错误。

标签: c# xamarin xamarin.android nlog


【解决方案1】:

您的配置显示 minlevel info:

<logger name="*" minlevel="Info" writeTo="console" />

但是你写的是debug 级别。低于info

logger.Debug("Hi there");

因此将您的记录器规则更改为:(级别名称和属性名称不区分大小写)

<logger name="*" minlevel="debug" writeTo="console" />

【讨论】:

  • 将 NLog.config 放到 Assets 中是不是很好?或者这是不好的做法?
  • 我认为是,但不确定,因为它更像是 Xamarin 问题
  • 不要使用 Android 资产,而是使用应该适用于所有 Xamarin 平台的嵌入式资源:github.com/NLog/NLog/wiki/Explicit-NLog-configuration-loading
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多