Monolog 에서 콘솔에 로그 출력하기 - deprecated

오래된 문서

laravel log channel 기능이 도입되기 전 작성한 문서라 현재는 유용하지 않습니다.


커맨드 라인 프로그램을 작성하거나 할 경우 콘솔에도 로그 출력을 해야 할 경우가 있습니다.


모노로그를 사용할 경우 로그 핸들러로 StreamHandler 를 사용하고 output file 을 stdout 이나 stderr 로 지정하면 됩니다.

<?php

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// create a log channel
$log = new Logger('name');
$log->pushHandler(new StreamHandler('php://stderr', Logger::WARNING));

// add records to the log
$log->addWarning('Foo');
$log->addError('Bar');


라라벨(laravel) 이라면 routes.php  에 다음 내용을 추가하면 모든 로그가 콘솔에도 출력됩니다.

$monolog = Log::getMonolog();
$monolog->pushHandler(new \Monolog\Handler\StreamHandler('php://stderr'));


Ref