25 lines
730 B
Python
25 lines
730 B
Python
import logging
|
|
from logging.handlers import TimedRotatingFileHandler
|
|
|
|
logger = logging.getLogger("garflog")
|
|
logger.setLevel(logging.INFO)
|
|
formatter = logging.Formatter(
|
|
"%(asctime)s [%(levelname)s] %(message)s", datefmt="%Y-%m-%d %H:%M:%S"
|
|
)
|
|
file_handler = TimedRotatingFileHandler(
|
|
"garfbot.log",
|
|
when="midnight",
|
|
interval=1,
|
|
backupCount=7,
|
|
delay=True, # Counter-intuitively, this will flush output immediately
|
|
)
|
|
file_handler.setFormatter(formatter)
|
|
console_handler = logging.StreamHandler()
|
|
console_handler.setFormatter(formatter)
|
|
logger.addHandler(file_handler)
|
|
logger.addHandler(console_handler)
|
|
|
|
if not logger.hasHandlers():
|
|
logger.addHandler(file_handler)
|
|
logger.addHandler(console_handler)
|