-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogger.py
More file actions
31 lines (24 loc) · 1.02 KB
/
logger.py
File metadata and controls
31 lines (24 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# =============================================================================
# logger.py — PhantomEye v1.2
# Red Parrot Accounting Ltd
#
# Centralised logging setup with log rotation.
# Import `log` from this module everywhere.
# =============================================================================
import logging
import os
import sys
from logging.handlers import RotatingFileHandler
from config import FEEDS_DIR, LOG_DIR, LOG_FILE
# Ensure directories exist before attaching file handler
os.makedirs(LOG_DIR, exist_ok=True)
os.makedirs(FEEDS_DIR, exist_ok=True)
_fmt = logging.Formatter("[%(asctime)s] %(levelname)s — %(message)s", datefmt="%Y-%m-%d %H:%M:%S")
_file_handler = RotatingFileHandler(LOG_FILE, maxBytes=10 * 1024 * 1024, backupCount=5, encoding="utf-8")
_file_handler.setFormatter(_fmt)
_console_handler = logging.StreamHandler(sys.stdout)
_console_handler.setFormatter(_fmt)
log = logging.getLogger("PhantomEye")
log.setLevel(logging.INFO)
log.addHandler(_file_handler)
log.addHandler(_console_handler)