天天看點

logging子產品的四大元件

1.四大元件

四大元件包括:Logger,Handler,Filter和Formatter。

logging子產品的四大元件

2.Logger類的相關方法

logger類的主要方法如下:

logging子產品的四大元件

3.Handler類

Handler對象的作用是基于日志消息的level,将消息分發到handler指定的位置,例如檔案,網絡等。常用的方法如下所示:

logging子產品的四大元件

handler的相關子類如下所示:

logging子產品的四大元件

代碼如下:會在同目錄下生成一個all.log檔案

import logging
import logging.handlers
import datetime

logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)

rf_handler = logging.handlers.TimedRotatingFileHandler('all.log', when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))

f_handler = logging.FileHandler('error.log')
f_handler.setLevel(logging.ERROR)
f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))

logger.addHandler(rf_handler)
logger.addHandler(f_handler)

logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
           

輸出如下:

logging子產品的四大元件