Skip to content

NodeJS 利用 tail 命令,动态读取日志

利用 exec 命令执行当前系统命令。 Windows 下需要下载 tail.exe,Linux 和 mac 下也有 tail 命令。

注:本脚本是 electron 环境,用到了 react。 如果是纯 node.js,无视我回调中的脚本吧。

js
const { exec } = require("child_process");
const fs = require("fs");

const nowDate = dateObject2timeStr(new Date(), "yyyy-MM-dd");
const logFile = `tomcat7/logs/catalina.${nowDate}.log`;
const build = exec(
  `tail.exe ${logFile}`,
  {
    cwd: "./utils",
  },
  (err, stdout, stderr) => {
    if (err) throw err;
  }
);
build.stdout.on("data", (data) => {
  this.setState({ text: data });
  this.refs.textarea.scrollTop = this.refs.textarea.scrollHeight;
});

最后编辑时间:

Version 4.2 (core-1.3.4)