使用Serilog将日志写入文件不起作用

时间:2018-05-15 16:48:07

标签: asp.net logging serilog

我有一个基于ASP .NET的应用程序,它使用Serilog进行日志记录,我想通过将日志写入文件来测试它。我正在使用Serilog和Serilog.Sinks.File 到目前为止,代码看起来像这样:

_perfLogger = new LoggerConfiguration()
                .WriteTo.File("C:\\Users\\andav\\Desktop\\NewTest\\logger\\perf.txt")
                .CreateLogger();

_perfLogger.Write(LogEventLevel.Information, "{@LogDetail}", infoToLog);

但是我的所有文件都是空的或者没有创建,我没有收到任何错误。

我做错了吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

我不知道.Net不允许在除App_Data之外的任何其他文件夹中写入。这就是问题所在,我设法解决了这个问题。

答案 1 :(得分:1)

如果您在目录上添加了IIS_IUSRS的读/写权限,则可以。

我通常将日志目录与IIS应用放在同一目录中,然后执行以下操作:

您需要本地管理员权限:

  1. 右键单击要在其中登录文件的目录
  2. 选择属性
  3. 转到“安全性”标签
  4. 点击修改
  5. 点击添加
  6. 键入IIS_IUSRS
  7. 单击检查名称

如果找不到它,请单击位置

  • 单击您的计算机名称,然后单击确定
  • 现在单击支票名称,它应该会解决。

...

  1. 点击确定
  2. 授予修改权限
  3. 点击确定

记录“应该”工作

如果它是inetpub之外的目录,我不确定,但值得尝试。

-吉娜