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

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 です。

パス

path 変数は、末尾が / で終わるかどうかによって動作が異なります。

変数の末尾に / が付くと、ディレクトリとして扱われます。例えば、変数に my_logs/ がセットされている場合、ファイルはディレクトリ my_logs に書き込まれす。変数に末尾 のない my_logs/ がセットされている場合は、ファイルは最上位のディレクトリに書き込まれ、プリフィックスとして my_logs が付きます。

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

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

ディレクトリは、可能な限り自動的に作成されます。

サフィックス

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

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