From 5a8ae0f75f580fd2370499613709036bd56cc357 Mon Sep 17 00:00:00 2001 From: Michael Kaufmann Date: Sun, 15 Sep 2019 13:49:40 +0200 Subject: [PATCH] do not log multiple times due to pushing log-handlers multiple times Signed-off-by: Michael Kaufmann --- lib/Froxlor/FroxlorLogger.php | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/lib/Froxlor/FroxlorLogger.php b/lib/Froxlor/FroxlorLogger.php index 247c76f2..5db70013 100644 --- a/lib/Froxlor/FroxlorLogger.php +++ b/lib/Froxlor/FroxlorLogger.php @@ -40,6 +40,13 @@ class FroxlorLogger */ private static $userinfo = array(); + /** + * whether the logger object has already been initialized + * + * @var bool + */ + private static $is_initialized = false; + const USR_ACTION = '10'; const RES_ACTION = '20'; @@ -72,19 +79,22 @@ class FroxlorLogger } } - foreach (self::$logtypes as $logger) { + if (self::$is_initialized == false) { + foreach (self::$logtypes as $logger) { - switch ($logger) { - case 'syslog': - self::$ml->pushHandler(new SyslogHandler('froxlor', LOG_USER, Logger::DEBUG)); - break; - case 'file': - self::$ml->pushHandler(new StreamHandler(Settings::Get('logger.logfile'), Logger::DEBUG)); - break; - case 'mysql': - self::$ml->pushHandler(new MysqlHandler(Logger::DEBUG)); - break; + switch ($logger) { + case 'syslog': + self::$ml->pushHandler(new SyslogHandler('froxlor', LOG_USER, Logger::DEBUG)); + break; + case 'file': + self::$ml->pushHandler(new StreamHandler(Settings::Get('logger.logfile'), Logger::DEBUG)); + break; + case 'mysql': + self::$ml->pushHandler(new MysqlHandler(Logger::DEBUG)); + break; + } } + self::$is_initialized = true; } }