3. 控制Log信息的函数
调试PHP程序的另外一种重要的方法就是查看Log信息。如果能够方便地控制Log信息的级别以及Log信息的显示内容,将会给程序调试带来更多的便利。下面的几个函数可以方便地实现这个功能。
- $ss_log_level = 0;
- $ss_log_filename = /tmp/ss-log;
- $ss_log_levels = array(
- NONE => 0,
- ERROR => 1,
- INFO => 2,
- DEBUG => 3);
- function ss_log_set_level ($level = ERROR) {
- global $ss_log_level;
- $ss_log_level = $level;
- }
- function ss_log ($level, $message) {
- global $ss_log_level, $ss-log-filename;
- if ($ss_log_levels[$ss_log_level] < $ss_log_levels[$level]) {
-
- return false;
- }
- $fd = fopen($ss_log_filename, "a+");
- fputs($fd, $level. - [.ss_timestamp_pretty().] - .$message."n");
- fclose($fd);
- return true;
- }
- function ss_log_reset () {
- global $ss_log_filename;
- @unlink($ss_log_filename);
- }
在上面的函数中,有四个Log级别变量。运行PHP程序时,只有当Log的级别低于预设的级别值时,Log信息才可以被记录和显示出来。例如,在程序中加入如下的一条语句:
ss_log_set_level(INFO);
那么,运行PHP程序时,只有ERROR和INFO级别的LOG信息才能被记录和显示出来,DEBUG级的信息则被忽略了。除此之外,我们还可以设定显示的信息内容,其语句如下:
ss_log(ERROR, "testing level ERROR");
ss_log(INFO, "testing level INFO");
ss_log(DEBUG, "testing level DEBUG");
你也可以随时使用下面的语句清空LOG信息:
(责任编辑:admin)