2012-01-10 127 views
1

我试图接收插入到我的日志文件(使用Spring.NET Common Logging)的消息的最后一行。我的第一步是检索文件的名称,这是比预期的有点技巧,因为我无法找到相关的属性/演员为此。如何从Spring.Net获取日志文件位置/名称通用日志记录

我发现了一些关于如何检索给定log4net文件读取器的文件名的文章,但没有从Spring.NET Common Logging类开始。

收到文件名后,我将使用反向文件读取器来检索姓。想知道人们在阅读文件时的想法,而它可能正在被Common Logging/log4net写入?

enter image description here

回答

1

您应该能够打开文件进行读取,而其仍开放供日志基础设施的写作,但我有点担心你的计划来阅读“最后”行。在您发现需要打开文件的位置以及您设置打开文件以读取文件的位置之间,可以在日志文件中写入一个条目,使您很难获得所需的行假设它是日志中的“最后”行。

我正确地认为这是一种方式来回应一些错误条件,然后获取与该错误相关的相关日志条目?如果是这样,我建议不要通过阅读“最后一行”来收集日志文件中的信息,而是建议您解析搜索正确日志条目的文件(例如,按日期/时间或其他信息而不是'持续')。

否则,您可能会在简单的测试场景中获得正确的日志条目,但在任何真正的并行负载下都不会在生产系统中获得正确的日志条目。只是我在这里2分...

+0

它实际上不是错误条件。他们是记录消息,我将使用log4net进行记录,然后我想通过重新读取文件重播最后一条消息和类似的函数。任何内容都不应该存储在状态存储器中。你说使用日志记录基础设施来获取文件名,这是我的问题如何得到它,因为没有明确的属性。 – David 2012-01-10 14:37:30