ログファイルの書き込み先を変更する

Fastly では、以下の方法を組み合わせて使用することで、サポートされたロギングエンドポイントがリモートサービスにファイルを書き込む際にログファイルが上書されるのを防ぎます。

  • ファイル作成時のタイムスタンプ
  • 固有の ID を生成
  • タイムスタンプと UID の組み合わせが同一のファイルが存在する場合は、カウンターを増分し、ファイル名の末尾に追加します。

ログファイルの書き込み先を変更するには、選択したエンドポイントの path 変数と timestamp_format 変数を変更します。ログシステムでは、path 変数、timestamp_format 変数、および uid 変数を組み合わせてファイル名を作成します。

1
<path><timestamp>-<uid>.log<suffixes>

このガイドでは、path 変数と timestamp_format 変数を使用し、ログファイルの書き込み先を制御する方法について説明します。

タイムスタンプのフォーマット

ログファイル名から文字列を削除するようにタイムスタンプの形式を変更することができます。例えば、Elastic MapReduce を使用している場合は、ファイル名に含まれるコロンを削除する必要があります。

timestamp_format 変数は、strftime 互換形式として提供されます。デフォルトの形式は、ISO 8601 日付と時刻の組合せ形式日付と時刻の組合せです。

1
%Y-%m-%dT%H:%M:%S.000

この変数は、ファイルが生成される際に展開されます。例えば、%Y は現在の年、%m は現在の月番号に置き換えられます。

1
<year>-<2 digit month number>-<2 digit day number>T<hour>:<minute>:<second>

1970年1月1日の午前0時に作成されたファイルのタイムスタンプは、1970-01-01T00:00:00.000 です。

パス

ファイルベースのログエンドポイント (例 : SFTP) の場合、 path 変数はログエンドポイントストレージ内のディレクトリとファイルを作成するために使用されます。オブジェクトベースのエンドポイント (例 : S3) は、path に加えてオブジェクトストア内のキーとしてファイル名を処理します。実際のディレクトリは作成されません。

ファイルベースとオブジェクトベースのエンドポイントの両方で、path 変数は末尾に / が付くかどうかに応じて異なる挙動をします。

変数の末尾に / が付くと、ディレクトリとして処理されます (オブジェクトベースでは「フォルダ」または類似の表示)。例えば、変数が my_logs/ に設定されている場合、ファイルはディレクトリ my_logs に書き込まれす。変数に末尾のないmy_logsがセットされている場合は、ファイルは最上位のディレクトリに書き込まれ/、プリフィックスとして が付きますmy_logs

また、この2つのアプローチは組み合わせることもできます。例えば、変数に my_logs/foo がセットされている場合、ファイルは my_logs ディレクトリに書き込まれ、プリフィックスとして foo が付きます。

また、ログはネストすることもできます。例えば、変数に my_logs/sub_logs/ がセットされている場合、ファイルは sub_logs ディレクトリ内の my_logs ディレクトリに書き込まれます。

ファイルベースのロギングエンドポイント (例 : FTP、SFTP) の場合、可能な際にディレクトリが自動作成されます。

サフィックス

Fastly のログシステムでは、必要に応じて自動的にファイルにサフィックスが追加されます。

サフィックス ファイルタイプ
.log 単純なログファイル
.log.gz Gzip 圧縮されたログファイル
.log.gpg PGP 暗号化されたログファイル
.log.gz.gpg PGP で暗号化され、Gzip で圧縮されたログファイル
Back to Top