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

Simple Log Service:時間処理プラグイン

最終更新日:Aug 29, 2026

ネイティブまたは拡張の時間処理プラグインを使用して、ログのタイムスタンプを解析、抽出、標準化します。

プラグイン効果の例

Simple Log Service (SLS) において、時間解析プラグイン (ネイティブ) の有無による生ログデータを比較します。

生ログ

プラグインなし

時間解析プラグイン (ネイティブ)

秒精度のタイムスタンプ:

{
  "level":"INFO",
  "timestamp":"2025-09-29T09:56:01+0800",
  "cluster":"yilu-cluster-0728",
  "message":"User logged in successfully",
  "userId":"user-123"
}

コンテンツ: "{"level":"INFO","timestamp":"2025-09-29T09:56:01+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}"

image

ミリ秒精度のタイムスタンプ:

{
  "time": "2026-01-05T11:58:40,647Z",
  "filename": "out_data.py",
  "levelname": "INFO",
  "threadName": "MainThread"
}

コンテンツ: "{"time": "2026-01-05T11:58:40,647Z", "filename": "out_data.py", "levelname": "INFO", "threadName": "MainThread"}"

"filename":"out_data.py","levelname": "INFO",

"threadName":"MainThread"}"

image

ナノ秒精度のタイムスタンプ:

{
  "time": "2026-01-05T11:40:22,298837465Z07:00",
  "filename": "out_data.py",
  "levelname": "INFO",
  "threadName": "MainThread"
}

コンテンツ: "{"time": "2026-01-05T11:40:22,298837465Z07:00", "filename": "out_data.py", "levelname": "INFO", "threadName": "MainThread"}"

image

時間処理プラグイン

SLS では、以下の時間処理プラグインを提供しています。

名前

タイプ

説明

時間解析

ネイティブ

ログ内の時間フィールドを解析し、標準化します。

ログ時間抽出

拡張

生の時間フィールドを解析し、ログタイムスタンプとして設定します。

エントリーポイント

Logtailプラグインを使用してログを処理する場合は、Logtail設定を作成または変更するときにLogtailプラグイン設定を追加できます。 詳細については、「概要」をご参照ください。

ネイティブプラグインと拡張プラグインの違い

ネイティブプラグイン: C++ で実装されており、高いパフォーマンスを実現します。

拡張プラグイン: Go で実装されており、より豊富で柔軟なエコシステムを提供します。ネイティブプラグインでログ形式を処理できない場合は、拡張プラグインを使用してください。

  • 拡張プラグインのパフォーマンス制限

    • 拡張プラグインは、より多くのリソース (主に CPU) を消費します。必要に応じて、設定管理で Logtail の拡張機能コンポーネントである LoongCollector のパラメータを調整してください。

    • 生データが 5 MB/s を超える場合は、複雑なプラグインの組み合わせを避けてください。シンプルな拡張プラグインを使用し、さらなる処理は データ加工 にオフロードしてください。

  • ログ収集の制限

    • 拡張プラグインは、行モードでテキストログを処理します。つまり、 __tag__:__path__ や __topic__ などのファイルレベルのメタデータは、各ログエントリに保存されます。

    • 拡張プラグインを追加すると、タグ関連の機能に影響が出ます:

      • aggregators 設定を追加しない限り、コンテキストクエリと LiveTail が使用できなくなります。

      • __topic__ フィールドは __log_topic__ に名前が変更されます。aggregators 設定を追加すると、ログには __topic__ と __log_topic__ の両方のフィールドが含まれます。__log_topic__ フィールドが不要な場合は、フィールドドロッププラグインを使用して削除できます。

      • __tag__:__path__ などのフィールドは、ネイティブフィールドインデックスが無効になります。これらのフィールドに対して インデックスを作成 する必要があります。

時間解析プラグイン (ネイティブ)

ログの時間フィールドを解析し、その結果を__time__ フィールドに割り当てます。

構成

パラメーター

説明

[元のフィールド]

解析対象のログコンテンツを含むフィールドです。デフォルト値は content です。

説明

正規表現解析プラグインを使用する場合は、[ソースフィールド] を time に設定し、正規表現の設定に [抽出フィールド] として time を含めてください。

[時間形式]

ログ内のタイムスタンプのフォーマットです。例えば、タイムスタンプが 10/Sep/2023:12:36:49 の場合、対応する時刻フォーマットは %d/%b/%Y:%H:%M:%S です。

