C# 如何从Spring.Net公共日志中获取日志文件位置/名称

C# 如何从Spring.Net公共日志中获取日志文件位置/名称,c#,log4net,spring.net,C#,Log4net,Spring.net,我正在尝试接收插入日志文件的最后一行消息(使用Spring.NET公共日志)。我的第一步是检索文件名,这比预期的要复杂一些,因为我找不到该文件的相关属性/强制转换 我已经找到了一些关于如何检索log4net文件读取器的文件名的文章,但是没有从Spring.NET公共日志类开始 收到文件名后,我将使用反向文件读取器检索姓氏。想知道人们在公共日志/log4net可能写入文件时对读取文件的想法吗 您应该能够在日志记录基础结构仍然打开文件进行写入时打开文件进行读取,但我有点担心您是否计划读取“最后”一行

我正在尝试接收插入日志文件的最后一行消息(使用Spring.NET公共日志)。我的第一步是检索文件名,这比预期的要复杂一些,因为我找不到该文件的相关属性/强制转换

我已经找到了一些关于如何检索log4net文件读取器的文件名的文章,但是没有从Spring.NET公共日志类开始

收到文件名后,我将使用反向文件读取器检索姓氏。想知道人们在公共日志/log4net可能写入文件时对读取文件的想法吗


您应该能够在日志记录基础结构仍然打开文件进行写入时打开文件进行读取,但我有点担心您是否计划读取“最后”一行。在发现需要打开文件和设法打开文件以读取文件之间,其他内容可能会向日志文件写入一个条目,这使得您很难仅通过假设它是日志中的“最后”行来获取所需的行

我假设这是一种响应某些错误条件,然后获取与该错误相关的日志条目的方法,对吗?如果是这样,我建议不要通过读取“last”行从日志文件中收集此信息,而是建议您解析文件,搜索正确的日志条目(例如,按日期/时间或某些其他信息,而不是“last”)


否则,在过于简单的测试场景中,您可能会得到正确的日志条目,但在任何类型的实际并行负载下的生产系统中,您根本不会得到正确的日志条目。这里只有我的2美分

您应该能够在日志记录基础结构仍然打开该文件进行写入时打开该文件进行读取,但我有点担心您读取“最后一行”的计划。在发现需要打开文件和设法打开文件以读取文件之间,其他内容可能会向日志文件写入一个条目,这使得您很难仅通过假设它是日志中的“最后”行来获取所需的行

我假设这是一种响应某些错误条件,然后获取与该错误相关的日志条目的方法,对吗?如果是这样,我建议不要通过读取“last”行从日志文件中收集此信息,而是建议您解析文件,搜索正确的日志条目(例如,按日期/时间或某些其他信息,而不是“last”)


否则,在过于简单的测试场景中,您可能会得到正确的日志条目,但在任何类型的实际并行负载下的生产系统中,您根本不会得到正确的日志条目。这里只有我的2美分

这实际上不是错误条件。它们是记录的消息,我将使用log4net来记录它们,然后我想通过读回文件来重播最后一条消息和类似的函数。状态内存中不应存储任何内容。你说使用日志基础设施来获取文件名,这是我的问题,因为没有明确的属性,如何获取文件名,这实际上不是错误条件。它们是记录的消息,我将使用log4net来记录它们,然后我想通过读回文件来重播最后一条消息和类似的函数。状态内存中不应存储任何内容。你说使用日志基础设施来获取文件名,这是我的问题,因为没有明确的属性,如何获取它。