Pythonログ
Pythonは、ハイレベルなプログラミング言語で、その標準ライブラリにはロギングモジュールが付属されています。このモジュールには、アプリケーションとライブラリのイベントロギングシステムが搭載されています。Pythonのロギングモジュールやカスタムロガーによりサポートされているロギングフォーマットを使用して、ファイルにログしそのファイルをSite24x7アプリケーションログに送信します。
目次
ロガーの設定
Pythonロガーを使用して、ロギングを記録します。サンプルコードを使用してロガーを設定し、イベントのファイルへのロギングを記録します。
import logging
logging.basicConfig(filename=`<application_dir>/logs/<FILE_NAME>.log`, encoding='utf-8', level=logging.DEBUG)
logging.debug('Error message')
ログ管理の設定方法
- Site24x7にログインします。
- Site24x7サーバー監視エージェント(Windows | Linux)のダウンロードとインストールを行います。
- 管理 > アプリケーションログ > ログプロファイルに移動後、ログプロファイルの追加をクリックします。
- プロファイル名:ログプロファイル名を入力します。
- ログタイプの選択:ドロップダウンからPythonログを選択します。
- ログソース:ドロップダウンからローカルファイルを選択します。
- ログ検索のファイルリスト:ロガーに設定するファイルパスを追加します。
例:application_dir>/logs/<FILE_NAME>.log
- サーバーを選択し、保存をクリックします。
サンプルログとログパターン
複数ログパターンを使用して、ログにマッチする必要なログパターンを追加できます。Pythonログに適用されるサンプルログとログパターンは次のとおりです。
トレース
ログパターン
$DateTime:date$ $LoggerName$ - $LogLevel$:$Message$!<NewLine>$BackTrace$!
サンプルログ
2023-01-10 07:35:05,456 main - ERROR:[Errno 2] No such file or directory: 'sample.txt<NewLine>Traceback (most recent call last):<NewLine>File "/App/config/loader.py"
通常ログ
ログパターン
$DateTime:date$ $LogLevel$:$Message$!<NewLine>$BackTrace$!
サンプルログ
2023-01-10 07:35:05,456 DEBUG: Debug Message
JSON
ログパターン
json $exc_info as BackTrace$ $name as LoggerName$ $levelname as LogLevel$ $message as Message$ $asctime as DateTime:date:yyyy-MM-dd HH:mm:ss,SSS$
サンプルログ
{"asctime": "2023-01-10 07:35:05,456", "name": "__main__", "levelname": "ERROR", "message": "[Errno 2] No such file or directory: 'sample.txt'","exc_info": "Traceback (most recent call last):\n File \"/App/config/loader.py\", line 73, in __init__"}
最初にマッチしたログパターンが処理されるため、最初に特定のログパターンを指定し、その後にジェネリックなパターンを入力してください。例えば、上記のトレースと一般ログを定義する場合、特定のログパターン(例:Trace)を初めに指定し、その後にジェネリックパターン(例:Defauly)を入力してください。
ダッシュボード
各ログタイプのダッシュボードを作成し、様々なウィジェットでデータを表示します。Pythonログダッシュボードで使用できるウィジェットは次のとおりです。
関連ログタイプ