PHP通用运行日志解决方案的探究
 
对于大访问量(实施负载均衡的多台服务器服务)的网站,统一的日志方案便于监控系统运行,及时找到问题所在。
 
实现方式:
1、数据库存储方式
2、SYSLOG方式
3、SOCKET方式
 
首先对log4php进行研究,使用PDO连接,测试完全ok,当使用socket进行连接的时候,发现下载的log4php缺失两个文件
equire_once 'Net/Server.php';
require_once 'Net/Server/Handler.php';
 
然后对syslog协议和socket进行研究。
 
再研究log4j,发现log4j服务器端和客户端通讯完全正常(同时使用log4j);客户端用log4php进行配置后连接服务端log4j socket时发生异常:
 
java.io.StreamCorruptedException: invalid stream header: 4F3A3138
 
 
最终决定使用SOCKET方式,即服务器端用java编写用于接收客户端发来的日志(log4j下配置和开发);
客户端不限,主要为PHP和java;客户端相对简单,直接调用和配置。
 
解决上述问题之后需要考虑的就是部署工作
 
服务器端用java编写接收客户端发来的日志。采用log4j
客户端语言不限,主要为PHP和java,分别对应log4PHP,log4java
 
参考:
 
 
 
 
引发思考:
 
java socket服务端接收的是字节流
 
PHP推送到socket服务器端的是什么呢?
 
接着查看