Skip to content

Commit 5af7022

Browse files
committed
Merge pull request #1 from moufmouf/1.0
Big cleanup + adding a addLogger method.
2 parents 5852802 + e3a7ecf commit 5af7022

File tree

2 files changed

+67
-35
lines changed

2 files changed

+67
-35
lines changed

README.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,37 @@
11
What is this package
22
====================
33

4-
<div class="alert"><strong>DEPRECATED!</strong> Warning, this package is deprecated in favor of
5-
<em>mouf/utils.log.psr.errorlog_logger</em> that implements the same logger, but with PSR-3
6-
compatibility.</div>
4+
This package contains a PSR-3 compliant composite logger class.
75

8-
This package contains a logger that logs messages in the PHP error log, using the error_log function.
6+
In practice, this class does not log anything but delegates logging to one or many PSR-3 compliant loggers.
7+
This is useful when you want to call multiple loggers at one.
98

10-
Mouf package
11-
------------
9+
Install
10+
-------
1211

13-
This package is part of Mouf (http://mouf-php.com), an effort to ensure good developing practices by providing a graphical dependency injection framework.
12+
```sh
13+
composer require mouf/utils.log.psr.multi-logger
14+
```
15+
16+
Usage
17+
-----
18+
19+
Simply pass an array of loggers to the multi-logger:
20+
21+
```php
22+
$logger1 = new MyLogger();
23+
$logger2 = new AnotherLogger();
24+
25+
$multiLogger = new Mouf\Utils\Log\Psr\MultiLogger([ $logger1, $logger2 ]);
26+
```
27+
28+
You can also add loggers using the `addLogger` method:
29+
30+
```php
31+
$logger1 = new MyLogger();
32+
$logger2 = new AnotherLogger();
33+
34+
$multiLogger = new Mouf\Utils\Log\Psr\MultiLogger();
35+
$multiLogger->addLogger($logger1);
36+
$multiLogger->addLogger($logger2);
37+
```

src/Mouf/Utils/Log/Psr/MultiLogger.php

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,56 @@
11
<?php
2+
23
/*
3-
* Copyright (c) 2013 David Negrier
4-
*
4+
* Copyright (c) 2013-2016 David Negrier
5+
*
56
* See the file LICENSE.txt for copying permission.
67
*/
78

89
namespace Mouf\Utils\Log\Psr;
910

1011
use Psr\Log\LoggerInterface;
11-
use Psr\Log\LogLevel;
1212
use Psr\Log\AbstractLogger;
1313

1414
/**
15-
* A logger class that writes messages into the php error_log.
15+
* A logger class that aggregates several PSR-3 compliant loggers together.
1616
*/
17-
class MultiLogger extends AbstractLogger {
18-
19-
/**
20-
* @var LoggerInterface[] $loggers
21-
*/
22-
private $loggers;
23-
24-
/**
25-
* @param LoggerInterface[] $loggers
26-
*/
27-
public function __construct($loggers){
28-
$this->loggers = $loggers;
29-
}
17+
class MultiLogger extends AbstractLogger
18+
{
19+
/**
20+
* @var LoggerInterface[]
21+
*/
22+
private $loggers;
23+
24+
/**
25+
* @param LoggerInterface[] $loggers Array of loggers to be called
26+
*/
27+
public function __construct(array $loggers = array())
28+
{
29+
$this->loggers = $loggers;
30+
}
31+
32+
/**
33+
* Adds a logger to the list of loggers.
34+
*
35+
* @param LoggerInterface $logger
36+
*/
37+
public function addLogger(LoggerInterface $logger)
38+
{
39+
$this->loggers[] = $logger;
40+
}
3041

3142
/**
3243
* Logs with an arbitrary level.
3344
*
34-
* @param mixed $level
45+
* @param mixed $level
3546
* @param string $message
36-
* @param array $context
37-
* @return null
47+
* @param array $context
3848
*/
39-
public function log($level, $message, array $context = array()) {
40-
foreach ($this->loggers as $logger){
41-
/* @var $logger LoggerInterface */
42-
$logger->log($level, $message, $context);
43-
}
49+
public function log($level, $message, array $context = array())
50+
{
51+
foreach ($this->loggers as $logger) {
52+
/* @var $logger LoggerInterface */
53+
$logger->log($level, $message, $context);
54+
}
4455
}
45-
4656
}
47-
48-
?>

0 commit comments

Comments
 (0)