【发布时间】:2017-08-28 18:40:44
【问题描述】:
我正在使用文件目标写入日志文件,如下所示:
fileName="/Temp/Logs/AppDir/App.log"
当应用程序位于本地驱动器上时,它可以正常工作并写入该位置。如果我将应用程序移动到文件共享,那么我不会在此位置获得日志文件,也不会出现错误。
我认为是权限。在这种情况下,您可以根本不写入本地驱动器还是只写入临时驱动器?我可以让它写在其他地方还是 NLog 配置中有一些设置或我需要查看的东西?
program.cs 中的代码部分:请注意,我没有在 catch 中看到消息框,应用程序运行正常:
static void Main()
{
try
{
Logger.Info("Application Start");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var settings = new Settings();
if (settings.AccessDenied)
Application.Run(new FormAccessDenied());
else
Application.Run(new FormMain(settings));
}
catch (CommunicationException ce)
{
Logger.Error($"{ce.Message}{Environment.NewLine}{ce.StackTrace}");
MessageBox.Show($"{ce.Message}{Environment.NewLine}The application can not proceed");
}
catch (Exception up)
{
Logger.Error($"{up.Message}{Environment.NewLine}{up.StackTrace}");
MessageBox.Show($"An error has occurred in the application. Please consult the log file for more information");
}
}
谢谢!
【问题讨论】:
-
向您的代码添加一些日志记录,看看您是否收到
Access Denied错误。这听起来像是权限问题。如果我们能看到您的代码当前正在做什么,这也会有所帮助 -
它会在几分钟内记录它已启动。它甚至没有创建文件。我不确定我要添加什么日志代码,因为这是日志代码。
-
您熟悉
try{}catch()并使用处理 System.IO 错误的异常......只需发布您的代码,我们可以提供帮助,否则您会根据推测/猜测期待许多答案。跨度> -
我是的。谢谢。
-
然后将您正在写入的代码部分发布到网络共享中。同时阅读
faq on HOW TO ASK A QUESTION
标签: c# winforms networking nlog