tail -f 等效于 MySQL 日志记录数据库

Nic*_*cek 12 mysql logging

决定我们应该转向使用(MySQL)数据库来存储我们的应用程序日志(它是一个使用 logback 库的 Java 应用程序)。我希望找到类似的东西tail -f,我可以与该数据库中的特定表一起使用,该表将在添加新行时向我显示(类似于tail -f处理日志文件的方式)。

Mar*_*ner 7

我认为有些人不明白这个问题(或者我不明白)。您不想记录对数据库的查询;而是来自应用程序的日志进入数据库。如果它是一个文件,你可以拖尾日志。您如何拖尾表格以便在添加新行时输出?

编写一个简单的循环来处理这个问题应该不难,假设您有一个随时间单调增加的唯一字段(例如,序列号)。

current_pos = select max(seq) from table
while true
  new_pos = select max(seq) from table
  if new_pos > current_pos
    select * from table where seq > current_pos
    current_pos = new_pos
  endif
  sleep 1
endwhile
Run Code Online (Sandbox Code Playgroud)


200*_*ess 5

打开 MySQL 二进制日志记录。然后您可以使用该mysqlbinlog命令查看所有数据修改语句。