[タイムゾーン]

ログ内のタイムスタンプのタイムゾーンです。空の場合、プラグインは Logtail が実行されているマシンのタイムゾーンを使用します。

デフォルトでは、Simple Log Service は秒精度のタイムスタンプを処理します。 時間形式を秒まで設定するだけで、ミリ秒やマイクロ秒などのより小さい単位は省略できます。 ミリ秒、マイクロ秒、またはナノ秒の精度を維持するには、以下に示すようにナノ秒精度を有効にします。 ナノ秒タイムスタンプをサポートするログ収集。

生ログ

時間解析プラグインの設定

時刻フォーマット

{
  "time": "2026-01-05T11:40:22,298837465+07:00",
  "filename": "out_data.py",
  "levelname": "INFO",
  "threadName": "MainThread"
}

[プロセッシングプラグイン] 設定ダイアログで、[プロセッシングプラグインタイプ] を [時間解析] に設定し、[ソースフィールド] を time に設定し、[時間形式] を %Y-%m-%dT%H:%M:%S,%f に設定し、[タイムゾーン] を [マシンタイムゾーン] に設定します。

%Y-%m-%dT%H:%M:%S,%f%z

ナノ秒精度を有効にするには、次の手順に従います。

Logtail 設定ページで、グローバル設定 > その他のグローバル設定 に移動し、[高度なパラメーター] を有効にして、次のように入力します。

{
  "EnableTimestampNanosecond": true
}
拡張プラグインを使用してナノ秒またはミリ秒精度のタイムスタンプを解析する場合も、EnableTimestampNanosecond を有効にしてください。

ログ時刻抽出プラグイン

processor_gotime または processor_strptime を使用して、生ログの時刻フィールドを解析します。

説明

秒未満の精度を維持する方法については、「ナノ秒タイムスタンプをサポートするログ収集」をご参照ください。

Go 時刻フォーマット (processor_gotime)

processor_gotime プラグインは、Go の時刻形式を使用して時間フィールドを解析し、その結果を SLS のログ時刻として設定できます。

重要
  • Logtail 0.16.28 以降では、processor_gotime プラグインがサポートされています。

  • フォーム設定: テキストログとコンテナの標準出力を収集する場合に利用できます。

  • JSON 設定: テキストログを収集する場合には利用できません。

フォーム設定

  • パラメーター

    処理プラグインの種類 を ログ時間の抽出 (Golang の時間形式) に設定します。

    パラメーター:

    パラメーター

    説明

    [元の時間フィールド]

    解析対象の時刻を含むフィールドの名前です。

    [元の時間形式]

    ソースフィールドの Go 時刻フォーマット文字列です。

    [元の時間タイムゾーン]

    ソース時間のタイムゾーンです。システムタイムゾーン を選択すると、Logtail はそのホストまたはコンテナのタイムゾーンを使用します。

    [結果時間フィールド]

    パースおよびフォーマットされた時刻を格納するフィールドの名前。このパラメーターに__time__は設定できません。

    [結果時間形式]

    デスティネーションフィールドの Go 時刻フォーマット文字列です。

    [カスタム結果時間タイムゾーン]

    宛先時間フィールドのタイムゾーンです。システムタイムゾーン を選択すると、Logtail はホストまたはコンテナのタイムゾーンを使用します。

    [詳細パラメーター > ][ログ時間に設定]

    解析された時刻をログ時刻として使用するかどうかを指定します。

    [詳細パラメーター > ][元のフィールドの保持]

    処理後のログにソースフィールドを保持するかどうかを指定します。

    [詳細パラメーター > ][ソースフィールド欠落時にエラーを報告]

    生ログにソースフィールドが存在しない場合にエラーを報告するかどうかを指定します。

    [詳細パラメーター > ][抽出失敗時にエラーを報告]

    時刻の抽出に失敗した場合にエラーを報告するかどうかを指定します。

  • 例

    s_key フィールドを 2006-01-02 15:04:05 形式 (UTC+8) で解析して 2006/01/02 15:04:05 (UTC+9) に変換し、その結果を d_key に格納してログ時間として設定します。

    • 生ログ

      "s_key":"2022-07-05 19:28:01"
    • Logtail プラグイン設定

      [ログ時間の抽出 (Go 時間形式)] プロセッサーを以下のパラメーターで設定します。

      • [ソースタイムフィールド]: s_key

      • [ソース時刻フォーマット]: 2006-01-02 15:04:05

      • [ソースタイムゾーン]: GMT+08:00

      • [転送先時間フィールド]: d_key

      • [変換先の時刻フォーマット]: 2006/01/02 15:04:05

      • [カスタム宛先タイムゾーン]: GMT+09:00

      • 詳細パラメーター: [ログ時間として設定]、[ソースフィールドを保持]、[ソースフィールド欠落時にエラー]、および[抽出失敗時にエラー]を選択します。

    • 結果

      "s_key":"2022-07-05 19:28:01"
      "d_key":"2022/07/05 20:28:01"

