1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
require __DIR__ . '/vendor/autoload.php'; |
4
|
|
|
|
5
|
|
|
$logfile = new Logfile\Logfile('edebc96b-85df-cf14-1487-72fb8ee7a171'); |
6
|
|
|
$logfile->getSender()->setHost('localhost:8077'); |
7
|
|
|
$logfile->getSender()->setScheme('http'); |
8
|
|
|
$logfile->sendAsync(true); |
9
|
|
|
$logfile->getConfig()->setTags([ |
10
|
|
|
'php_version' => phpversion(), |
11
|
|
|
]); |
12
|
|
|
$logfile->getConfig()->setUser(['id' => 1234, 'username' => 'bob']); |
13
|
|
|
$logfile->getConfig()->setRelease(exec('git log --pretty="%H" -n1 HEAD')); |
14
|
|
|
|
15
|
|
|
$handler = new Logfile\Monolog\LogfileHandler($logfile); |
16
|
|
|
|
17
|
|
|
$logger = new Monolog\Logger('debug'); |
18
|
|
|
|
19
|
|
|
$logger->pushProcessor(new Monolog\Processor\ProcessIdProcessor); |
20
|
|
|
$logger->pushProcessor(new Monolog\Processor\MemoryUsageProcessor); |
21
|
|
|
$logger->pushProcessor(new Monolog\Processor\MemoryPeakUsageProcessor); |
22
|
|
|
$logger->pushProcessor(new Monolog\Processor\WebProcessor); |
23
|
|
|
|
24
|
|
|
$logger->pushHandler($handler); |
25
|
|
|
|
26
|
|
|
$logger->info('starting example...'); |
27
|
|
|
|
28
|
|
|
// -------- |
29
|
|
|
|
30
|
|
|
set_exception_handler(function (Throwable $e) use($logfile, $logger) { |
|
|
|
|
31
|
|
|
$logger->error($e->getMessage(), ['exception' => $e]); |
32
|
|
|
}); |
33
|
|
|
|
34
|
|
|
function fail($how) { |
35
|
|
|
throw new ErrorException('whoops '.$how); |
36
|
|
|
} |
37
|
|
|
|
38
|
|
|
try { |
39
|
|
|
$logger->warning('fail coming up...'); |
40
|
|
|
fail('this'); |
41
|
|
|
} catch(ErrorException $e) { |
42
|
|
|
$logger->error('doh coming up...'); |
43
|
|
|
throw new RuntimeException('doh!', 0, $e); |
44
|
|
|
} |
45
|
|
|
|
This check looks for imports that have been defined, but are not used in the scope.