首页 > 解决方案 > Nlog IsDebugEnabled 和所有其他都是错误的

问题描述

我正在尝试为我的解决方案设置 Nlog。我有一个包含多个项目的解决方案,这些项目是 Revit 的加载项。

我按照所有说明操作,设置我的 Nlog.config 文件,设置目标和记录器。但每当我在我的 Logger 上设置断点时,我的所有 IsEnabled 消息都会设置为 false。在此处输入图像描述

我的 Nlog.Config 是这样的:

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">

  <variable name="myvar" value="myvalue"/>

  <targets>
    <target xsi:type="File" name="LoggerForBaseReference" fileName="C:\temp\${shortdate}.log"
            layout="${longdate} ${uppercase:${level}} ${message}" />
  </targets>

  <rules>
    <logger name="AppLogRule" minlevel="Debug" writeTo="LoggerForBaseReference" />
  </rules>
</nlog>

然后在我的主课中我制作记录器:

private static Logger log = LogManager.GetLogger("AppLogRule");

并记录我需要的信息,例如:

log.Info("OnStartup Initialized");

我之前尝试过 Log4Net 并且遇到了完全相同的问题,我对此感到非常困惑。为什么它没有记录,我没有看到什么?

编辑:当我将它添加到 Main 时,它确实会写入一个 .txt 文件,但是我仍然无法编写自己的日志文件

NLog.Common.InternalLogger.LogLevel = LogLevel.Debug;
NLog.Common.InternalLogger.LogToConsole = true;
NLog.Common.InternalLogger.LogFile = "C:\\Temp\\NLog.Internal.txt";

标签: c#loggingapp-confignlog

解决方案


推荐阅读