私は Python のロギング パッケージを初めて使用しており、プロジェクトで使用する予定です。時間形式を好みに合わせてカスタマイズしたいと思います。チュートリアルからコピーした短いコードを以下に示します。
import logging
# create logger
logger = logging.getLogger("logging_tryout2")
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s")
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)
# "application" code
logger.debug("debug message")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
logger.critical("critical message")
出力は次のようになります。
2010-07-10 10:46:28,811;DEBUG;debug message
2010-07-10 10:46:28,812;INFO;info message
2010-07-10 10:46:28,812;WARNING;warn message
2010-07-10 10:46:28,812;ERROR;error message
2010-07-10 10:46:28,813;CRITICAL;critical message
2010-07-10 10:46:28
時間の形式を、ミリ秒の接尾辞を削除して、「 」だけに短縮したいと思います。Formatter.formatTime を確認しましたが、混乱しています。
ベストアンサー1
から公式文書Formatter クラスに関して:
コンストラクターは、メッセージ形式文字列と日付形式文字列の 2 つのオプション引数を取ります。
だから変えよう
# create formatter
formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s")
に
# create formatter
formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s",
"%Y-%m-%d %H:%M:%S")