再也不用翻一堆日志!一键部署轻量级错误监控系统,帮你统一管理 PHP 报错

维护多个项目的人,大概都明白那种感觉。

平时一切都很平静,直到某天,甲方的一句"系统是不是出问题了?"

这时候才发现,问题早就埋在那里了。

你登录服务器,开始翻日志、看 trace,一边调试一边回想昨天是不是又改了什么。问题最终解决了,但那种被动的感觉始终在心里。

我后来想:
这种被动,其实是可以被解决的。

有没有可能在客户找上门之前,我就已经知道问题在哪,甚至提前修掉?


为什么我需要它

我手里有不少 PHP 项目,分散在不同的服务器上。

每个项目都有自己的错误日志,但它们互相独立,没人能统一看到全局情况。

想主动检查,就得一台一台地上服务器翻日志。

没出事的时候翻这些日志浪费时间,但不看又怕真的出了问题。

结果就是那种尴尬的状态:
平时不想看,有事的时候措手不及。

我不想再这样。

我希望有一个地方,能让我一眼看到所有项目的错误,集中展示、集中分析。


我想要的样子

我设想的工具应该能做到几件事:

  1. 接收所有项目上报的错误信息;
  2. 按日期分类保存,支持分页浏览;
  3. 可以在浏览器中直接看到最近的错误;
  4. 最好还能借助 AI 自动分析错误,帮我快速锁定方向。

这就是 oh-shit-logger 的雏形。


为什么用 Go,而不是 PHP

很多人看到这个项目时会问:

"你不是做 PHP 的?为什么用 Go 写?"

其实原因很简单:我想让它"随拿随用"。

PHP 虽然写起来快,但部署环境太麻烦。 不管再怎么简化,总归还是要安装 PHP 环境 而 Go 编译出来是一个独立的可执行文件

上传到服务器就能跑,不用依赖环境,也不用额外配置。

这对我来说非常重要。

我只想有个小程序,能轻轻松松丢到任何服务器上运行,

收集日志、展示信息,不占资源,也不出幺蛾子。

所以最终我选择了 Go。


它现在能做什么

oh-shit-logger 可以在几秒钟内启动。

Releases 里下载编译好的版本,上传到服务器后执行:

bash 复制代码
chmod +x ./app
./app -port=9999 -retain=7 -user=admin -pass=123123

然后访问

http://你的服务器IP:端口号/read

就能看到所有 PHP 项目的错误日志。

PHP 项目上报也很简单,只需要在异常处理中添加一段上报逻辑:

php 复制代码
curl_setopt($ch, CURLOPT_URL, 'http://你的服务器IP:端口号/write');

错误信息会被自动收集、格式化、展示,并且可以通过接入的 DeepSeek AI 自动生成分析结果,告诉你错误可能的原因和修复方向。


AI 的部分

我接入 DeepSeek,不是为了给项目贴个"AI标签"。

关于 AI,网上的讨论很多。 有人相信它能解决一切,甚至不用写一行代码就能做出完整项目; 也有人觉得 AI 看似帮忙,实际上是在暗地里埋雷; 还有人担心长期依赖它,会让个人的思考和判断慢慢退化。

我这种小卡拉米肯定是参与不了这种宏大的争论。 对我来说,AI 的上下文长度就摆在那里,它要是承担太多工作,难免会丢掉一些细节,而且随着任务量的增加记忆只会越丢越多 所以我更愿意把它当成一个"辅助",就像现在的智能驾驶。 它可以给我建议,帮我节省时间,但不要直接动我的东西,最终的决定权还是在我。

有时候我们看到错误信息,稍微一想就知道大概出了什么问题; 但也总有那么些时刻,比如正在开会、接电话、或者状态不太好时, AI 能帮我快速过一遍问题,给出大致的方向。 这样我可以少花点心力,留点精力去解决真正麻烦的部分。


最后的想法

我做这个项目,其实是为了解决自己的一种焦虑。

那种"系统运行着,但我不知道它哪天会出事"的焦虑。

oh-shit-logger 让我重新掌握了节奏。

现在我不再等客户来告诉我哪里坏了,

我能提前看到问题、分析它、修掉它。

这就是它存在的意义。


项目地址

GitHub: github.com/zxc7563598/...

如果这个项目能帮到你,欢迎点个 Star 或提 Issue。

当然他最好帮不到你,希望你部署之后每天面对的都是一个无数据的空列表 🙏

相关推荐
JaguarJack4 小时前
PHP 开发者应该理解的 Linux 入门权限指南
后端·php
2301_793167995 小时前
网络管理部分
linux·运维·服务器·网络·php
程序员爱钓鱼5 小时前
Go语言实战案例——进阶与部署篇:使用Docker部署Go服务
后端·google·go
李白你好14 小时前
一款基于 PHP 的轻量级Webshell管理工具
php
晚风予星15 小时前
Repository Contribution Count Action:开源贡献者的专属统计神器
开源·github
程序员爱钓鱼17 小时前
Go语言实战案例——进阶与部署篇:编写Makefile自动构建Go项目
后端·算法·go
FromCyun18 小时前
优化GitHub访问问题
github·host
该用户已不存在18 小时前
别再用 if err != nil 了,学会这几个技巧,假装自己是Go大神
后端·go
uhakadotcom20 小时前
NVIDIA CUDA Python 常用 API 及详细教程
算法·面试·github