Skip to content

Commit 6fa1c42

Browse files
committed
Identify users in Rollbar
1 parent 6ca4e35 commit 6fa1c42

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

src/libraries/Logger.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
namespace BNETDocs\Libraries;
44

55
use \BNETDocs\Libraries\Exceptions\QueryException;
6+
use \BNETDocs\Libraries\User;
67
use \CarlBennett\MVC\Libraries\Common;
78
use \CarlBennett\MVC\Libraries\DatabaseDriver;
89
use \CarlBennett\MVC\Libraries\Logger as LoggerMVCLib;
10+
use \Exception;
911
use \InvalidArgumentException;
1012
use \PDO;
1113
use \PDOException;
@@ -15,8 +17,22 @@
1517
class Logger extends LoggerMVCLib {
1618

1719
protected static $event_types = null;
20+
protected static $identified_as = null;
1821
protected static $rollbar_available = false;
1922

23+
public static function getIdentity() {
24+
return self::$identified_as;
25+
}
26+
27+
public static function getIdentityAsRollbar() {
28+
$user = self::getIdentity();
29+
return [
30+
'email' => $user->getEmail(),
31+
'id' => $user->getId(),
32+
'username' => $user->getUsername(),
33+
];
34+
}
35+
2036
public static function getTimingHeader($tags = true) {
2137
$buffer = parent::getTimingHeader($tags);
2238
if (self::$rollbar_available) {
@@ -27,6 +43,10 @@ public static function getTimingHeader($tags = true) {
2743
return $buffer;
2844
}
2945

46+
public static function identifyAs(User $user) {
47+
self::$identified_as = $user;
48+
}
49+
3050
public static function initialize() {
3151
parent::initialize();
3252
if (Common::$config->rollbar->access_token_server) {
@@ -40,6 +60,7 @@ public static function initialize() {
4060
[
4161
'access_token' => Common::$config->rollbar->access_token_server,
4262
'environment' => Common::$config->rollbar->environment,
63+
'person_fn' => 'Logger::getIdentityAsRollbar',
4364
],
4465
$rollbar_handle_exceptions,
4566
$rollbar_handle_errors,

src/libraries/Session.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace BNETDocs\Libraries;
44

5+
use BNETDocs\Libraries\Logger;
56
use CarlBennett\MVC\Libraries\Router;
67
use CarlBennett\MVC\Libraries\Session as BaseSession;
78

@@ -32,6 +33,10 @@ public static function checkLogin(Router &$router) {
3233
getenv('HTTP_HOST'), '/'
3334
);
3435
}
36+
// Notify Logger
37+
if (isset($_SESSION['user_id'])) {
38+
Logger::identifyAs(new User((int) $_SESSION['user_id']));
39+
}
3540
}
3641

3742
}

0 commit comments

Comments
 (0)