我需要在大型进程执行后发送一封电子邮件,并将日志文件作为附件,以便用户可以识别任何问题。我们使用log4net来处理所有的日志记录,但我还没能让log4net释放该文件,以便将其作为附件添加。
到目前为止,我关注了这个问题的结果:How to stop log4net from logging and release the last file关于将附加器阈值设置为"Off",但由于DLL没有释放日志文件,我继续收到异常。我可以在调试器中验证附加器实际上处于“关闭”状态,但是进程资源管理器确认我的exe仍然持有对该文件的锁定。
下面是我从链接问题中得到的方法:
private static void SetThreshold(string appenderName, log4net.Core.Level threshold)
{
foreach (log4net.Appender.AppenderSkeleton appender in log4net.LogManager.GetRepository().GetAppenders())
{
if (appender.Name == appenderName)
{
appender.Threshold = threshold;
break;
}
}
}
任何如何强制释放此日志的想法都将非常有帮助。谢谢
https://stackoverflow.com/questions/56261659
复制相似问题