我使用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内部调试日志,但我无法看到任何不必要的东西。
你能看一下吗?
答案 0 :(得分:0)
我使用它作为DLL,我从python导入所有类和方法。
因此它就像一个控制台应用程序。
我有一个记录到文件的集合,内部log4net调试记录没有告诉我任何事情。
我测试过,如果你锁定一个日志记录文件,它会写一些像Unable to log message这样的内容,但是那个内部日志调试文件就没有了。
奇怪的是,这种情况非常随机,大概有16次执行测试。
答案 1 :(得分:-1)
Log4net收集日志然后将它们一起插入,我注意到有时因为断开连接或其他任何原因,它会丢失这些数据......
当网站回收时,网站(而不是网络应用程序)也会发生很多事情。虽然我无法知道究竟是什么导致这种情况,但我发现如果你激活文件日志,日志就不会丢失......
祝你好运