PHP日志记录方法

PHP一直被认为是一种上不了台面的语言,主要是因为它大量的依靠各种函数。但事实上PHP也是网站中使用最广的语言,这跟它的简单方便有关。相比起其他网站语言来说,PHP没有自己的server,需要依赖Apache等服务器,如果你使用Tomcat,你就会明显感觉到PHP少了一个后台控制台,在Tomcat的控制台里你可以事实看到程序输出的日志信息。而PHP就缺少了这种能力,当你遇到在开发PHP程序时,需要实时看到后台打印出日志时,我想你的愿望很难实现。一种变通的方案是将日志出处到一个文件里。PHP里提供了一个error_log(),能帮助你快捷的将日志输出到指定的文件里。

这个函数的接口描述如下:

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

其中第一个参数是要输出的日志,第二个参数是输出的方式,一共有四种方式,分别是:

error_log() 日志类型
0 message 发送到 PHP 的系统日志,使用
操作系统的日志机制或者一个文件,取决于
error_log 指令设置了什么。
这是个默认的选项。
1 message 发送到参数 destination
设置的邮件地址。
第四个参数 extra_headers 只有在这个类型里才会被用到。
2 不再是一个选项。
3 message 被发送到位置为 destination 的文件里。
字符 message 不会默认被当做新的一行。
4 message 直接发送到 SAPI 的日志处理程序中。

我们最常用的是输出到日志文件里,就是3.

下面是一个用法的例子:

<?php
// 如果无法连接到数据库,发送通知到服务器日志
if (!Ora_Logon($username, $password)) {
    error_log("Oracle database not available!", 0);
}

// 如果用尽了 FOO,通过邮件通知管理员
if (!($foo = allocate_new_foo())) {
    error_log("Big trouble, we're all out of FOOs!", 1,
               "[email protected]");
}

// 调用 error_log() 的另一种方式:
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
?>
阅读余下内容
 

一条回应:“PHP日志记录方法”

发表评论

电子邮件地址不会被公开。 必填项已用*标注


京ICP备12002735号