Skip to content

Instantly share code, notes, and snippets.

@qnkhuat
Last active December 16, 2020 03:12
Show Gist options
  • Save qnkhuat/2d2ed9e09194da65d20a73d90fe478b1 to your computer and use it in GitHub Desktop.
Save qnkhuat/2d2ed9e09194da65d20a73d90fe478b1 to your computer and use it in GitHub Desktop.
import os
import sys
import logging
from datetime import datetime, timedelta
import pytz
def local_time(sec, what, tz="Asia/Ho_Chi_Minh"):
"""get datetime now with viet name timezone for logger"""
lc_time = datetime.now(tz=pytz.timezone(tz))
return lc_time.timetuple()
logger = logging.getLogger(__main__)
stream_handler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter(
"%(asctime)s - %(module)s %(funcName)s:%(lineno)d - [%(levelname)s] - %(message)s"
)
stream_handler.setFormatter(formatter)
logger.addHandler(stream_handler)
logger.setLevel(logging.INFO)
logging.Formatter.converter = local_time
logger.propagate = False
# setup for saving log to file
LOGGING_ROOT = os.path.join(os.getcwd(), "logs")
os.makedirs(LOGGING_ROOT, exist_ok=True)
LOGGING_FILE = os.path.join(LOGGING_ROOT, '{:%Y-%m-%d}.log'.format(datetime.now()))
file_handler = logging.FileHandler(LOGGING_FILE)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.info(f"All logs will be saved in {LOGGING_FILE}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment