PHP通用运行日志解决方案的探究

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
 
http://blog.163.com/surfing_3000@126/blog/static/846031452008112632329942/
 
最终决定使用SOCKET方式,即服务器端用java编写用于接收客户端发来的日志(log4j下配置和开发);
客户端不限,主要为PHP和java;客户端相对简单,直接调用和配置。
 
解决上述问题之后需要考虑的就是部署工作
 
服务器端用java编写接收客户端发来的日志。采用log4j
客户端语言不限,主要为PHP和java,分别对应log4PHP,log4java
 
参考:
http://www.ibm.com/developerworks/cn/java/l-log4j/
 
http://www.lurenjia.net/article/168.htm
 
http://topic.csdn.net/u/20070415/10/d339ec62-3eb8-4b42-801e-823fd21bdd1a.html
 
http://kin111.blog.51cto.com/738881/158174
 
引发思考:
 
java socket服务端接收的是字节流
 
PHP推送到socket服务器端的是什么呢?
 
接着查看
 
http://www.cn-java.com/www1/?action-viewnews-itemid-2905
 

本文出自 “CTO之路” 博客,谢绝转载!

你可能感兴趣的:(职场,休闲,运行日志)