相当于信息日志的PHP错误日志?
我使用相当于信息日志的PHP错误日志?,php,logging,Php,Logging,我使用error\u log进行日志记录,但我意识到必须有一种更惯用的方法来记录应用程序的进度。是否有信息日志?或等效文件?可用于附加到指定文件 error_log($myMessage, 3, 'my/file/path/log.txt'); 请注意,您需要有3(消息类型)才能附加到给定的文件 您可以在脚本的早期创建函数来包装此功能: function log_message($message) { error_log($message, 3, 'my/file/path/log.t
error\u log
进行日志记录,但我意识到必须有一种更惯用的方法来记录应用程序的进度。是否有信息日志
?或等效文件?可用于附加到指定文件
error_log($myMessage, 3, 'my/file/path/log.txt');
请注意,您需要有3(消息类型)才能附加到给定的文件
您可以在脚本的早期创建函数来包装此功能:
function log_message($message) {
error_log($message, 3, 'my/file/path/log.txt');
}
我建议你使用独白: 您可以按编写器添加依赖项:
composer require monolog/monolog
然后,您可以将名为your app name
的应用程序的文件流日志初始化到文件path/to/your.log
,如下所示:
<?php
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// create a log channel
$log = new Logger('your-app-name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
为了使其具有全局性,我建议您将其添加到依赖项注入器中(如果有),或者使用带有静态调用的单例注入器
如果您想了解更多详细信息,请与我联系。等效的是LOG\u INFO
常量:
syslog(LOG_INFO, 'Message');
如果要使用文件(这不是一个好主意,因为没有日志轮换,并且可能会因为并发而失败),可以执行以下操作:
file_put_contents($filename, 'INFO Message', FILE_APPEND);
对但如果某件事不是错误呢?这似乎不是惯用语。在java中,我们有log.info(“…”),log.error(“error msg”)等作为日志记录的常用习惯用法。是的,其他语言在命名约定等方面都比php好。因为php实际上没有日志记录系统(仅用于普通消息),所以您必须创建自己的函数来完成。上述函数将消息添加到文件
log.txt
,而不是常规php错误日志。因此,如果某个内容是错误,您将使用error\u log($message)
,如果某个内容不是错误,那么您将使用log\u message($message)
,稍后在log.txt中读取它。如果您想获得更多乐趣,可以将时间和文件位置添加到消息日志中。
file_put_contents($filename, 'INFO Message', FILE_APPEND);