10

いくつかの文字列をログ ファイルに出力し、ログ ファイルを継続的に更新したいと考えています。

Pythonのロギング モジュールを調べたところ、主にフォーマットと同時アクセスに関するものであることがわかりました。

何か不足している場合や他の方法がある場合はお知らせください

4

3 に答える 3

16

通常、私は次のことを行います。

  # logging  
  LOG = "/tmp/ccd.log"                                                     
  logging.basicConfig(filename=LOG, filemode="w", level=logging.DEBUG)  

  # console handler  
  console = logging.StreamHandler()  
  console.setLevel(logging.ERROR)  
  logging.getLogger("").addHandler(console)

ロギング部分は、ロギングの基本構成を初期化します。以下では、いくつかのログ情報を個別に出力するコンソール ハンドラを設定します。通常、コンソール出力はエラー (logging.ERROR) と LOG ファイルの詳細出力のみを出力するように設定されています。

ログがファイルに出力されます。たとえば、次を使用します。

logger = logging.getLogger(__name__)
logger.debug("hiho debug message")

あるいは

logging.debug("next line")

動作するはずです。

Doug Hellmann には素晴らしいガイドがあります。

于 2013-03-18T10:15:31.283 に答える
11

ロギングの使用に関して 10 セントを追加するには。私は Logging モジュールを最近発見したばかりで、最初は気が進まなかった。最初は大変な作業のように見えるからかもしれませんが、非常にシンプルで信じられないほど便利です。

これは私が使用するセットアップです。Mkinds の回答に似ていますが、タイムスタンプが含まれています。

# Set up logging
log = "bot.log"
logging.basicConfig(filename=log,level=logging.DEBUG,format='%(asctime)s %(message)s', datefmt='%d/%m/%Y %H:%M:%S')
logging.info('Log Entry Here.')

次のようなものが生成されます。

22/09/2015 14:39:34 Log Entry Here.
于 2015-09-22T12:46:48.557 に答える
3

Logging API を使用してファイルにログを記録できます。

例: http://docs.python.org/2/howto/logging.html#logging-to-a-file

于 2013-03-18T10:07:15.783 に答える