Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相当于信息日志的PHP错误日志?_Php_Logging - Fatal编程技术网

相当于信息日志的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);