Fix pythonw logging handler crashes and reduce noisy dependency logs
This commit is contained in:
1 parent
3e4ce93824
commit
c0ebe118cb
2 files changed
+41
-2
No files matched your search
+20
-1
@@ -25,7 +25,26 @@ except Exception as gui_import_error:
|
|||||||
print("Then run: pip install -r requirements.txt")
|
print("Then run: pip install -r requirements.txt")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
def configure_logging():
|
||||||
|
"""Configure logging with safe handlers for pythonw/GUI environments."""
|
||||||
|
log_format = '%(asctime)s - %(levelname)s - %(message)s'
|
||||||
|
handlers = []
|
||||||
|
|
||||||
|
try:
|
||||||
|
handlers.append(logging.FileHandler('app_log.txt', encoding='utf-8'))
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
stream = getattr(sys, 'stderr', None) or getattr(sys, 'stdout', None)
|
||||||
|
if stream is not None:
|
||||||
|
handlers.append(logging.StreamHandler(stream))
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.INFO, format=log_format, handlers=handlers, force=True)
|
||||||
|
for noisy_logger in ('webdriver_manager', 'matplotlib', 'urllib3', 'plexapi'):
|
||||||
|
logging.getLogger(noisy_logger).setLevel(logging.WARNING)
|
||||||
|
|
||||||
|
|
||||||
|
configure_logging()
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ creates a playlist of matching songs, and imports it into Plex.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
import sys
|
||||||
from selenium import webdriver
|
from selenium import webdriver
|
||||||
from selenium.webdriver.chrome.options import Options
|
from selenium.webdriver.chrome.options import Options
|
||||||
from selenium.webdriver.chrome.service import Service
|
from selenium.webdriver.chrome.service import Service
|
||||||
@@ -33,7 +34,26 @@ PLEX_TOKEN = os.getenv('PLEX_TOKEN', '').strip()
|
|||||||
SERVER_IP = os.getenv('SERVER_IP', '').strip()
|
SERVER_IP = os.getenv('SERVER_IP', '').strip()
|
||||||
PLAYLIST_NAME = os.getenv('PLAYLIST_NAME', 'Journey FM Holiday').strip()
|
PLAYLIST_NAME = os.getenv('PLAYLIST_NAME', 'Journey FM Holiday').strip()
|
||||||
|
|
||||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
def configure_logging():
|
||||||
|
"""Configure logging with safe handlers for pythonw/GUI environments."""
|
||||||
|
log_format = '%(asctime)s - %(levelname)s - %(message)s'
|
||||||
|
handlers = []
|
||||||
|
|
||||||
|
try:
|
||||||
|
handlers.append(logging.FileHandler('playlist_log.txt', encoding='utf-8'))
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
stream = getattr(sys, 'stderr', None) or getattr(sys, 'stdout', None)
|
||||||
|
if stream is not None:
|
||||||
|
handlers.append(logging.StreamHandler(stream))
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.INFO, format=log_format, handlers=handlers, force=True)
|
||||||
|
for noisy_logger in ('webdriver_manager', 'matplotlib', 'urllib3', 'plexapi'):
|
||||||
|
logging.getLogger(noisy_logger).setLevel(logging.WARNING)
|
||||||
|
|
||||||
|
|
||||||
|
configure_logging()
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
def detect_chrome_binary():
|
def detect_chrome_binary():
|
||||||
|
|||||||
Reference in new issue
Block a user