天天看点

Python3 logging自定义 Logger

import logging
import logging.handlers
logging.basicConfig(level = logging.DEBUG,format = '%(asctime)s -%(name)s- %(filename)s[line:%(lineno)d] - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
handler1 = logging.StreamHandler()
handler2 = logging.FileHandler(filename="../log/test.log", encoding = 'utf-8')
#handler2 = logging.FileHandler(filename="../log/test.log", encoding = 'utf-8')不加 utf-8 会encode error
handler2 = logging.handlers.TimedRotatingFileHandler("../log/test.log", when="H", interval=1, backupCount=1, encoding = 'utf-8')
logger.setLevel(logging.DEBUG)
handler1.setLevel(logging.WARNING)
handler2.setLevel(logging.DEBUG)

formatter = logging.Formatter('%(asctime)s -%(name)s- %(filename)s[line:%(lineno)d] - %(levelname)s - %(message)s')
handler1.setFormatter(formatter)
handler2.setFormatter(formatter)

logger.addHandler(handler1)
logger.addHandler(handler2)
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")