2014年11月3日 星期一

python logging

最近有實際需求後才發現logging是個相當好用記錄log的model...

所以在這邊稍微記錄一下平常使用logging的方法

這程式主要的功能是希望每次運行程式後能將log續寫至指定的檔案

並在檔案達到maxBytes指定的大小後便新增新的log檔

新增到backupCount指定的數量後刪除最舊的檔案


# -*- coding: utf-8 -*-

import logging

from logging.handlers import RotatingFileHandler

def log():

        file_path = '{0}/file name'.format(os.path.dirname(os.path.abspath(__file__)))

        # maxBytes => 多少bytes後就開始切檔案,這裡設定2M

        # backupCount => 檔案大於幾個後會開始刪除舊檔案,以這邊為例子就是新增10個檔案後便會開始刪除舊的檔案

        Rhandler = RotatingFileHandler(file_path, maxBytes=2*1024*1024, backupCount=10)

        logger = logging.getLogger(__name__)

        logger.setLevel(logging.INFO)

        logger.addHandler(Rhandler)



        logger.debug("debug message ... 1")

        logger.info("info message ... 2")

        logger.warn("warn message ... 3")

        logger.error("error message ... 4")

if __name__ == '__main__':
        log()