使用 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 应用程序相同的目录中,并执行以下操作:
您需要本地管理员权限:
- 右键单击要在其中记录文件的目录
- 选择属性
- 转到“安全”选项卡
- 单击编辑
- 单击添加
- 输入IIS_IUSRS
- 点击检查姓名
如果找不到,请点击位置
- 单击您的计算机名称,然后单击确定
- 现在点击检查名称,它应该会解决。
...
- 点击确定
- 授予修改权限
- 点击确定
记录"should" 工作
如果它是 inetpub 之外的目录,我不确定但值得一试。
-吉娜
我有一个 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 应用程序相同的目录中,并执行以下操作:
您需要本地管理员权限:
- 右键单击要在其中记录文件的目录
- 选择属性
- 转到“安全”选项卡
- 单击编辑
- 单击添加
- 输入IIS_IUSRS
- 点击检查姓名
如果找不到,请点击位置
- 单击您的计算机名称,然后单击确定
- 现在点击检查名称,它应该会解决。
...
- 点击确定
- 授予修改权限
- 点击确定
记录"should" 工作
如果它是 inetpub 之外的目录,我不确定但值得一试。
-吉娜