以下のように[logger.py]でロギング設定をしているのですが
handler2のようにfileとstream両方出力する場合に
FileHandlerとStreamHandlerでFormatterを分けることは可能でしょうか?
python:logger.py
1 2# -*- coding: utf-8 -*- 3import logging 4import os 5import datetime 6 7 8logger = logging.getLogger("logger") #logger名loggerを取得 9logger.setLevel(logging.DEBUG) #loggerとしてはDEBUGで 10 11#handler1を作成 12handler1 = logging.FileHandler(filename="test.log") 13 14handler1.setFormatter(logging.Formatter("%(asctime)s %(levelname)8s %(message)s")) 15 16#handler2を作成 17handler2 = logging.FileHandler(filename="test.log") #handler2はファイル出力 18handler2 = logging.StreamHandler() 19handler2.setLevel(logging.WARN) #handler2はLevel.WARN以上 20handler2.setFormatter(logging.Formatter("%(asctime)s %(levelname)8s %(message)s")) 21 22#loggerに2つのハンドラを設定 23logger.addHandler(handler1) 24logger.addHandler(handler2) 25 26#出力処理 27logger.debug("debug message") 28logger.info("info message") 29logger.warn("warn message") 30logger.error("error message") 31
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。