diff --git a/.gitignore b/.gitignore
index 81d5108cae397b9151249495acd54897a8f1fe45..c49a12edc170f56db2006f682b46e8ab5401beef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,39 @@
-.DS_Store
 .idea
 /nbproject/private/
 .phplint-cache
 *.swp
+
+# macOS-specific things to exclude
+
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+Icon?
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+# Configuration for the Nova editor
+.nova
\ No newline at end of file
diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php
index e4fb8bb24ec936842349afafac63e6d10baee790..f8f4a3081156860fe934162c5293b393b8e68194 100644
--- a/server/lib/app.inc.php
+++ b/server/lib/app.inc.php
@@ -251,7 +251,9 @@ class app {
 				$priority_txt = 'DEBUG';
 				$bt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1);	// we don't need _all_ data, so we save some processing time here (gwyneth 20220315)
 				$caller = array_shift($bt);
-				$file_line_caller = '[' . strtr(basename($caller['file'], '.php'), '_', ' ') . ':' . $caller['line'] . '] ';
+				if(!empty($caller['file']) && !empty($caller['line'])) {
+					$file_line_caller = '[' . strtr(basename($caller['file'], '.php'), '_', ' ') . ':' . $caller['line'] . '] ';
+				}
 				break;
 		case 1:
 				$priority_txt = 'WARNING';