Kal*_*exx 5 c# deployment clickonce nlog
我正通过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>
<target name="logfile" xsi:type="File" fileName="${specialfolder:dir=PollingLogs:file=log.txt:folder=MyDocuments}" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="logfile" />
</rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)
当我在我的开发机器上运行时,我得到一个log.txt在我的文档文件夹中创建的文件,所有日志记录都正确发生.但是,当我使用ClickOnce部署应用程序时,没有创建log.txt文件(我至少可以找到).没有错误发生,我的应用程序正常运行,但没有发生任何事情.
我很难理解如何调试这个问题.有没有人有他们可以分享的任何见解,以帮助我让NLog在clickonce环境中正常工作?
作为参考,我的项目中的NLog引用设置为复制本地.
要调试此问题,请使用Sysinternal ProcessMon(免费)。它可以向您显示文件访问尝试/由进程组成的其他内容......
对于这种日志,我建议使用ApplicationDataorCommonApplicationData或LocalApplicationDatafromEnvironment.SpecialFolder而不是MyDocuments......