すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Pythonログの収集

最終更新日:Aug 23, 2024

このトピックでは、Logtailを使用してPythonログを収集する方法について説明します。

背景情報

Pythonロギングモジュールは、サードパーティのモジュールまたはアプリケーションで使用できる一般的なロギングシステムを提供します。 ロギングモジュールは、複数のログレベルとロギング方法を定義します。 ロギングモジュールは、ロガー、ハンドラ、フィルタ、およびフォーマッタのコンポーネントで構成されています。

Formattersはログの出力形式を指定します。 フォーマッタ用に設定されているフィールドは、%(key)s形式です。 サンプルコード:

import logging  
import logging.handlers  
LOG_FILE = 'tst.log'  
handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes = 1024*1024, backupCount = 5) # Create a handler.   
fmt = '%(asctime)s - %(filename)s:%(lineno)s - %(levelno)s %(levelname)s %(pathname)s %(module)s %(funcName)s %(created)f %(thread)d %(threadName)s %(process)d %(name)s - %(message)s' // Define the output format of logs. 
formatter = logging.Formatter(fmt)   # Create a formatter.  
handler.setFormatter(formatter)      # Add the formatter to the handler. 
logger = logging.getLogger('tst')    # Retrieve a logger that is named tst.   
logger.addHandler(handler)           # Add the handler to the logger.  
logger.setLevel(logging.DEBUG)  
logger.info('first info message')  
logger.debug('first debug message')

次の表に、サンプルコードのフィールドを示します。

項目

説明

%(name)s

呼び出しのログに使用されるロガーの名前。

%(levelno)s

数値形式のログレベル。

%(levelname)s

テキスト形式のログレベル。 有効な値: DEBUG、INFO、WARNING、ERROR、およびCRITICAL。

%(pathname)s

ログファイルのパス。

%(filename)s

ログファイル名。

%(module)s

ログ収集のソースモジュールの名前。

%(funcName)s

ログ呼び出しを含む関数の名前。

%(lineno)d

関数を含むステートメントのソース行番号。

%(created)f

ログが生成される時刻。 時刻は UNIX のタイムスタンプです。

%(relativeCreated)d

ログが生成された時刻とログモジュールがロードされた時刻の差。 単位:ミリ秒。

%(asctime)s

ログが生成される時刻。 例: 2003-07-08 16:49:45,896。ここで、896は時間のミリ秒部分を示します。

%(msecs)d

ログが生成される時間のミリ秒部分。

%(thread)d

スレッドID。

%(threadName)s

スレッド名。

% (プロセス) d

プロセスID。

%(message)s

ログ情報。

手順

Simple Log Serviceは、Logtail設定の作成に役立つ設定ウィザードを提供します。 次の例では、フル正規表現モードでPythonログを収集する方法を説明します。

  1. にログインします。Simple Log Serviceコンソール.

  2. [データのインポート] セクションで、[RegEx - Text Log] を選択します。

  3. プロジェクトとLogstoreを選択します。 そして、[次へ] をクリックします。

  4. [応用サーバーグループ] セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。

    重要

    マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがSimple Log Serviceに接続されていないために発生します。 この問題を解決するには、[自動再試行] をクリックします。 問題が解決しない場合は、Logtailでハートビート接続が検出されない場合はどうすればよいですか?

  5. データをプレビューし、インデックスを設定し、[次へ] をクリックします。 インデックスの詳細については、「インデックスの作成」をご参照ください。

  6. [ログクエリ] をクリックします。 Logstoreのクエリと分析ページにリダイレクトされます。

    インデックスが有効になるまで約1分待つ必要があります。 次に、収集したログを [生ログ] タブで表示できます。 詳細については、「ログの照会と分析」をご参照ください。