[解決済み] 異なる設定で2つのファイルにログを記録する
2022-12-28 05:52:05
質問
私はすでに、すべてのモジュールにわたるすべてのメッセージが単一のファイルに保存される、基本的なロギング設定を使用しています。しかし、私は今より複雑なソリューションが必要です。
- 2 つのファイル: 最初のは同じままです。
- 2つ目のファイルは、何らかのカスタムフォーマットである必要があります。
私はモジュールのためのドキュメントを読みました、しかし、それらは、今のところ、私にとっては非常に複雑です。ロガー、ハンドラ...
だから、簡単に言えば
Python 3で2つのファイルにログを記録する方法、つまり。
import logging
# ...
logging.file1.info('Write this to file 1')
logging.file2.info('Write this to file 2')
どのように解決するのですか?
このようにすればよいでしょう。
import logging
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
def setup_logger(name, log_file, level=logging.INFO):
"""To setup as many loggers as you want"""
handler = logging.FileHandler(log_file)
handler.setFormatter(formatter)
logger = logging.getLogger(name)
logger.setLevel(level)
logger.addHandler(handler)
return logger
# first file logger
logger = setup_logger('first_logger', 'first_logfile.log')
logger.info('This is just info message')
# second file logger
super_logger = setup_logger('second_logger', 'second_logfile.log')
super_logger.error('This is an error message')
def another_method():
# using logger defined above also works here
logger.info('Inside method')
関連
-
[解決済み】Pythonのロガーがログファイルに加えて標準出力にも全メッセージを出力するようにする。
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] virtualenvで異なるバージョンのPythonを使用する
-
[解決済み】複数のモジュールでロギングを使用する
-
[解決済み] Python Logging - インポートモジュールからのロギングを無効にする
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] Python Empty Generator 関数
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Djangoにおける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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?