Add audit logging.

This commit is contained in:
James Cole
2019-02-08 07:13:59 +01:00
parent f1e83f240e
commit d63c9c9aea
6 changed files with 93 additions and 9 deletions

View File

@@ -0,0 +1,23 @@
<?php
declare(strict_types=1);
namespace FireflyIII\Support\Logging;
/**
* Class AuditLogger
*/
class AuditLogger
{
/**
* Customize the given logger instance.
*
* @param \Illuminate\Log\Logger $logger
*
* @return void
*/
public function __invoke($logger)
{
$processor = new AuditProcessor();
$logger->pushProcessor($processor);
}
}

View File

@@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
namespace FireflyIII\Support\Logging;
/**
* Class AuditProcessor
*/
class AuditProcessor
{
/**
* @param array $record
*
* @return array
*/
public function __invoke(array $record): array
{
$record['extra']['path'] = request()->method() . ':' . request()->url();
$record['extra']['IP'] = app('request')->ip();
if (auth()->check()) {
$record['extra']['user'] = auth()->user()->email;
}
return $record;
}
}