php拖尾两个不同的日志

时间:2014-02-06 19:38:30

标签: php string logging tail

我目前正在使用php脚本来拖尾我的服务器上的日志文件但是根据我运行的软件,日志文件可能位于不同的位置并且具有不同的名称。目前我必须手动调整我的脚本以适应这一点。

以下是我用于程序1的内容:

$cmd = "tail -75 /home/user/data.log";

以下是我用于第二阶段的内容:

$cmd = "tail -75 /home/user/log/data2.log";

这是我的logtail脚本当前的样子:

<?php
$cmd = "tail -75 /home/user/data.log";
exec("$cmd 2>&1", $output);
$str = implode("\n", $output);
$patterns[0] = '0000000';
$replacements[0] = '';
$outputline = str_replace($patterns, $replacements, $str);
echo ("$outputline");
?>

是否可以设置脚本以检查是否正在使用哪个日志文件而不是仅仅手动更改脚本?它始终是/home/user/data.log或/home/user/log/data2.log。

2 个答案:

答案 0 :(得分:2)

为什么不检查文件然后采取相应的行动?

if(file_exists("/home/user/data.log"))
  $cmd = "tail -75 /home/user/data.log";
else if(file_exists("/home/user/log/data2.log"))
  $cmd = "tail -75 /home/user/log/data2.log";
else
  die("No file to tail");

答案 1 :(得分:1)

为什么不把它们都拖尾,而不关心使用哪一个? : - )

tail -q fileA fileB 2> /dev/null