NLog将日志文件保存在哪个文件夹中

时间:2019-11-27 11:16:11

标签: .net-core nlog

log用于将系统日志保存在.netCore 2.0中,当我们在IIS上部署构建并在部署目录下创建系统文件夹并在其中放置日志文件时,它可以正常工作。

在部署/调试模式下,它不能在SystemLog文件夹中运行。

  1. 我是否缺少与调试配置有关的任何内容?
  2. 它仅在部署模式下工作吗?
  3. 最小级别为debug,error,info时捕获的日志类型

在下面,我将我的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">

  <targets async="true">
    <!-- File to be Written  -->
    <!--<target xsi:type="File" name="otherFile-web" fileName="${FindAvailableDrive:Drives=C}/Logs/Log-${shortdate}.txt"/>-->
    <target  xsi:type="File" name="SystemLog" fileName="SystemLog\Log-${shortdate}.txt"/>

  </targets >
  <rules>
    <logger name="*" minlevel="Debug" writeTo="SystemLog" />
  </rules>
</nlog>

1 个答案:

答案 0 :(得分:0)

当前,我正在使用此代码,并且工作正常。

<?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"  autoReload="true" internalLogLevel="Trace">
  <targets>
    <target
      name="logfile"
      xsi:type="File"
      fileName="../../../Logs/${shortdate}/${shortdate}_Logs.txt"
      layout="${longdate} | ${level:uppercase=true} | ${stacktrace:format=Raw} | ${message} ${newline}">
    </target>

    <target
      name="logconsole"
      xsi:type="Console">
    </target>

  </targets>
  <rules>
    <logger name="*" minlevel="Info" writeTo="logconsole" />
    <logger name="*" minlevel="Debug" writeTo="logfile" />
  </rules>
</nlog>
  1. 这取决于您要编写哪种类型的日志以及在何处。
  2. https://github.com/nlog/nlog/wiki/Configuration-file#rules