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

Writing logs to files using Serilog is not working

我有一个 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);

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

我是不是做错了什么?

谢谢。

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

如果您在目录上为 IIS_IUSRS 添加 read/write 权限,您也许可以。

我通常将日志目录放在与我的 IIS 应用程序相同的目录中,并执行以下操作:

您需要本地管理员权限:

  1. 右键单击要在其中记录文件的目录
  2. 选择属性
  3. 转到“安全”选项卡
  4. 单击编辑
  5. 单击添加
  6. 输入IIS_IUSRS
  7. 点击检查姓名

如果找不到,请点击位置

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

...

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

记录"should" 工作

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

-吉娜