gpt4 book ai didi

c# - 如何禁止在应用程序启动时创建空日志文件?

转载 作者:可可西里 更新时间:2023-11-01 03:06:42 27 4
gpt4 key购买 nike

我已经在我的应用程序中成功配置了 log4net,但有一件事让我有点恼火。

即使没有发生错误,我的应用程序启动后也会创建(空)日志文件。我想仅在出现某些错误后才创建日志文件。

最佳答案

我实际上在这个线程中找到了执行此操作的方法:

http://www.l4ndash.com/Log4NetMailArchive/tabid/70/forumid/1/postid/18271/view/topic/Default.aspx

我已经测试了第一种方法并且有效。以防万一链接不再有效,我将在此处重现代码。基本上,作者声明有两种方法可以做到这一点。

第一种方式:

创建一个新的锁定模型,如果该记录器的适当阈值有效,该模型仅获取锁(并创建文件)。

public class MyLock : log4net.Appender.FileAppender.MinimalLock
{
public override Stream AcquireLock()
{
if (CurrentAppender.Threshold == log4net.Core.Level.Off)
return null;

return base.AcquireLock();
}
}

现在在配置文件中,将阈值设置为:

<threshold value="OFF" />

并确保在建模时设置这个新的 LockingModel:

<lockingModel type="Namespace.MyLock" />

我将其与滚动文件附加程序一起使用。

第二种方法在链接中列出。我没有尝试过这种技术,但它在技术上似乎是合理的。

关于c# - 如何禁止在应用程序启动时创建空日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2533403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com