配置 NLog 以写入 ASP.NET Core MVC 应用程序中的网络文件路径

问题描述 投票:0回答:1

我们正在尝试对使用 NLog 使用文件目标进行日志记录的 ASP.NET Core MVC 应用程序进行负载平衡。负载平衡设置将具有多个应用程序服务器,并且计划将日志存储在网络驱动器中。我们正在以下链接中审查性能调整选项

https://github.com/NLog/NLog/wiki/File-target

并提出以下配置。

<targets async="true">
    <target type="File" name="logfile" fileName="${basedir}/logs/${level}.txt" keepFileOpen="false" networkWrites ="true" />
</targets>

<rules>
    <logger name="*" minlevel="Debug" writeTo="logfile" />
</rules>

有什么办法可以优化配置吗?任何建议都将受到高度赞赏

提前致谢

logging asp.net-core-mvc nlog network-share
1个回答
0
投票

keepFileOpen="false"
networkWrites="true"
具有相同的含义,NLog-project 正在将 networkWrites 标记为过时,以删除重复的逻辑。所以你应该只使用
keepFileOpen="false"

如果多个应用程序要写入同一日志文件路径,那么您还应该启用

concurrentWrites="true"
,因为它将应用
concurrentWriteAttempts="10"
。因此,当共享日志文件被其他应用程序暂时锁定以进行日志写入时,将应用重试逻辑。

但是应用

<targets async="true">
以避免受到网络中断的打击是个好主意。

另请参阅:https://github.com/NLog/NLog/wiki/File-target

© www.soinside.com 2019 - 2024. All rights reserved.