gpt4 book ai didi

c# - Log4Net:处置 MemoryAppender

转载 作者:行者123 更新时间:2023-11-30 12:29:16 26 4
gpt4 key购买 nike

我正在使用 MemoryAppender 来读取单元测试中的日志消息。

我按以下方式使用 BasicConfigurator:

    class LogVerifier 
{
private MemoryAppender m_appender;
public LogVerifier()
{
m_appender = new MemoryAppender();
BasicConfigurator.Configure(m_appender);
}

//other stuff

}

因此将为每个单元测试创​​建此类的对象。我试图找出这个静态类 BasicConfigurator 是否保留对 m_appender 的引用,因为如果是这样我想在每次使用后处理 m_appender

有人知道如何实现这一点吗?

谢谢,

最佳答案

我有一些 nUnit 测试根据写入(或未写入)log4net 的事件进行断言。我使用了这个拆卸代码并且效果很好。

[TestFixtureTearDown]
protected void TeardownLogging()
{
if (m_appender != null)
{
m_appender.Clear();
m_appender.Close();
}
m_appender = null;

var appenders = ((log4net.Repository.Hierarchy.Hierarchy) LogManager.GetRepository()).Root as log4net.Core.IAppenderAttachable;
appenders.RemoveAllAppenders();
}

关于c# - Log4Net:处置 MemoryAppender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18901834/

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