我正在尝试接收插入到我的日志文件中的消息的最后一行(使用Spring.NET Common Logging)。我的第一步是检索文件的名称,这个名称比预期的要小,因为我找不到相关的属性/演员。
我发现了一些文章,介绍了如何在给出log4net文件阅读器的情况下检索文件名,但是没有任何内容从Spring.NET Common Logging类开始。
收到文件名后,我将使用反向文件阅读器检索姓氏。想知道人们在阅读文件时的想法,而它可能被Common Logging / log4net写入?
答案 0 :(得分:1)
您应该能够打开文件进行阅读,同时仍然可以通过日志记录基础架构进行写入,但我有点担心您计划读取“最后”行。在您发现需要打开文件的位置和您设置打开文件以读取文件的位置之间,可以在日志文件中写入一个条目,这使得您可能很难获得所需的行假设它是日志中的“最后一行”。
我是否正确地假设这是一种响应某些错误条件然后获取与该错误相关的相关日志条目的方法?如果是这样,我建议不要通过阅读“last”行从日志文件中收集此信息,而是建议您解析文件以搜索正确的日志条目(例如,按日期/时间或其他一些信息而不是'最后')。
否则,您可能会在简单的测试场景中获得正确的日志条目,但在任何类型的真正并行负载下的生产系统中都不会。这只是我的2美分......