7

我正在通过 NLog 在我的应用程序中实现日志记录。这是我的 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">
    <target xsi:type="File"
            name="ExceptionTarget"
            fileName="LOG.txt"
            layout="${date:format=dd MMM yyyy HH-mm-ss} ${uppercase:${level}} ${newline}${message} ${exception::maxInnerExceptionLevel=5:format=ToString}${newline}${stacktrace}${newline}"/>
  </targets>

  <targets async="true">
    <target xsi:type="File"
            name="InfoTarget"
            fileName="LOG.txt"
            layout="${date:format=mm-ss} ${uppercase:${level}} ${newline}${message} ${newline}"/>
  </targets>

  <rules>
    <logger name="*" level="Error" writeTo="ExceptionTarget"/>
    <logger name="*" level="Info" writeTo="InfoTarget"/>
  </rules>
</nlog>

当我使用 ClickOnce 部署应用程序时,没有创建 log.txt 文件。没有发生错误,我的应用程序正常运行,但什么也没发生。

如何解决这个问题呢?

4

1 回答 1

18

ClickOnce 安装程序在安装软件时未部署 NLog.config 文件,因此您的应用程序没有任何日志记录配置。

解决方案:

  1. 您可以将日志记录配置合并到您的 app.config 文件中。
  2. Nlog.config 必须具有:构建操作:内容并复制到输出目录:始终复制。
于 2012-12-20T16:14:01.753 回答