JSON 設定

  • パラメーター

    type を processor_gotime に設定します。detail オブジェクト内のパラメーター:

    パラメーター

    タイプ

    必須

    説明

    SourceKey

    文字列

    はい

    解析対象の時刻を含むフィールドの名前です。

    SourceFormat

    文字列

    はい

    ソースフィールドの Go 時刻フォーマット文字列です。

    SourceLocation

    整数

    いいえ

    ソースタイムゾーンの UTC オフセット (時間単位) です。たとえば、UTC+8 の場合は 8 を使用します。このパラメーターを空のままにした場合、Logtail はそのホストまたはコンテナのタイムゾーンを使用します。

    DestKey

    文字列

    はい

    解析およびフォーマットされた時刻を格納するフィールド名です。このパラメーターを __time__ に設定することはできません。

    DestFormat

    文字列

    はい

    デスティネーションフィールドの Go 時刻フォーマット文字列です。

    DestLocation

    整数

    いいえ

    デスティネーションタイムゾーンの UTC オフセット (時間単位) です。このパラメーターを空のままにした場合、Logtail はそのホストまたはコンテナのタイムゾーンを使用します。

    SetTime

    ブール値

    いいえ

    解析された時刻をログ時刻として使用するかどうかを指定します。

    • true (デフォルト):解析された時刻をログ時刻として使用します。

    • false: 解析時間をログ時間として使用しません。

    KeepSource

    ブール値

    いいえ

    処理後のログにソースフィールドを保持するかどうかを指定します。

    • true (デフォルト): ソースフィールドを保持します。

    • false: ソースフィールドを破棄します。

    NoKeyError

    ブール値

    いいえ

    生ログにソースフィールドが存在しない場合にエラーを報告するかどうかを指定します。

    • true (デフォルト):エラーを報告します。

    • false: エラーを報告しません。

    AlarmIfFail

    ブール値

    いいえ

    時刻の抽出に失敗した場合にエラーを報告するかどうかを指定します。

    • true (デフォルト): エラーを報告します。

    • false: エラーを報告しません。

  • 例

    s_key フィールドを 2006-01-02 15:04:05 フォーマット (UTC+8) で解析し、2006/01/02 15:04:05 (UTC+9) に変換して、結果を d_key に格納し、ログ時刻として設定します。

    • 生ログ

      "s_key":"2019-07-05 19:28:01"
    • Logtail プラグイン設定

      {
        "processors":[
          {
            "type":"processor_gotime",
            "detail": {
              "SourceKey": "s_key",
              "SourceFormat":"2006-01-02 15:04:05",
              "SourceLocation":8,
              "DestKey":"d_key",
              "DestFormat":"2006/01/02 15:04:05",
              "DestLocation":9,
              "SetTime": true,
              "KeepSource": true,
              "NoKeyError": true,
              "AlarmIfFail": true
            }
          }
        ]
      }
    • 結果

      "s_key":"2019-07-05 19:28:01"
      "d_key":"2019/07/05 20:28:01"

strptime 時刻フォーマット (processor_strptime)

processor_strptime プラグインは、Linux strptime 形式を使用して時間フィールドを解析し、その結果をログ時間として設定できます。

重要

processor_strptime プラグインは、Logtail 0.16.28 以降で利用できます。

