[解決済み] Pythonのロギングフォーマットはメッセージログレベルに応じて変更できますか?
2023-08-01 08:06:33
質問
私はPythonの
logging
メカニズムを使用しています。 printステートメントでこれを行うことができますが、私は、ユーザーが特定のタイプの出力を無効にするために、より細かい粒度を可能にしたいです。 私はエラーのために印刷されたフォーマットが好きですが、出力レベルが "info." のときはよりシンプルなフォーマットを希望します。
たとえば
logger.error("Running cmd failed")
logger.info("Running cmd passed")
この例では、エラーの書式を変えて出力して欲しいです。
# error Aug 27, 2009 - ERROR: Running cmd failed # info Running cmd passed
複数のロギング オブジェクトを持つことなく、異なるログ レベルに異なるフォーマットを持つことは可能ですか? 出力をどのようにログに記録するかを決定するための if/else 文の数が多いので、一度作成したロガーを変更せずにこれを行うことを希望します。
どのように解決するのですか?
そうです。
Formatter
クラスを作成します。
class MyFormatter(logging.Formatter):
def format(self, record):
#compute s according to record.levelno
#for example, by setting self._fmt
#according to the levelno, then calling
#the superclass to do the actual formatting
return s
次に
MyFormatter
のインスタンスをハンドラに追加します。
関連
-
[解決済み】pytestでコンソールに印刷する方法は?
-
[解決済み】Spring Boot。application.propertiesでロギングレベルを設定するにはどうすればよいですか?
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Pythonによる一対のクロスプロダクト [重複] (英語)
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Pythonでファイルの読み込みと上書きをする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Python 言語を決定するには?