From 57503d9c6ee8ef2d84f2b5b10fb9e09fd978540c Mon Sep 17 00:00:00 2001 From: Michael Kaufmann Date: Thu, 9 Jan 2020 14:10:50 +0100 Subject: [PATCH] try to touch logfile from settings in order for is_writable to work correctly, thx to rubberduck Signed-off-by: Michael Kaufmann --- lib/Froxlor/FroxlorLogger.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/Froxlor/FroxlorLogger.php b/lib/Froxlor/FroxlorLogger.php index e8cbc84d..f44e4e15 100644 --- a/lib/Froxlor/FroxlorLogger.php +++ b/lib/Froxlor/FroxlorLogger.php @@ -87,10 +87,13 @@ class FroxlorLogger self::$ml->pushHandler(new SyslogHandler('froxlor', LOG_USER, Logger::DEBUG)); break; case 'file': - if (empty(Settings::Get('logger.logfile')) || ! is_writeable(Settings::Get('logger.logfile'))) { + $logger_logfile = Settings::Get('logger.logfile'); + // is_writable needs an existing file to check if it's actually writable + @touch($logger_logfile); + if (empty($logger_logfile) || ! is_writable($logger_logfile)) { Settings::Set('logger.logfile', '/tmp/froxlor.log'); } - self::$ml->pushHandler(new StreamHandler(Settings::Get('logger.logfile'), Logger::DEBUG)); + self::$ml->pushHandler(new StreamHandler($logger_logfile, Logger::DEBUG)); break; case 'mysql': self::$ml->pushHandler(new MysqlHandler(Logger::DEBUG));