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

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

最終更新日:Jun 05, 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"
}

Content: "{"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"
}

Content: "{"time":"2026-01-05T11:58:40,647Z",

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

"threadName":"MainThread"}"

image

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

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

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

image

時間処理プラグイン

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

名前

タイプ

説明

時間解析

ネイティブ

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

ログ時間抽出

拡張

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

エントリーポイント

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

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

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

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

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

    • 拡張プラグインは、より多くのリソース (主に CPU) を消費します。必要に応じて、「構成管理」で LoongCollector のパラメーターを調整してください。

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

  • ログ収集の制限

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

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

      • アグリゲーター構成を追加しない限り、コンテキストクエリと LiveTail は使用できなくなります。

      • __topic__ フィールドは __log_topic__ に名前が変更されます。アグリゲーター構成を追加すると、ログには __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,298837465Z07:00",
  "filename": "out_data.py",
  "levelname": "INFO",
  "threadName": "MainThread"
}

image.png

%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 の時間形式) に設定します。

    image

    パラメーター:

    パラメーター

    説明

    [元の時間フィールド]

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

    [元の時間形式]

    ソースフィールドの 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 プラグイン設定Extract log time (Go time format)

    • 結果

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

JSON 設定

  • パラメーター

    typeprocessor_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 time format

    • 処理結果

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

    説明

    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

  • パラメーター

    typeprocessor_strptime に設定します。detail オブジェクトのパラメーターは次のとおりです。

    パラメーター

    タイプ

    必須

    説明

    SourceKey

    String

    はい

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

    Format

    String

    はい

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

    AdjustUTCOffset

    Boolean

    いいえ

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

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

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

    UTCOffset

    Int

    いいえ

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

    AlarmIfFail

    Boolean

    いいえ

    プラグインがログ時間の抽出に失敗した場合にアラームを生成するかどうかを指定します。

    • true (デフォルト):アラームを生成します。

    • false:アラームを生成しません。

    KeepSource

    Boolean

    いいえ

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

    • 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 の時間フォーマットについては、https://pkg.go.dev/time#pkg-constants をご参照ください。processor_parse_timestamp_native ネイティブプラグインと processor_strptime 拡張プラグインは、次のフォーマットをサポートしています。

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

フォーマット

説明

%a

短縮された曜日名。

Fri

%A

完全な曜日名。

Friday

%b

短縮された月名。

Jan

%B

完全な月名。

January

%d

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

07, 31

%f

ミリ秒、マイクロ秒、またはナノ秒などの秒の小数部。

123

%h

短縮された月名。%b と同じです。

Jan

%H

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

22

%I

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

11

%m

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

08

%M

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

59

%n

改行。

line feed

%p

AM または PM。

AM, PM

%r

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

11:59:59 AM

%R

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

23:59

%S

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

59

%t

タブ文字。

タブ文字

%y

世紀なしの年を0埋めされた10進数で表します (00~99)。

04, 98

%Y

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

2004, 1998

%C

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

16

%e

月の日を空白で埋めた 10 進数で表します (1~31)。

7, 31

%j

年の通算日を0埋めされた10進数で表します (001~366)。

365

%u

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

2

%U

日曜日を週の始まりとする、年の週番号を表します (00~53)。

23

%V

月曜日を週の始まりとする、ISO 8601 週番号を表します (01~53)。

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

24

%w

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

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

カスタム

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

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

カスタム

2017-12-11 15:05:07.123

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

カスタム

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

カスタム

1637843406123

%s

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

関連ドキュメント