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;
});