这是我的配置文件目标部分中的内容:
<target xsi:type="File" name="fileError" fileName="C:\log\patchError.log" layout="${message}>
这是我的规则部分中的内容:
<logger name="*" minlevel="Error" writeTo="fileError" />
这就是我在课堂上称呼它的方式:
private Logger logger = LogManager.GetCurrentClassLogger();
logger.Error("ERROR");
当我运行代码时它确实创建了一个C:\ log \ patchError.log文件,但文件是空白的,文件中没有任何内容
我没有想法,我尝试了一切,是的,我将NLog.config设置为始终复制并且NLog.XSD存在
这是完整的配置
<?xml version="1.0" encoding="utf-8" ?>
<nlog throwExceptions="true" xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target xsi:type="File" name="fileError" fileName="C:\log\patchError.log" layout="${message}" />
<target xsi:type="File" name="fileInfo" fileName="C:\log\patchInfo.log" layout="${message}" />
</targets>
<rules>
<logger name="*" minlevel="Error" writeTo="fileError" />
<logger name="*" minlevel="Info" writeTo="fileInfo" />
</rules>
</nlog>
答案 0 :(得分:0)
我弄清楚了,它与文件夹权限有关。
我使用构建的可执行文件并在VM上运行它,它运行得很好......所以是的,我的开发机器上的文件夹权限
答案 1 :(得分:0)
将来,也许可以帮助您打开内部日志。
from inspect import signature, Parameter
args =[]
for x, p in signature(foo).parameters.items():
if p.default == Parameter.empty and p.kind != Parameter.VAR_POSITIONAL:
args.append(x)
例如,将internalLogLevel的值更改为debug。
希望它有所帮助!