我遇到NLog使用此配置记录其内部日志的问题
<?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"
throwExceptions="true"
internalLogFile="${basedir}/App_Data/NLog.log"
internalLogLevel="Trace">
<targets>
<target name="debug"
xsi:type="File"
fileName="${basedir}/App_Data/Site.log" />
</targets>
<rules>
<logger name="*"
writeTo="debug" />
</rules>
</nlog>
目标“debug”运行良好,但是如果我将它设置为例如“D:/NLog.log”,则internalLogFile才有效。
知道为什么会这样吗?
答案 0 :(得分:12)
您不能在internalLogFile属性中使用布局渲染器$ {...}。它们仅用于目标布局:
<target layout="${...}" />
尝试使用“.. \ App_Data \ NLog.log”
之类的相对路径答案 1 :(得分:1)
internalLogFile
属性需要设置为绝对路径,执行程序集需要具有写入该绝对路径的权限。
以下对我有用。
c:
驱动器的路线,例如c:\logs
internalLogFile="C:\logs\nlog.txt"
请记住要自行清理,不要在
上留下具有这些权限的目录答案 2 :(得分:0)
来自this link我认为路径是绝对的
答案 3 :(得分:0)
NLog版本。 4.6添加对环境变量(如%appdata%或%HOME%)的支持,并在FROM python:3.7-alpine
中使用以下基本布局:
NLog版本。 4.7还添加了以下内容: