"Update logging configuration and related files for improved debugging support"

This commit is contained in:
2025-05-29 09:58:29 +02:00
parent 06cfc0b8aa
commit a5e7556527
10 changed files with 665 additions and 203 deletions

View File

@@ -50,6 +50,32 @@ LOG_EMOJIS = {
'kiosk': '📺'
}
# ASCII-Fallback für Emojis bei Encoding-Problemen
EMOJI_FALLBACK = {
'🔍': '[DEBUG]',
'': '[INFO]',
'⚠️': '[WARN]',
'': '[ERROR]',
'🔥': '[CRIT]',
'🖥️': '[APP]',
'⏱️': '[SCHED]',
'🔐': '[AUTH]',
'🖨️': '[JOBS]',
'🔧': '[PRINT]',
'💥': '[ERR]',
'👤': '[USER]',
'📺': '[KIOSK]'
}
def safe_emoji(emoji: str) -> str:
"""Gibt ein Emoji zurück oder einen ASCII-Fallback bei Encoding-Problemen."""
try:
# Teste, ob das Emoji dargestellt werden kann
emoji.encode(sys.stdout.encoding or 'utf-8')
return emoji
except (UnicodeEncodeError, LookupError):
return EMOJI_FALLBACK.get(emoji, '[?]')
# Prüfen, ob das Terminal ANSI-Farben unterstützt
def supports_color() -> bool:
"""Prüft, ob das Terminal ANSI-Farben unterstützt."""
@@ -59,6 +85,14 @@ def supports_color() -> bool:
kernel32 = ctypes.windll.kernel32
# Aktiviere VT100-Unterstützung unter Windows
kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7)
# Versuche UTF-8-Encoding für Emojis zu setzen
try:
import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
except:
pass
return True
except:
return False