C# 为什么NLog停止日志记录

C# 为什么NLog停止日志记录,c#,nlog,C#,Nlog,我现在遇到了一个关于使用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"> <!-- make sure to set 'Copy To Out

我现在遇到了一个关于使用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">

<!-- make sure to set 'Copy To Output Directory' option for this file -->
<!-- go to http://nlog-project.org/wiki/Configuration_file for more information -->

<targets>
<target name="logfile" xsi:type="File"  filename = "Logfile.txt" /> 
</targets>

<rules>  
<logger name="Program" minlevel="Trace" writeTo="logfile" />
<logger name="traincheck" minlevel="Trace" writeTo="logfile" />
  </rules>
 </nlog>
我只希望当我点击按钮时,openFileDialog会显示出来,我可以选择一个文件来播放,并且可以记录这个事件(logger.Info(“外部文件打开和播放”)。这个过程没有问题。问题是连续的操作(“下一步”按钮点击、显示/隐藏播放列表等)不再被记录!(我在每个事件中都放了一个logger.Info(…)


如果我在other logger.Info()中插入断点,例如在Nextbutton_单击内,当我单击“Next”按钮时,程序在该点中断,但没有记录任何内容(日志文件中没有写入任何信息)。我不知道记录打开的文件后发生了什么。有人知道这一点或有什么建议吗?谢谢。

我们有一个使用NLOG的WEB API服务,记录了几个月。但有一天它突然停止了记录

原因是管理员向日志文件夹添加了新的角色权限,并以某种方式删除了以前的权限,NLOG停止了日志记录

但是,我了解到,在Nlog.Config中使用以下设置将帮助您捕获此类无声故障


internalLogLevel=“Error”

这些其他事件在哪里?以相同的形式?仔细检查每个语句中的
logger
实例是否相同。(顺便说一下,这只是一个猜测)是的,所有事件的形式都相同,并且每条语句中的记录器都完全相同。奇怪的是,所有其他事件都记录得很好。当此事件发生时,记录器似乎不再工作了!请使用openFileDialog1.RestoreDirectory=true。现在您可能会找到正确的Logfile.txt。不使用文件的完整路径名是错误的从来没有错过。是的-正是@HansPassant刚才说的。你需要在NLog配置部分为你的日志文件指定完全限定的路径。@HansPassant太棒了!就是这样,非常感谢!是不是没有这个restore directory命令,日志记录过程就停在那里而不会继续?这与什么有关系使用完整路径名?
private void Open_Click(object sender, EventArgs e)
    {
        openFileDialog1.Multiselect = true;
        openFileDialog1.InitialDirectory = camera_dir;
        logger.Info("External file opening and playing ");

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {                
            openFileDialog1.Filter = "(avi,mp3,wav,mp4,mov,wmv,mpg)   |*.avi;*.mp3;*.wav;*.mp4;*.mov;*.wmv;*.mpgn|all files|*.*";

            axWindowsMediaPlayer1.URL = openFileDialog1.FileName;

        }

    }