PHP:登录到一个";“全局数组”;
我有个问题 我正在运行一个小的PHPCLI脚本,它从一个助手类调用函数 像这样: test.phpPHP:登录到一个";“全局数组”;,php,logging,error-handling,global-variables,Php,Logging,Error Handling,Global Variables,我有个问题 我正在运行一个小的PHPCLI脚本,它从一个助手类调用函数 像这样: test.php $TestHelper = new TestHelper(); $test = $TestHelper->method1(); if($test) $TestHelper->method2(); helper.php class TestHelper { public static function method1() { ... addl
$TestHelper = new TestHelper();
$test = $TestHelper->method1();
if($test) $TestHelper->method2();
helper.php
class TestHelper
{
public static function method1()
{
...
addlogfunction("This is a test-log-entry");
}
public static function method2()
{
...
addlogfunction("This is another test-log-entry");
}
...
}
这两种方法都在helper.php中定义
现在,我想将通过运行这两个方法生成的一些信息写入“全局日志”。此日志应包含有关两个被调用方法的信息
在这种情况下,“全局日志”应该包含“这是一个测试日志条目”和“这是另一个测试日志条目”,然后依次运行这两个方法
我该如何解决这个问题呢?将日志消息添加到数组中,希望以后有办法将其输出。因为如果脚本崩溃,数组将丢失,并且日志对调试没有用处 命令行脚本通常会将错误写入STDERR,这将可用于所有其他命令行工具,也可以写入日志文件等 如果配置正确(配置指令),将执行此操作 你也可以直接:
1.你的方法不会返回任何东西2?!哦,这些方法返回了一些东西-方法1返回结果数组或false。但是“假”可能是由许多不同的事情引起的。嗯,我想通过邮件发送错误。所以我不知道这样做是否可行?这取决于您如何执行脚本,但如果您将基本输出到STDOUT和STDERR,并让脚本调用方决定该输出是否应发送到邮件或其他任何地方,则应该更简单、更灵活。当然,您也可以收集数组中的每个日志,并使用PHP通过邮件发送。或者,您可以添加一个日志记录器来完成所有这些工作(Log4HP具有可以发送邮件的附加器-每个日志事件单独发送邮件,或者为整个脚本调用聚合邮件-其他日志库也可以这样做)。
fwrite(STDERR, "Log messages to the error channel\n");