|
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.