log4net缺少日志条目

时间:2016-05-10 17:17:57

标签: .net logging log4net

我使用log4net版本1.2.15.0作为Nuget,有时我会错过一些日志条目。 我正在使用这个抛出pythonnet,我不知道为什么会发生这种情况。 我有这样的代码:

logger.Info("reading def");
string textDefinition = FileExtensions.ReadAllTextReadOnly(testPath);
logger.Info("Definition");
logger.Debug(textDefinition);

try
{
    testDefinition = JsonConvert.DeserializeObject<TestSuiteDefinition>(textDefinition);
}
catch (Exception e)
{
    logger.Info("failed reload def");
    logger.Info(e.Message);
}

logger.Info("test 1");

但我记录了这个:

2016-05-10T18:33:50 reading def
2016-05-10T18:33:50 Definition
2016-05-10T18:33:50 { very long JSON... }
After some time logging continues.

这种情况有时仅发生在平均1/16次运行中,在大多数情况下它会记录所有内容。 我打开了log4net内部调试日志,但我无法看到任何不必要的东西。

log4net internal log

你能看一下吗?

2 个答案:

答案 0 :(得分:0)

我使用它作为DLL,我从python导入所有类和方法。

因此它就像一个控制台应用程序。

我有一个记录到文件的集合,内部log4net调试记录没有告诉我任何事情。

我测试过,如果你锁定一个日志记录文件,它会写一些像Unable to log message这样的内容,但是那个内部日志调试文件就没有了。

奇怪的是,这种情况非常随机,大概有16次执行测试。

答案 1 :(得分:-1)

Log4net收集日志然后将它们一起插入,我注意到有时因为断开连接或其他任何原因,它会丢失这些数据......

当网站回收时,网站(而不是网络应用程序)也会发生很多事情。

虽然我无法知道究竟是什么导致这种情况,但我发现如果你激活文件日志,日志就不会丢失......

祝你好运