ログファイルの書き込み先を変更する
- English
- 日本語
Fastly では、以下の方法を組み合わせて使用することで、サポートされたログエンドポイントがリモートサービスにファイルを書き込む際にログファイルが上書されるのを防ぎます。
- ファイル作成時のタイムスタンプ
- 固有の ID を生成
- タイムスタンプと UID の組み合わせが同一のファイルが存在する場合は、カウンターを増分し、ファイル名の末尾に追加します。
ログファイルの書き込み先を変更するには、選択したエンドポイントの変数 path と timestamp_format 変数を変更します。ログシステムでは、path 変数、timestamp_format 変数、および uid 変数を組み合わせてファイル名を作成します。
<path><timestamp>-<uid>.log<suffixes>このガイドでは、path 変数と timestamp_format 変数を使用し、ログファイルの書き込み先を制御する方法について説明します。
タイムスタンプの形式
ログファイル名から文字列を削除するようにタイムスタンプの形式を変更することができます。例えば、Elastic MapReduce を使用している場合は、ファイル名に含まれるコロンを削除する必要があります。
timestamp_format 変数は、strftime 互換形式として提供されます。デフォルトの形式は、ISO 8601 に準拠した日付と時刻の組合せ形式です。
%Y-%m-%dT%H:%M:%S.000この変数は、ファイルが生成される際に展開されます。例えば、%Y は現在の年、%m は現在の月番号に置き換えられます。
<year>-<2 digit month number>-<2 digit day number>T<hour>:<minute>:<second>1970年1月1日の午前0時に作成されたファイルのタイムスタンプは、1970-01-01T00:00:00.000 です。
パス
ファイルベース (例: SFTP) とオブジェクトベース (例: S3) エンドポイントは、さまざまな方法でpath 変数を使用します。ファイルベースのエンドポイントは、path を使用してログエンドポイントのストレージでディレクトリとファイルを作成します。可能であればディレクトリが自動的に作成されます。オブジェクトベースのエンドポイントは、オブジェクトストアでキーを作成するために path とファイル名を使用します。ストレージでディレクトリ構造を使用しないため、オブジェクトベースのエンドポイントで実際のディレクトリは作成されません。
ファイルベースとオブジェクトベースのエンドポイントは、 path で / の文字を探します。path の末尾に / が付く場合、path は、ファイルベースのエンドポイントでディレクトリとして、かつオブジェクトベースのエンドポイントでフォルダとして処理されます(ディレクトリと同様)。例えば、path の値が my_logs/ だった場合、ログファイルはディレクトリ (またはフォルダ) my_logs に書き込まれます。しかし、path の値が my_logs だった場合、その末尾に / が付かない場合は、ログファイルはトップレベルのディレクトリに書き込まれ、文字列 my_logs でプリフィックスがつけられます。さらに、path の値が my_logs/foo だった場合、ログファイルは my_logs ディレクトリに書き込まれ、文字列 foo でプリフィックスが付けられます。
strftime と互換性のある文字列にすることもできます。例えば、変数に %Y/%m/%d が設定されている場合、ファイルは年、月、日に基づいてディレクトリに書き込まれます。サフィックス
Fastly のログシステムでは、必要に応じて自動的にファイルにサフィックスが追加されます。
| サフィックス | ファイルタイプ |
|---|---|
| .log | 単純なログファイル |
| .log.gz | Gzip 圧縮されたログファイル |
| .log.gpg | PGP 暗号化されたログファイル |
| .log.gz.gpg | PGP で暗号化され、Gzip で圧縮されたログファイル |