c# - asp.net 4.6.1 无法使用 NLog 创建日志文件

标签 c# logging nlog

我正在尝试使用 NLog 4.4.12 记录一些应用程序信息,但我似乎无法在我的 C 驱动器 中创建日志文件。

我有一个运行在 .net 4.6.1 上的类库

我在该项目的根目录中创建了一个 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>
    <target name="logfile" xsi:type="File" fileName="c:\ApiLogfile.txt" />
  </targets>

  <rules>
    <logger name="*" minlevel="Info" writeTo="logfile" />
  </rules>
</nlog>

当我调用 logger.Info("NLog to the rescue") 时,输出文件未在 C 驱动器中创建。我在这里遗漏了什么吗?

最佳答案

我无法使用

<target name="logfile" xsi:type="File" fileName="c:\ApiLogfile.txt" />

这可能是一个权限问题,如果您以管理员身份执行该应用程序,它确实有效。

这两个位置对我有用:

<target name="logfile" xsi:type="File" fileName="${basedir}/ApiLogfile.txt" />
<target name="logfile" xsi:type="File" fileName="C:\Users\{username}\Documents\ApiLogfile.txt" />

还要确保将 NLog.config 文件的复制到输出目录设置为始终复制,以确保它被复制到输出目录,这是 NLog 程序集所在的目录期望它是。

关于c# - asp.net 4.6.1 无法使用 NLog 创建日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782868/

相关文章:

javascript - "chkAutoPick.Checked ? string.Empty : "来自 : "+ txtDtFrom.Text" in javascript 的含义是什么

java - 在日志中显示 JAVA_OPTS 环境变量 我如何配置它?

logging - 我们可以将所有控制台日志定向到文件吗?

c# - NLog:从 nlog.config 切换到编程配置

NLog 邮件目标不起作用

c# - 如何从字节数组 c# MVC .NET Core 在 iframe 中显示 pdf

c# - 发送到远程 MSMQ 静默失败

nuget - .net Core - NLog 包

c# - 将所有文件和子目录从一个文件夹移动到同一文件夹的另一个子目录

Xcode - 如何查看构建命令和日志?