33 lines
825 B
Python
33 lines
825 B
Python
"""
|
|
app_logger.py - Central logging til fil i stedet for konsol.
|
|
Paa Windows uden konsol skrives alt til ~/.linedance/app.log
|
|
"""
|
|
|
|
import logging
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
LOG_PATH = Path.home() / ".linedance" / "app.log"
|
|
|
|
|
|
def setup_logging():
|
|
LOG_PATH.parent.mkdir(parents=True, exist_ok=True)
|
|
handlers = [logging.FileHandler(LOG_PATH, encoding="utf-8")]
|
|
if sys.stdout and hasattr(sys.stdout, 'write'):
|
|
try:
|
|
sys.stdout.write("")
|
|
handlers.append(logging.StreamHandler(sys.stdout))
|
|
except Exception:
|
|
pass
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
|
datefmt="%H:%M:%S",
|
|
handlers=handlers,
|
|
force=True,
|
|
)
|
|
|
|
|
|
logger = logging.getLogger("linedance")
|