搜尋
首頁php教程php手册php使用error_log函数记录运行日志的使用总结(转帖)

php使用error_log函数记录运行日志的使用总结(转帖)

Jun 15, 2016 pm 08:00 PM
errorlogphp程式碼開源程式設計程式設計語言記錄軟體開發


php使用error_log函数记录运行日志的使用总结
(2012-09-26 22:10:37)
转载▼
标签:
php
日志
调试
error_log
access_log
    分类: PHP-CI
运行环境:centos+apache+mysql
背景:
http的访问日志可通过apache的access_log和error_log查看。
那么,当需要调试或记录php的运行日志时,如何实现?
syslog()方法?
主要用于记录系统日志,不太适用。

fopen fput fclose?
可以,但操作繁琐

error_log()?
这是目前为止我发现的最好的使用原生函数的方法。

那么就详细介绍下error_log方法。
php手册这样解释:

error_log() 函数向服务器错误记录、文件或远程目标发送一个错误。

若成功,返回 true,否则返回 false。
语法

error_log(error,type,destination,headers)

参数     描述
error     必需。要记录的错误消息。
type     

可选。规定错误记录的类型。

可能的记录类型:

    0 - 默认。根据在 php.ini 文件中的 error_log 配置,错误被发送到服务器日志系统或文件。
    1 - 错误被发送到 destination 参数中的地址。只有该类型使用 headers 参数。
    2 - 通过 PHP debugging 连接来发送错误。该选项只在 PHP 3 中可用。
    3 - 错误发送到文件目标字符串。

destination     可选。规定向何处发送错误消息。该参数的值依赖于 "type" 参数的值。
headers     

可选。只在 "type" 为 1 时使用。

规定附加的头部,比如 From, Cc 以及 Bcc。由 CRLF (\r\n) 分隔。

注释:在发送电子邮件时,必须包含 From 头部。可以在 php.ini 文件中或者通过此参数设置。

举例说明实现过程:
1 我们可以在centos里创建一个文件,用于接收php日志。
touch /usr/local/apache/logs/php_debug_log
chown daemon:daemon /usr/local/apache/logs/php_debug_log
2 php code:
$ok = error_log(date('Y-m-d H:i:s') . 'this is debug string',3,'/usr/local/apache/logs/php_debug_log');
3 通过apache运行php程序,可通过以下命令在linux shell端查看日志记录信息。
tail -f /usr/local/apache/logs/php_debug_log
4 完毕

注意,php_debug_log文件的own和所属组必须为apache配置文件httpd.conf中指定的user和group才能使的error_log()函数有权限写入日志到该文件。
但是 apache的access_log和error_log日志文件由通过root账户启动的apache进程写入,对access_log和error_log的所属者和组无要求,均可写入日志。


最后,感谢小董的支持,才能让我快速掌握这些。

大家对php的日志记录如果有更复杂需求,可适用其他第三方软件实现。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版