34 lines
924 B
Python
34 lines
924 B
Python
"""
|
||
app_logger.py — Central logging til fil i stedet for konsol.
|
||
P¥ 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")]
|
||
# Kun tilføj konsol-handler hvis vi kører med konsol (development)
|
||
if sys.stdout and hasattr(sys.stdout, 'write'):
|
||
try:
|
||
sys.stdout.write("") # test om konsol virker
|
||
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")
|