NLog文件目标:从文件共享启动应用程序,写入C:\ Temp - 无输出

时间:2017-08-28 18:40:45

标签: c# winforms networking nlog

我使用文件目标写入日志文件,如下所示:

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");
    }
}

谢谢!

1 个答案:

答案 0 :(得分:0)

这可能是一个权限错误。您可以通过以下方式检查:

或:启用内部日志记录,在您的配置中,在这种情况下警告就足够了

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/bootstrap-select.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/css/bootstrap-select.min.css">
<div class="form-group" id="form-group-1">
  <label for="select1">Select list:</label>
  <select class="form-control" id="select1">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
  </select>
</div>

<button id="setval">Set value</button>

或启用异常抛出。

<nlog internalLogFile="c:\log.txt" internalLogLevel="Warn">

建议在生产中转换<nlog throwExceptions="true" /> (默认值)