【发布时间】:2013-01-11 23:16:05
【问题描述】:
我在我们的一个解决方案中使用 log4net。该解决方案包含多个项目,每个项目都是 Unit-Test 项目。我正在使用this post 中描述的方法将日志记录添加到各个项目中。
我正在使用滚动文件附加程序将所有测试记录到单个日志文件中,该文件根据大小滚动。
我的每个项目都成功记录到日志文件中,但是,如果我从多个项目运行测试(多个测试程序集),我只能看到来自第一个程序集的日志记录。
例如,如果我从 Project_A 和 Project_B 运行测试,我只能看到来自 Project_A 的日志语句(假设 Project_A's 测试在测试运行中首先运行)
我已经检查过的事情:
我已将配置文件作为链接包含在每个项目中
我已将
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]添加到每个项目的程序集文件中。我已经分别测试了每个项目,以确保它们在自己运行时成功登录。
【问题讨论】:
-
为什么要从单元测试中记录?你能在日志代码和配置部分添加你目前拥有的内容吗?
-
您是否在
<appender>配置中使用<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>? -
@RyanGates:这些是编码的 UI 测试,日志记录是弥合自动化和手动测试之间差距的一部分。
-
@madth3:不,我不是,我不知道我需要添加它。我应该补充一下,我没有收到任何错误说 log4net 无法获得锁,所以我认为这不是问题。
-
顶...有人有什么想法吗?
标签: c# visual-studio-2010 log4net mstest log4net-configuration