フォーム設定

  • パラメーター

    [プロセッサタイプ] を ログ時間抽出 (Strptime 時間形式) に設定します。

    パラメーター

    説明

    [元のフィールド]

    ソースフィールドの名前です。

    [元の時間形式]

    ソース時刻のフォーマットです。

    [元のフィールドの保持]

    処理後のログにソースフィールドを保持します。

    [抽出失敗のエラー報告]

    時刻の抽出に失敗した場合にアラームを発生させます。

    [時間オフセットの実行]

    秒単位でカスタム時刻オフセットを設定できます。

    [時間オフセット秒数]

    秒単位の時刻オフセットです。たとえば、28800 は UTC+8 を示し、-3600 は UTC-1 を示します。

  • 設定例

    log_time フィールドから %Y/%m/%d %H:%M:%S フォーマットの時刻を解析し、それをログ時刻として設定します。ホストのタイムゾーンが UTC+8 であると仮定します。

    • 生ログ

      "log_time":"2016/01/02 12:59:59"
    • Logtail プラグイン設定

      [処理プラグインタイプ] を [ログ時間抽出 (strptime 時間形式)] に、[ソースフィールド] を log_time に、[ソース時間形式] を %Y/%m/%d %H:%M:%S に設定します。 詳細パラメーターで、[ソースフィールドを保持] と [抽出失敗時にエラー]、[UTC オフセットを調整] を選択し、[UTC オフセット秒数] を 0 に設定して、[OK] をクリックします。

    • 処理結果

      "log_time":"2016/01/02 12:59:59"
      Log.Time = 1451739599
  • 一般的な時刻式

    説明

    processor_strptime プラグインは、ナノ秒までの精度で秒の小数部を表す %f 書式指定子をサポートしています。

    例

    時刻式

    2016/01/02 12:59:59

    %Y/%m/%d %H:%M:%S

    2016/01/02 12:59:59.1

    %Y/%m/%d %H:%M:%S.%f

    2016/01/02 12:59:59.987654321 +0700 (UTC)

    %Y/%m/%d %H:%M:%S.%f %z (%Z)

    2016/Jan/02 12:59:59,123456

    %Y/%b/%d %H:%M:%S,%f

    2019-07-15T04:16:47.123Z

    %Y-%m-%dT%H:%M:%S.%fZ

JSON 設定

  • パラメーター

    type を processor_strptime に設定します。detail オブジェクト内のパラメーター:

    パラメーター

    タイプ

    必須

    説明

    SourceKey

    文字列

    はい

    ソースフィールドの名前です。

    Format

    文字列

    はい

    ソース時刻のフォーマットです。

    AdjustUTCOffset

    ブール値

    いいえ

    タイムゾーンを調整するかどうかを指定します。

    • true: タイムゾーンを調整します。

    • false (デフォルト): タイムゾーンを調整しません。

    UTCOffset

    整数

    いいえ

    秒単位のタイムゾーン オフセットです。この設定は、AdjustUTCOffset が true の場合にのみ適用されます。

    AlarmIfFail

    ブール値

    いいえ

    プラグインがログ時刻の抽出に失败した場合にアラームを発生させるかどうかを指定します。

    • true (デフォルト): アラームを発生させます。

    • false: アラームを発生させません。

    KeepSource

    ブール値

    いいえ

    処理後のログにソースフィールドを保持するかどうかを指定します。

    • true (デフォルト): ソースフィールドを保持します。

    • false: ソースフィールドを破棄します。

  • 例

    log_time フィールドから %Y/%m/%d %H:%M:%S フォーマットの時刻を解析し、それをログ時刻として設定します。Logtail はホストマシンのタイムゾーンを使用します。

    • 例1: タイムゾーンが UTC+8 であると仮定します。

      • 生ログ

        "log_time":"2016/01/02 12:59:59"
      • Logtail プラグイン設定

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S"
              }
            }
          ]
        }
      • 処理結果

        "log_time":"2016/01/02 12:59:59"
        Log.Time = 1451710799
    • 例2: タイムゾーンが UTC+7 であると仮定します。

      • 生ログ

        "log_time":"2016/01/02 12:59:59"
      • Logtail プラグイン設定

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S",
                "AdjustUTCOffset": true,
                "UTCOffset": 25200
              }
            }
          ]
        }
      • 処理結果

        "log_time":"2016/01/02 12:59:59"
        Log.Time = 1451714399
    • 例3: タイムゾーンが UTC+7 であると仮定します。

      • 生ログ

        "log_time":"2016/01/02 12:59:59.123"
      • Logtail プラグイン設定

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S.%f"
              }
            }
          ]
        }
      • 処理結果

        "log_time":"2016/01/02 12:59:59.123"
        Log.Time = 1451714399
  • 一般的な時刻式

    説明

    processor_strptime プラグインは、秒の小数部をナノ秒までの精度で表す %f 書式指定子をサポートしています。

    例

    時刻式

    2016/01/02 12:59:59

    %Y/%m/%d %H:%M:%S

    2016/01/02 12:59:59.1

    %Y/%m/%d %H:%M:%S.%f

    2016/01/02 12:59:59.987654321 +0700 (UTC)

    %Y/%m/%d %H:%M:%S.%f %z (%Z)

    2016/Jan/02 12:59:59,123456

    %Y/%b/%d %H:%M:%S,%f

    2019-07-15T04:16:47.123Z

    %Y-%m-%dT%H:%M:%S.%fZ

