【发布时间】:2016-06-22 05:37:53
【问题描述】:
我们有一个旧的应用程序部分还没有使用 Monolog。此应用程序需要一次从日志中获取整个输出,因此它可以将其打印在仅对开发人员可见的隐藏 div 中。
很像实时调试...
问题是我不知道如何让 Monolog 记录到数组或为局部变量设置处理程序,或者从日志中获取特定代码部分的输出。
这是我到现在为止的想法:
protected function getHandlers()
{
$handlers = array();
$logsDir = $this->getLogsDir();
$logFile = $logsDir . DIRECTORY_SEPARATOR . 'application.log';
$logfileHandler = new \Monolog\Handler\FingersCrossedHandler($logFile, Logger::ERROR);
array_push($handlers, $logfileHandler);
// When in CLI, we're going to push the logs through STDERR as well
// This way, if needed, we can easily redirect STDERR to STDOUT or to some specified file
if (php_sapi_name() == 'cli') {
$stderrHandler = new StreamHandler('php://stderr', Logger::INFO);
array_push($handlers, $stderrHandler);
}
return $handlers;
}
有人知道哪个处理程序适合这个吗? (欢迎举例)
【问题讨论】:
标签: php debugging logging monolog