1: <?php
2:
3: namespace Guzzle\Log;
4:
5: /**
6: * Logs messages using Closures. Closures combined with filtering can trigger application events based on log messages.
7: */
8: class ClosureLogAdapter extends AbstractLogAdapter
9: {
10: /**
11: * {@inheritdoc}
12: */
13: public function __construct($logObject)
14: {
15: if (!is_callable($logObject)) {
16: throw new \InvalidArgumentException('Object must be callable');
17: }
18:
19: $this->log = $logObject;
20: }
21:
22: /**
23: * {@inheritdoc}
24: */
25: public function log($message, $priority = LOG_INFO, $extras = null)
26: {
27: call_user_func($this->log, $message, $priority, $extras);
28: }
29: }
30: