【问题标题】:How to read the last line in a .logs document?如何阅读 .logs 文档的最后一行?
【发布时间】:2020-09-24 17:29:18
【问题描述】:

基本上我有一个日志文件,它一直被程序编辑。我想检查聊天日志的最后一行是否一直包含“在线:”,如果有,我想将其保存为字符串。因此,每次如果日志中最后发送的消息包含单词“ONLINE:”,则字符串将被编辑为包含“ONLINE:”的行。

我一直尝试使用整个 .logs 文件在一段时间内创建一个 ArrayList(true)-Statement(因为文件被编辑)并检查最后一条消息,但这有点不起作用。有什么想法吗?

【问题讨论】:

  • 您好,欢迎来到 StackOverflow。请通过添加您尝试运行的代码示例以及它“有点不真正起作用”的确切方式,使您的问题更具体,更容易让其他人回答。例如,您是否收到错误消息,或者只是您不想要的行为?另外,考虑stackoverflow.com/questions/1073274/…

标签: java file logging arraylist


【解决方案1】:

如果这是您写入日志文件的代码,那么如果当前消息符合您的条件,您可以更改您登录的方法以执行其他一些工作。如果确实如此,那么我也看到了一些代码异味——基本上程序的逻辑不应该依赖于日志记录——所以如果你有(我假设)某种“handleReceivedNetworkMessage()”,你就做你的工作(保存它,过滤器,无论你想要什么),然后作为最后一步记录它。将日志记录视为调试的另一种方式。

另一方面,如果这不是您的程序写入日志文件 - 即您唯一可以访问的是文件系统上某处的.log 文件,您可以使用来自java.nio.fileWatchService , 注册在编辑文件时触发的事件。

想想你真正想用这种东西做什么也是一个好主意。在您的上下文中“将其另存为字符串”是什么意思?

【讨论】:

  • 如果答案解决了您的问题或在某种程度上有用,请记住将其设置为已接受或投票。
猜你喜欢
  • 2013-12-24
  • 2011-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多