6

メッセージを複数のファイルに記録する同様の例をいくつか見つけました。しかし、私が望むものには何もありません。logging モジュールを使用しており、すべての情報メッセージをコンソールとファイルに記録しています。(後日、コンソール ログをオフにします)。

ただし、これを拡張して、すべての情報メッセージを file.log に、すべてのエラー メッセージを file.err に記録したいと考えています。すべてのメッセージを file.log (エラーと情報) に記録してから、すべてのエラー メッセージを別のファイルに記録することができれば、なおさらです。

これは可能ですか?

----------

どうやら自分の質問に 7 時間答えられないので、元の質問を更新します。

----------

私は今、愚かだと感じています。投稿する前に例を数時間試した後、これが「再び」見つかりました。例を読んでいるときに、私がやろうとしていたことを入力するタスクが何かを引き起こしたようなものです。

http://docs.python.org/2/howto/logging-cookbook.html

これにより、INFO レベル以上のすべてが 1 つのログ ファイル (log_file) に出力され、logging.error および logging.warning メッセージも別のファイル (err_file) に出力されます。

# set up logging to file - see previous section for more details
logging.basicConfig(level=logging.INFO,
                   format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
                   filemode='w')

log_error = logging.FileHandler(err_file)
log_error.setLevel(logging.WARNING)

log_info = logging.FileHandler(log_file)
log_info.setLevel(logging.INFO)

# set a format which is simpler for console use
formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s')    

# tell the handler to use this format
log_error.setFormatter(formatter)    
log_info.setFormatter(formatter)        

# add the handler to the root logger
logging.getLogger('').addHandler(log_info)
logging.getLogger('').addHandler(log_error)
4

2 に答える 2