NLog日志未记录

时间:2020-03-24 15:17:46

标签: nlog

我是NLog的新手,正在尝试在我正在编写的新应用程序中使用它...

以下是我的NLog配置。

在VS中进行调试时,我得到了期望的日志,但是在VS之外构建并运行程序时,我看不到任何日志。

对为什么有任何想法吗?

<?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="true"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">

  <!-- optional, add some variables
  https://github.com/nlog/NLog/wiki/Configuration-file#variables
  -->
  <variable name="myvar" value="myvalue"/>

  <!--
  See https://github.com/nlog/nlog/wiki/Configuration-file
  for information on customizing logging rules and outputs.
   -->
  <targets>

    <!--
    add your targets here
    See https://github.com/nlog/NLog/wiki/Targets for possible targets.
    See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
    -->

    <!--Write events to a file with the date in the filename.-->
    <target xsi:type="ColoredConsole" name="ColoredConsole" useDefaultRowHighlightingRules="true"
            layout="${message}" />

    <target xsi:type="File" name="ConsilioDeployTool_CLI_ErrorLog" fileName="${basedir}/logs/ConsilioDeployTool_CLI_ErrorLog_${shortdate}.log">
      <layout xsi:type="CsvLayout" delimiter="Pipe" withHeader="true">
        <column name="level" layout="${level:upperCase=true}"/>
        <column name="callsite" layout="${callsite:includeSourcePath=true}" />
        <column name="stacktrace" layout="${stacktrace:topFrames=10}" />
        <column name="exception" layout="${exception:format=ToString}"/>
        <column name="logger" layout="${logger:shortName=false}"/>
        <column name="message" layout="${message}" />
      </layout>
    </target>

  </targets>

  <rules>
    <!-- add your logging rules here -->

    <!-- Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace)  to "f" -->
    <logger name="*" level="Info" writeTo="ColoredConsole" />
    <!--<logger name="*" level="Error" writeTo="ConsilioDeployTool_CLI_ErrorLog" />-->
    <logger name="*" level="Error" writeTo="ConsilioDeployTool_CLI_ErrorLog" />

  </rules>
</nlog>

1 个答案:

答案 0 :(得分:1)

确保用户IIS_IUSRS对站点文件夹具有写权限

您可以通过执行以下操作来分配写权限:

  • 在Windows资源管理器中,右键单击站点文件夹
  • 选择属性
  • 点击安全性标签
  • 点击编辑...
  • 组或用户名:下,选择 IIS_IUSRS
  • IIS_IUSRS的权限下,单击“写入”复选框以允许用户写入站点文件夹
  • 点击应用,然后再次点击确定确定以关闭“属性”窗口

我希望对您有帮助