ログの時間フォーマット

processor_gotime の時間フォーマットについては、「Go time パッケージの定数」をご参照ください。 processor_parse_timestamp_native ネイティブプラグインと processor_strptime 拡張プラグインは、以下に示すフォーマットをサポートしています。

説明
  • Linux サーバーでは、Logtail は strftime 関数によって提供されるすべての時間フォーマットをサポートしています。

フォーマット

説明

例

%a

省略された曜日名。

Fri

%A

完全な曜日名。

Friday

%b

省略された月名。

Jan

%B

完全な月名。

January

%d

月の日をゼロ埋めされた 10 進数 (01-31) で表します。

07, 31

%f

小数秒 (ミリ秒、マイクロ秒、ナノ秒など)。

123

%h

省略された月名。 %b と同じです。

Jan

%H

時 (24 時間制) をゼロ埋めされた 10 進数 (00-23) で表します。

22

%I

時 (12 時間制) をゼロ埋めされた 10 進数 (01-12) で表します。

11

%m

月をゼロ埋めされた 10 進数 (01-12) で表します。

08

%M

分をゼロ埋めされた 10 進数 (00-59) で表します。

59

%n

改行。

改行

%p

AM または PM。

AM, PM

%r

12 時間形式の時刻。 %I:%M:%S %p と同じです。

11:59:59 AM

%R

24 時間形式の時と分。 %H:%M と同じです。

23:59

%S

秒をゼロ埋めされた 10 進数 (00-59) で表します。

59

%t

タブ文字。

なし

%y

世紀を含まない年をゼロ埋めされた 10 進数 (00-99) で表します。

04, 98

%Y

世紀を含む年を 10 進数で表します。

2004, 1998

%C

世紀を 10 進数 (00-99) で表します。

16

%e

月の日をスペースで埋められた 10 進数 (1-31) で表します。

7, 31

%j

年の通し日をゼロ埋めされた 10 進数 (001-366) で表します。

365

%u

曜日を10進数 (1-7) で表します。月曜日が1です。

2

%U

年における週番号 (00-53) です。日曜日を週の始まりとします。

23

%V

ISO 8601 週番号 (01-53) です。月曜日を週の始まりとします。

週 1 は、少なくとも 4 日間を含む年の最初の週です。

24

%w

曜日を10進数 (0-6) で表します。日曜日が0です。

5

%W

年における週番号 (00-53) です。月曜日を週の始まりとします。

23

%c

ロケール固有の日付と時刻の表現。

Tue Nov 20 14:12:58 2020

%x

ロケール固有の日付表現。

Tue Nov 20 2020

%X

ロケール固有の時刻表現。

11:59:59

%s

UNIX タイムスタンプ。

1476187251

例

一般的な時刻標準とそれに対応する式は次のとおりです:

例

式

標準

2017-12-11 15:05:07

%Y-%m-%d %H:%M:%S

Custom

[2017-12-11 15:05:07.012]

[%Y-%m-%d %H:%M:%S.%f]

Custom

2017-12-11 15:05:07.123

%Y-%m-%d %H:%M:%S.%f

Custom

02 Jan 06 15:04 MST

%d %b %y %H:%M %Z

RFC822

02 Jan 06 15:04 -0700

%d %b %y %H:%M %z

RFC822Z

Monday, 02-Jan-06 15:04:05 MST

%A, %d-%b-%y %H:%M:%S %Z

RFC850

Mon, 02 Jan 2006 15:04:05 MST

%a, %d %b %Y %H:%M:%S %Z

RFC1123

2006-01-02T15:04:05Z07:00

%Y-%m-%dT%H:%M:%S%z

RFC3339

2006-01-02T15:04:05.999999999Z07:00

%Y-%m-%dT%H:%M:%S.%f%z

RFC3339Nano

1637843406

%s

Custom

1637843406123

%s

カスタム (Simple Log Service は、タイムスタンプを秒単位に切り捨てます)

関連ドキュメント