0

我有 log4net 日志文件,用于记录某些错误的条目。我必须在 30 秒后检查它在日志文件中记录的第一个错误。我相信 Reg Ex 是可以做到的。到目前为止,我有:

string dataToLog = "certain logged error message";
var matches = Regex.Matches(File.ReadAllText(logfile), dataToLog);
Assert.AreEqual(3, matches.Count);

上面的代码适用于整个文件中的错误数量。但是我需要向它添加可以检查并返回布尔值的代码,即 20 秒后它是否记录了第一个错误。知道如何实现吗?

4

2 回答 2

1

您可以在读取日志文件之前添加以下代码:

DateTime dt30 = DateTime.Now.AddSeconds(30);
            while(DateTime.Now!=dt30)
            {
                continue;
            }
于 2013-02-11T05:08:59.910 回答
0

您可以在给定的时间段内冻结当前线程:

Start();
Thread.Sleep("30000"); // 30 sec
Read();

或支持回调或事件。

于 2013-02-11T05:08:31.010 回答