我现在遇到了关于使用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>
我的winform中有一个Windows Media Player,带有一个“打开”按钮。代码如下:
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;
}
}
我只是希望当我单击按钮时,openFileDialog显示出来,我可以选择要播放的文件,并且可以记录此事件(logger.Info(“外部文件打开和播放”)。此过程有没问题。问题是连续的操作(“下一步”按钮点击,显示/隐藏播放列表等)不再被记录了!(我在每个事件中都放了一个logger.Info(...))
如果我在其他logger.Info()中插入断点,例如在Nextbutton_click中,当我单击“下一步”按钮时,程序会在该点断开,但没有记录(没有信息写在日志文件中) 。我不知道在打开文件后记录了什么。有人对这个或任何建议有任何想法吗?谢谢。
答案 0 :(得分:2)
我们有一个使用NLOG的WEB API服务,记录了几个月。但是有一天它会突然停止记录。
原因是管理员为日志文件夹添加了新的角色权限,它以某种方式删除了以前的权限,并且NLOG停止了日志记录。
但是,我了解到使用Nlog.Config中的以下设置将帮助您捕获此类无声故障
internalLogLevel =&#34;错误&#34;