c# - Log4Net 停止记录,如何恢复?
问题描述
我有一个 log4net (c#, WinForms) 的问题,如果出现暂时性故障(例如由于 VMware 快照而导致网络共享在几秒钟内无法访问),它将停止记录,并且似乎没有记录的方法可以从中恢复中断 - 它只是停止记录,直到应用程序重新启动。版本:v2.0.8
App.config 部分:
<log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender" >
<file type="log4net.Util.PatternString" value="K:\SomeApp-%property{log4net:HostName}-log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="40" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<errorHandler type="Acme.BusinessLayer.Log4NetErrorHandler" />
<layout type="log4net.Layout.PatternLayout">
<header value="[START] " />
<footer value="[END] " />
<conversionPattern value="%date %-5level %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
注意:我正在使用 log4net.Core.IErrorHandler,以便我可以发送一封关于该问题的电子邮件。
当日志文件再次可访问时(通常只需几秒钟),如何恢复/重新启动日志记录?
解决方案
推荐阅读
- spring-boot - 为什么 SpringBoot 应用程序的堆内存使用量不断增加?
- javascript - 为什么 Vue.js 中从挂载钩子发送的 AJAX GET 请求总是忽略浏览器缓存?
- powershell - URL 健康检查 PowerShell 脚本在大多数站点上正确获取 HTTP 200,但在某些站点上不正确的“0”状态代码...API 超时问题?
- c++ - 这个警告“指向算术中使用的函数的指针”是什么意思?
- arrays - 为什么链表叫链表 为什么不链表?
- php - 使用 PHP MVC 框架,未填充从 db 到选择框的选定值
- c - 如何将我的输出从 10.000 更改为 10
- python - Backtrader 给出 IndexError:数组分配索引超出范围
- java - 为什么我需要 Servlet 的映射或注释,而不是 JSP?
- python - 需要帮助在 python 输出后添加文本