Files
pytchat-fork/pytchat/config/mylogger.py
taizan-hokuto 9d624f771a Implement CLI
2020-03-08 23:18:30 +09:00

39 lines
1.2 KiB
Python

from logging import NullHandler, getLogger, StreamHandler, FileHandler, Formatter
import logging
from datetime import datetime
def get_logger(modname,loglevel=logging.DEBUG):
logger = getLogger(modname)
if loglevel == None:
logger.addHandler(NullHandler())
return logger
logger.setLevel(loglevel)
#create handler1 for showing info
handler1 = StreamHandler()
my_formatter = MyFormatter()
handler1.setFormatter(my_formatter)
handler1.setLevel(loglevel)
logger.addHandler(handler1)
#create handler2 for recording log file
if loglevel <= logging.DEBUG:
handler2 = FileHandler(filename="log.txt", encoding='utf-8')
handler2.setLevel(logging.ERROR)
handler2.setFormatter(my_formatter)
logger.addHandler(handler2)
return logger
class MyFormatter(logging.Formatter):
def format(self, record):
timestamp = (
datetime.fromtimestamp(record.created)).strftime("%m-%d %H:%M:%S")
module = (record.module).ljust(15)
funcname = (record.funcName).ljust(18)
lineno = str(record.lineno).rjust(4)
message = record.getMessage()
return timestamp+'| '+module+' { '+funcname+':'+lineno+'} - '+message