25 lines
630 B
Python
25 lines
630 B
Python
import logging
|
|
from pathlib import Path
|
|
|
|
def setup_logging(app_env: str):
|
|
logger = logging.getLogger()
|
|
logger.setLevel(logging.INFO)
|
|
|
|
fmt = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s")
|
|
|
|
# Always log to console (terminal / systemd)
|
|
sh = logging.StreamHandler()
|
|
sh.setFormatter(fmt)
|
|
logger.addHandler(sh)
|
|
|
|
# Dev → additional file logging
|
|
if app_env == "dev":
|
|
log_dir = Path("logs")
|
|
log_dir.mkdir(exist_ok=True)
|
|
fh = logging.FileHandler(log_dir / "app.log", encoding="utf-8")
|
|
fh.setFormatter(fmt)
|
|
logger.addHandler(fh)
|
|
|
|
return logger
|
|
|