pythonの中のcolorlogライブラリの使用詳細
一.説明
cololorlog.coolordFormaterはPython logingモジュールのフォーマットで、端末でログを出力するための色です。
二.取り付け format:ログを出力するためのフォーマット文字列(必須) datefmt:ベースクラスに渡す任意の日付フォーマット。loging.Formater に会います。 reset:暗黙的に、出力が終了していない限り、色リセットコードを追加します。デフォルトはTrue です。 log_colors:レコードレベル名から色名へのマッピング。colorlog.default_でもいいです。ロゴcolorsまたは以下の例では、デフォルト値 が見つかります。 secondary yiロゴcolors:色の名前はlog_になります。colorsスタイルのマッピングは、書式設定された文字列で他の色を使用することができます。以下の例を参照してください。 style:python 3.2以上で利用できます。loging.Formater に会います。
書式設定文字列にパラメータを追加し、ログレベルに応じて色変換コードを選択できます。 log_カラー:ログレベルに関連する色を返します。 _ロゴカラー:フォームに補助色が設定されている場合は、ログレベルに応じて別の色に戻ります。ロゴcolors) ログレベルの色を設定する場合は、コンマを使って複数のトランスコードを接続することができます。ただし、直接書式文字列では使用できません。例えば、black、bg_ホワイトは白い背景にトランスコードを使って黒いテキストを表します。
以下は文字列の書式設定に使用できます。{color}fg_{u}bg_{u}カラー::前景色と背景色 bold、bold_{u}カラー、fg_bold{u}bg_bold{u}カラー:太字/明るい色 reset:前景色と背景色を含むすべてのフォーマットをクリアする 使用できる色の名前はblack,red,green,yellow,blue,purple,cyan and whiteです。
四.実例
1.Colored Formaterの使い方
以下のコードは各パラメータのデフォルト値を使って、loging設定用のColoredFormaterを作成します。
補助ログの色はログレベルに応じて複数の色を選択する方法です。secondaryロゴColorsの各キーには、フォーマットされた文字列で使用できる属性が追加されています。ロゴカラー)とロゴcolorsパラメータフォーマットと同じ対応値
以下の例ではデフォルトログの色を使ってレベル名を強調表示し、ERRORとCRITICALレベルのログ情報を赤色で強調表示します。
4.fileConfigの使用
完全な例を参考にしてください。config.ini
5.カスタムログレベルの使用
ColoredFormaterはloging.addLevelNameを使ってカスタマイズしたログレベルを追加します。
cololorlog.coolordFormaterはPython logingモジュールのフォーマットで、端末でログを出力するための色です。
二.取り付け
pip install colorlog
三.使い方
import colorlog
handler = colorlog.StreamHandler()
handler.setFormatter(colorlog.ColoredFormatter(
'%(log_color)s%(levelname)s:%(name)s:%(message)s'))
logger = colorlog.getLogger('example')
logger.addHandler(handler)
Colored Formater類はいくつかのパラメータを持っています。書式設定文字列にパラメータを追加し、ログレベルに応じて色変換コードを選択できます。
以下は文字列の書式設定に使用できます。
四.実例
1.Colored Formaterの使い方
以下のコードは各パラメータのデフォルト値を使って、loging設定用のColoredFormaterを作成します。
from colorlog import ColoredFormatter
formatter = ColoredFormatter(
"%(log_color)s%(levelname)-8s%(reset)s %(blue)s%(message)s",
datefmt=None,
reset=True,
log_colors={
'DEBUG': 'cyan',
'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red',
'CRITICAL': 'red,bg_white',
},
secondary_log_colors={},
style='%'
)
2.secondary_ロゴcolorsの使用補助ログの色はログレベルに応じて複数の色を選択する方法です。secondaryロゴColorsの各キーには、フォーマットされた文字列で使用できる属性が追加されています。ロゴカラー)とロゴcolorsパラメータフォーマットと同じ対応値
以下の例ではデフォルトログの色を使ってレベル名を強調表示し、ERRORとCRITICALレベルのログ情報を赤色で強調表示します。
from colorlog import ColoredFormatter
formatter = ColoredFormatter(
"%(log_color)s%(levelname)-8s%(reset)s %(message_log_color)s%(message)s",
secondary_log_colors={
'message': {
'ERROR': 'red',
'CRITICAL': 'red'
}
}
)
3.dictConfigの使用
logging.config.dictConfig({
'formatters': {
'colored': {
'()': 'colorlog.ColoredFormatter',
'format': "%(log_color)s%(levelname)-8s%(reset)s %(blue)s%(message)s"
}
},
...
})
一つの完備している例はtests/test_を参考にします。colorlog.py4.fileConfigの使用
[loggers]
keys=root
[logger_root]
handlers=stream
level=DEBUG
[formatters]
keys=color
[formatter_color]
class=colorlog.ColoredFormatter
format=%(log_color)s%(levelname)s:%(name)s:%(message)s:test_config.ini
datefmt=%H:%M:%S
[handlers]
keys=stream
[handler_stream]
class=StreamHandler
formatter=color
args=()
カラーフォーマットが設定されているどのチャネルでも、これらのパラメータ構造のColoredFormaterの例を使用することができます。完全な例を参考にしてください。config.ini
5.カスタムログレベルの使用
ColoredFormaterはloging.addLevelNameを使ってカスタマイズしたログレベルを追加します。
import logging, colorlog
TRACE = 5
logging.addLevelName(TRACE, 'TRACE')
formatter = colorlog.ColoredFormatter(log_colors={'TRACE': 'yellow'})
handler = logging.StreamHandler()
handler.setFormatter(formatter)
logger = logging.getLogger('example')
logger.addHandler(handler)
logger.setLevel('TRACE')
logger.log(TRACE, 'a message using a custom level')
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。