5

次のコードを使用してロガーをセットアップしました

def setup_logging():
    import logging
    import logging.handlers
    import os
    #from time import gmtime, strftime
    #import logging.handlers

    logger = logging.getLogger('apt')
    logger.setLevel(logging.DEBUG)

    # create file handler
    fh = logging.handlers.RotatingFileHandler(os.path.join('..','logs','apt.log'), maxBytes=1000000, backupCount=5)
    fh.setLevel(logging.DEBUG)

    # create console handler
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)

    # create formatter and add it to the handlers
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    ch.setFormatter(formatter)
    fh.setFormatter(formatter)

    # add the handlers to logger
    logger.addHandler(ch)
    logger.addHandler(fh)

ログメッセージをファイルとコンソールの両方に出力します(これが私が求めていたものです)。唯一の問題は、コンソール メッセージが赤色であることです。赤はすべてをエラーのように見せてしまうため (情報だけの場合)、注意が散漫になります。コンソール メッセージが別の色になるように変更するにはどうすればよいですか?

理想的には、デバッグと情報は黒、警告以上は赤です。

私はEclipseとPyDevを使用しています。

4

1 に答える 1

8

PyDevコンソールは、デフォルトでstderrへのメッセージを赤で強調表示します。Pythonのlogging.DEBUGは、stderrにメッセージを送信します。この動作を変更したい場合は、次の投稿を参照してください:ロギング、StreamHandler、および標準ストリーム

PyDevの色を変更するには、ここを参照してください:http: //pydev.org/manual_adv_interactive_console.html

于 2012-09-20T15:33:19.110 に答える