pythonログモジュールlogging使用

1486 ワード

環境
loggingモジュールはpythonが持参したダウンロード不要
ここではツールクラスを定義します
LogUtil.pyツールクラスコードは次のとおりです.
import logging
class LogUtil():
"""
       
"""

@classmethod
def getLogger(self, name):
    """
        (logger)  
    :param name:     logger   
    :return:
    """
    logging.basicConfig(level=logging.DEBUG,
                        format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                        datefmt='%a, %d %b %Y %H:%M:%S',
                        filemode='w')


    logger = logging.getLogger(name)  #     
    handler = logging.FileHandler('scrapyService.log','w')#'w'         log  ,a         
    #       
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    handler.setFormatter(formatter)
    #           
    logger.addHandler(handler)

    return logger

使用方法
ログを記録するモジュールの下で
1.ツールクラスパッケージのインポート
2.新しいツールクラスを作成する
logger = LogUtil.getLogger(__name__)  #     

このうち__name__は自分の欲しい名前を使うことができますが、nameはpythonで現在のクラス名を表すので、直接これを使うと手間が省けます.
3.ログの記録
self.logger.info("       ip:" + proxy)

自分の必要に応じて、infoを.debug,.warning,.error,.criticalに変換してログのレベルを表す
プログラムを走ると、プロジェクトフォルダの下にhelloが見えます.logファイルには、あなたのすべてのログの内容が記録されています.