班门弄斧,关于LOG之我的经历。顺便散分。
我所在的公司一直都在作一个商业程序,而且卖的还非常好。但随着运行时间的推进,越来越多的不可思议的操作问题就出现了。
前几天就有一个客户打电话过来,[我今天10点钟接到我的会员的电话,他的资料要改动,我已经让我的工作人员修改了,可是他12点为什么还是登入不了?]
于是我就和服务器管理人员协调,调出apache log,mysql log。嗯?你是在1点修改的资料,他12点怎么可以登陆?但是从这件事情上让我觉得做一个单独log的必要性。
据我所知 log 应该有以下这么几种
DEBUG(调试) > INFO(操作) > WARNING(警告) > ERROR(错误) > FATAL(严重错误)
当然还有不写入LOG。如果选了了DEBUG,那么,INFO,WARNING,ERROR,FATAL全部需要写入,选择了INFO,DEBUG不写入,而其他的都需要写入,以此类推。
这样,根据你的类,在程序中加入$log->writeFatal(sprintf("time=%s,errorcode=%s,sql=%s",date("m/d G:i:s"),$db->getMessage(),$sql));之类的代码,他就会根据你的选择来判断他是不是需要写入log文件。
log的存放地址,你是把他放到var/log/下,还是别的地方,这个事你自己的问题。你是用PHP来写LOG,还是用PEAR来写LOG,这个事你自己喜爱的事情,文件类的操作是很简单的事情。(当然,很多事情都需要考虑,这是细节方面的问题)
这样,我现在在接到电话的时候,我就可以不用麻烦服务器管理人员,[你稍等,我来查一下],马上就会给出答复。这对于我们自己的服务来说,还能有哪个客户不能得到满意呢?
声明,这只是我自己公司的解决办法,CSDN高手如云,每个人都会有自己的独特的解决办法,所以请大家虚心指教,我的任务只是放分而已。