10

有没有办法在 Web 浏览器中查看 PHP 错误日志或 Apache 错误日志?

我发现 ssh 到多个服务器并运行“tail”命令来跟踪错误日志很不方便。是否有一些工具(最好是开源的)可以在线显示错误日志(流媒体或非流媒体?

谢谢

4

7 回答 7

9

读取日志和打印的简单 php 代码:

<?php

  exec('tail /var/log/apache2/error.log', $error_logs);

  foreach($error_logs as $error_log) {

       echo "<br />".$error_log;
  }

 ?>

您可以根据需要在 html 中嵌入 error_log php 变量。最好的部分是tail命令将加载不会在您的服务器上造成过多负载的最新错误。

您可以更改tail以根据需要提供输出

前任。tail myfile.txt -n 100// 它将给出最后 100 行

于 2017-08-11T13:08:31.807 回答
8

请参阅Splunk 有哪些商业和开源竞争对手?我会推荐https://github.com/tobi/clarity

简单易用的工具。

于 2011-10-30T19:30:48.610 回答
8

由于每个人都在建议清晰,我还想提一下tailon。我将tailon写成一种更现代、更安全的清晰替代方案。它仍处于早期开发阶段,但您需要的功能已经存在。如果您只对关注单个日志文件感兴趣,您也可以使用wtee 。

于 2013-06-05T09:39:47.117 回答
5

你最好制作一个从 apache2 读取错误日志的脚本。

$apache_errorlog = file_get_contents('/var/log/apache2/error.log');

如果它不起作用.. 尝试使用 php 函数execshell_exec命令“cat /var/log/apache2/error.log”来获取它

编辑:如果您有多个服务器(我有网络服务器),您可以在机器上创建一个文件,当您向该脚本发出请求(散列连接)时,您可以从该服务器获取日志

于 2011-10-30T19:16:12.793 回答
1

我找到了这个解决方案https://code.google.com/p/php-tail/

它运行良好。我只需要更改文件大小,因为我首先遇到了错误。

56       if($maxLength > $this->maxSizeToLoad) {
57                $maxLength = $this->maxSizeToLoad;
58                // return json_encode(array("size" => $fsize, "data" =>   array("ERROR: PHPTail attempted to load more (".round(($maxLength / 1048576), 2)."MB) then the maximum size (".round(($this->maxSizeToLoad / 1048576), 2)    ."MB) of bytes into memory. You should lower the defaultUpdateTime to prevent this from happening. ")));
59       }

而且我添加了默认大小,但不需要

125       lastSize = <?php echo filesize($this->log) || 1000; ?>;
于 2013-06-12T08:17:56.763 回答
1

我知道这个问题有点老了,但是(以及缺乏好的选择)它给了我创建这个小型(开源)网络应用程序的想法。https://github.com/ToX82/logHappens。它可以在线使用,但我会使用 .htpasswd 作为基本登录系统。我希望它有所帮助。

于 2017-04-07T13:44:49.167 回答
1

我推荐 LogHappens: https://loghappens.com,它允许你在 web 中查看错误日志,它是这样的:

LogHappens 支持各种 Web 服务器日志格式,它带有 Apache 和 CakePHP 的解析器,您可以编写自己的。

你可以在这里找到它:https ://github.com/qijianjun/logHappens

它是开源和免费的,我将它分叉并做了一些工作以使其在开发环境或公共环境中更好地工作。那是:

  • 支持安全令牌,没有config.php中的令牌无法访问网站
  • 支持 IP 白名单以确保安全和隐私
  • 支持配置ajax请求间隔
  • 支持从本地加载静态文件(用于本地开发环境)
于 2019-06-02T03:24:41.333 回答