Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 483422b

Browse files
committed
Merge pull request laravel#4406 from alprs/feature/error-log-handler
[4.2] Enable easier usage of error_log in Log\Writer
2 parents c8d3123 + 05c8aa2 commit 483422b

2 files changed

Lines changed: 37 additions & 2 deletions

File tree

src/Illuminate/Log/Writer.php

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Monolog\Handler\StreamHandler;
66
use Monolog\Logger as MonologLogger;
77
use Monolog\Formatter\LineFormatter;
8+
use Monolog\Handler\ErrorLogHandler;
89
use Monolog\Handler\RotatingFileHandler;
910
use Illuminate\Support\Contracts\JsonableInterface;
1011
use Illuminate\Support\Contracts\ArrayableInterface;
@@ -88,7 +89,7 @@ public function useFiles($path, $level = 'debug')
8889

8990
$this->monolog->pushHandler($handler = new StreamHandler($path, $level));
9091

91-
$handler->setFormatter(new LineFormatter(null, null, true));
92+
$handler->setFormatter($this->getDefaultFormatter());
9293
}
9394

9495
/**
@@ -105,7 +106,33 @@ public function useDailyFiles($path, $days = 0, $level = 'debug')
105106

106107
$this->monolog->pushHandler($handler = new RotatingFileHandler($path, $days, $level));
107108

108-
$handler->setFormatter(new LineFormatter(null, null, true));
109+
$handler->setFormatter($this->getDefaultFormatter());
110+
}
111+
112+
/**
113+
* Register an error_log handler.
114+
*
115+
* @param integer $messageType
116+
* @param string $level
117+
* @return void
118+
*/
119+
public function useErrorLog($level = 'debug', $messageType = ErrorLogHandler::OPERATING_SYSTEM)
120+
{
121+
$level = $this->parseLevel($level);
122+
123+
$this->monolog->pushHandler($handler = new ErrorLogHandler($messageType, $level));
124+
125+
$handler->setFormatter($this->getDefaultFormatter());
126+
}
127+
128+
/**
129+
* Get a defaut Monolog formatter instance.
130+
*
131+
* @return \Monolog\Formatters\LineFormatter
132+
*/
133+
protected function getDefaultFormatter()
134+
{
135+
return new LineFormatter(null, null, true);
109136
}
110137

111138
/**

tests/Log/LogWriterTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ public function testRotatingFileHandlerCanBeAdded()
2727
}
2828

2929

30+
public function testErrorLogHandlerCanBeAdded()
31+
{
32+
$writer = new Writer($monolog = m::mock('Monolog\Logger'));
33+
$monolog->shouldReceive('pushHandler')->once()->with(m::type('Monolog\Handler\ErrorLogHandler'));
34+
$writer->useErrorLog();
35+
}
36+
37+
3038
public function testMagicMethodsPassErrorAdditionsToMonolog()
3139
{
3240
$writer = new Writer($monolog = m::mock('Monolog\Logger'));

0 commit comments

Comments
 (0)