Tous les produits
Search
Centre de documentation

Simple Log Service:Time-processing plugins

Dernière mise à jour :Aug 27, 2026

Analysez, extrayez et normalisez les horodatages des journaux à l'aide de plugins natifs ou d'extension dédiés au traitement du temps.

Exemple d'effet du plugin

Comparaison des données brutes des journaux dans SLS avec et sans le plugin d'analyse temporelle (natif).

Journal brut

Sans plugin

Plugin d'analyse temporelle (natif)

Horodatage à la seconde près :

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

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

image

Horodatage à la milliseconde près :

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

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

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

"threadName":"MainThread"}"

image

Horodatage à la nanoseconde près :

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

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

image

Plugins de traitement temporel

SLS propose les plugins de traitement temporel suivants.

Nom

Type

Description

analyse temporelle

natif

Analyse et normalise le champ temporel des journaux.

extraction de l'heure du journal

extension

Analyse le champ temporel brut et le définit comme horodatage du journal.

Point d'entrée

Pour utiliser un plugin Logtail afin de traiter les journaux, ajoutez-le lors de la création ou de la modification d'une configuration Logtail. Pour plus d'informations, consultez Vue d'ensemble.

Différences entre les plugins natifs et d'extension

Plugins natifs : implémentés en C++ pour des performances supérieures.

Plugins d'extension : implémentés en Go pour offrir un écosystème plus riche et flexible. Utilisez les plugins d'extension lorsque les plugins natifs ne peuvent pas gérer votre format de journal.

  • Limites de performance des plugins d'extension

    • Les plugins d'extension consomment davantage de ressources (principalement le CPU). Ajustez si nécessaire les paramètres LoongCollector dans la section gestion de la configuration.

    • Si le volume de données brutes dépasse 5 Mo/s, évitez les combinaisons complexes de plugins. Privilégiez un plugin d'extension simple et déléguez le traitement ultérieur à la fonctionnalité Data Transformation.

  • Limites liées à la collecte des journaux

    • Les plugins d'extension traitent les journaux textuels en mode ligne. Cela signifie que les métadonnées au niveau du fichier, telles que __tag__:__path__ et __topic__, sont stockées dans chaque entrée de journal.

    • L'ajout d'un plugin d'extension affecte les fonctionnalités liées aux tags :

      • La requête contextuelle et LiveTail deviennent indisponibles sauf si vous ajoutez une configuration d'agrégateurs.

      • Le champ __topic__ est renommé en __log_topic__. Lorsque vous ajoutez la configuration des agrégateurs, le journal contient à la fois les champs __topic__ et __log_topic__. Si vous n'avez pas besoin du champ __log_topic__, vous pouvez utiliser le plugin de suppression de champ pour le supprimer.

      • Les champs tels que __tag__:__path__ perdent leur index de champ natif. Vous devez créer un index pour ces champs.

Plugin d'analyse temporelle (natif)

Analyse le champ temporel d'un journal et attribue le résultat au champ __time__.

Configuration

Paramètre

Description

Original Field

Champ contenant le contenu du journal à analyser. Par défaut : content.

Remarque

Lors de l'utilisation du plugin d'analyse par expression régulière, définissez le champ source sur time et incluez time comme champ extrait dans votre configuration regex.

Time Format

Format de l'horodatage dans le journal. Par exemple, si l'horodatage est 10/Sep/2023:12:36:49, le format temporel correspondant est %d/%b/%Y:%H:%M:%S.

Time Zone

Fuseau horaire de l'horodatage dans le journal. Si ce champ est laissé vide, le plugin utilise le fuseau horaire de la machine sur laquelle Logtail s'exécute.

Par défaut, Simple Log Service traite les horodatages avec une précision à la seconde. Il suffit de configurer le format temporel jusqu'à la seconde ; vous pouvez omettre les unités inférieures telles que les millisecondes ou les microsecondes. Pour conserver la précision en millisecondes, microsecondes ou nanosecondes, activez la précision nanoseconde comme indiqué ci-dessous. Consultez la rubrique Collecte de journaux prenant en charge les horodatages en nanosecondes.

Journal brut

Configuration du plugin d'analyse temporelle

Format temporel

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

Dans la boîte de dialogue de configuration du Processing Plugin, définissez le Processing Plugin Type sur Time Parsing, le Source Field sur time, le Time Format sur %Y-%m-%dT%H:%M:%S,%f et le Time Zone sur Machine Time Zone.

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

Pour activer la précision nanoseconde :

Sur la page de configuration Logtail, accédez à Global Configurations > Other Global Configurations, activez Advanced Parameters et saisissez :

{
  "EnableTimestampNanosecond": true
}
Activez également EnableTimestampNanosecond lorsque vous utilisez des plugins d'extension pour analyser des horodatages avec une précision en nanosecondes ou en millisecondes.

Plugin d'extraction de l'heure du journal

Utilisez processor_gotime ou processor_strptime pour analyser le champ temporel des journaux bruts.

Remarque

Pour préserver la précision infra-secondaire, consultez la rubrique Collecte de journaux prenant en charge les horodatages en nanosecondes.

Format d'heure Go (processor_gotime)

Le plugin processor_gotime analyse les champs temporels en utilisant le format d'heure Go et peut définir le résultat comme heure du journal dans SLS.

Important
  • Logtail 0.16.28 et versions ultérieures prennent en charge le plugin processor_gotime.

  • Configuration basée sur un formulaire : disponible lors de la collecte de journaux textuels et de la sortie standard des conteneurs.

  • Configuration JSON : non disponible lors de la collecte de journaux textuels.

Configuration via formulaire

  • Paramètres

    Définissez Processor Type sur Extract Log Time (Go Time Format).

    Paramètres :

    Paramètre

    Description

    Original Time Field

    Nom du champ contenant l'heure à analyser.

    Original Time Format

    Chaîne de format d'heure Go pour le champ source.

    Original Time Zone

    Fuseau horaire de l'heure source. Si vous sélectionnez System Time Zone, Logtail utilise le fuseau horaire de son hôte ou de son conteneur.

    New Time Field

    Nom du champ destiné à stocker l'heure analysée et formatée. Vous ne pouvez pas définir ce paramètre sur __time__.

    New Time Format

    Chaîne de format d'heure Go pour le champ de destination.

    Custom New Time Zone

    Fuseau horaire pour le champ d'heure de destination. Si vous sélectionnez System Time Zone, Logtail utilise le fuseau horaire de son hôte ou de son conteneur.

    Advanced parameters > Use as Log Time

    Indique si l'heure analysée doit être utilisée comme heure du journal.

    Advanced parameters > Retain Original Field

    Indique si le champ source doit être conservé dans le journal traité.

    Advanced parameters > Report error when source field is missing

    Indique si une erreur doit être signalée lorsque le champ source est absent du journal brut.

    Advanced parameters > Report error on extraction failure

    Indique si une erreur doit être signalée en cas d'échec de l'extraction de l'heure.

  • Exemple

    Analyse le champ s_key au format 2006-01-02 15:04:05 (UTC+8), le convertit au format 2006/01/02 15:04:05 (UTC+9), stocke le résultat dans d_key et le définit comme heure du journal.

    • Journal brut

      "s_key":"2022-07-05 19:28:01"
    • Configuration du plugin Logtail

      Configurez le processeur Extract Log Time (Go Time Format) avec les paramètres suivants :

      • Source Time Field : s_key

      • Source Time Format : 2006-01-02 15:04:05

      • Source Time Zone : GMT+08:00

      • Destination Time Field : d_key

      • Destination Time Format : 2006/01/02 15:04:05

      • Custom Destination Time Zone : GMT+09:00

      • Paramètres avancés : sélectionnez Set as Log Time, Keep Source Field, Error on Missing Source Field et Error on Extraction Failure.

    • Résultat

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

Configuration JSON

  • Paramètres

    Définissez type sur processor_gotime. Paramètres de l'objet detail :

    Paramètre

    Type

    Obligatoire

    Description

    SourceKey

    String

    Oui

    Nom du champ contenant l'heure à analyser.

    SourceFormat

    String

    Oui

    Chaîne de format d'heure Go pour le champ source.

    SourceLocation

    Int

    Oui

    Décalage UTC en heures pour le fuseau horaire source. Par exemple, utilisez 8 pour UTC+8. Si ce paramètre est laissé vide, Logtail utilise le fuseau horaire de son hôte ou de son conteneur.

    DestKey

    String

    Oui

    Nom du champ destiné à stocker l'heure analysée et formatée. Vous ne pouvez pas définir ce paramètre sur __time__.

    DestFormat

    String

    Oui

    Chaîne de format d'heure Go pour le champ de destination.

    DestLocation

    Int

    Non

    Décalage UTC en heures pour le fuseau horaire de destination. Si ce paramètre est laissé vide, Logtail utilise le fuseau horaire de son hôte ou de son conteneur.

    SetTime

    Boolean

    Non

    Indique si l'heure analysée doit être utilisée comme heure du journal.

    • true (par défaut) : utilise l'heure analysée comme heure du journal.

    • false : n'utilise pas l'heure analysée comme heure du journal.

    KeepSource

    Boolean

    Non

    Indique si le champ source doit être conservé dans le journal traité.

    • true (par défaut) : conserve le champ source.

    • false : supprime le champ source.

    NoKeyError

    Boolean

    Non

    Indique si une erreur doit être signalée lorsque le champ source est absent du journal brut.

    • true (par défaut) : signale une erreur.

    • false : ne signale pas d'erreur.

    AlarmIfFail

    Boolean

    Non

    Indique si une erreur doit être signalée en cas d'échec de l'extraction de l'heure.

    • true (par défaut) : signale une erreur.

    • false : ne signale pas d'erreur.

  • Exemple

    Analyse le champ s_key au format 2006-01-02 15:04:05 (UTC+8), le convertit au format 2006/01/02 15:04:05 (UTC+9), stocke le résultat dans d_key et définit cette valeur comme horodatage du journal.

    • Journal brut

      "s_key":"2019-07-05 19:28:01"
    • Configuration du plug-in 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
            }
          }
        ]
      }
    • Résultat

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

Format d'heure Strptime (processor_strptime)

Le plug-in processor_strptime analyse les champs temporels en utilisant le format Linux strptime et peut définir le résultat comme horodatage du journal.

Important

Le plug-in processor_strptime est disponible à partir de la version 0.16.28 de Logtail.

Formulaire

  • Paramètres

    Définissez le paramètre processor type sur Extract Log Time (strptime Time Format).

    Parameter

    Description

    Original Field

    Nom du champ source.

    Original Time Format

    Format de l'heure source.

    Retain Original Field

    Conserve le champ source dans le journal traité.

    Report Extraction Failure Error

    Génère une alerte en cas d'échec de l'extraction de l'heure.

    Use Time Offset

    Permet de définir un décalage horaire personnalisé en secondes.

    Time Offset (Unit: Seconds)

    Décalage horaire en secondes. Par exemple, 28800 correspond à UTC+8 et -3600 à UTC-1.

  • Exemple de configuration

    Analyse une heure au format %Y/%m/%d %H:%M:%S à partir du champ log_time et la définit comme horodatage du journal. Le fuseau horaire de l'hôte est supposé être UTC+8.

    • Journal brut

      "log_time":"2016/01/02 12:59:59"
    • Configuration du plug-in Logtail

      Définissez le paramètre Extract High-precision Time sur High-precision Time Field Name, définissez le paramètre High-precision Time Field Name sur log_time, définissez le paramètre Time Unit sur %Y/%m/%d %H:%M:%S. Dans les paramètres avancés, sélectionnez les options Processing Plugin Type et Extract Log Time (strptime Time Format), activez l'option Source Field, définissez le paramètre Source Time Format sur 0, puis cliquez sur Keep Source Field.

    • Résultat du traitement

      "log_time":"2016/01/02 12:59:59"
      Log.Time = 1451710799
  • Expressions temporelles courantes

    Remarque

    Le plug-in processor_strptime prend en charge le spécificateur de format %f, qui représente la partie fractionnaire d'une seconde avec une précision allant jusqu'à la nanoseconde.

    Example

    Time expression

    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.%f

JSON

  • Paramètres

    Définissez le paramètre type sur processor_strptime. Paramètres de l'objet detail :

    Parameter

    Type

    Required

    Description

    SourceKey

    String

    Yes

    The name of the source field.

    Format

    String

    Yes

    The format of the source time.

    AdjustUTCOffset

    Boolean

    No

    Specifies whether to adjust the time zone.

    • true: Adjusts the time zone.

    • false (default): Does not adjust the time zone.

    UTCOffset

    Int

    No

    The time zone offset in seconds. This setting applies only when AdjustUTCOffset is true.

    AlarmIfFail

    Boolean

    No

    Specifies whether to raise an alarm if the plugin fails to extract the log time.

    • true (default): Raises an alarm.

    • false: Does not raise an alarm.

    KeepSource

    Boolean

    No

    Specifies whether to retain the source field in the processed log.

    • true (default): Retains the source field.

    • false: Discards the source field.

  • Exemples

    Analyse une heure au format %Y/%m/%d %H:%M:%S à partir du champ log_time et la définit comme horodatage du journal. Logtail utilise le fuseau horaire de la machine hôte.

    • Exemple 1 : le fuseau horaire est UTC+8.

      • Journal brut

        "log_time":"2016/01/02 12:59:59"
      • Configuration du plug-in Logtail

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S"
              }
            }
          ]
        }
      • Résultat du traitement

        "log_time":"2016/01/02 12:59:59"
        Log.Time = 1451710799
    • Exemple 2 : le fuseau horaire est UTC+7.

      • Journal brut

        "log_time":"2016/01/02 12:59:59"
      • Configuration du plug-in Logtail

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S",
                "AdjustUTCOffset": true,
                "UTCOffset": 25200
              }
            }
          ]
        }
      • Résultat du traitement

        "log_time":"2016/01/02 12:59:59"
        Log.Time = 1451714399
    • Exemple 3 : le fuseau horaire est UTC+7.

      • Journal brut

        "log_time":"2016/01/02 12:59:59.123"
      • Configuration du plug-in Logtail

        {
          "processors":[
            {
              "type":"processor_strptime",
              "detail": {
                "SourceKey": "log_time",
                "Format": "%Y/%m/%d %H:%M:%S.%f"
              }
            }
          ]
        }
      • Résultat du traitement

        "log_time":"2016/01/02 12:59:59.123"
        Log.Time = 1451714399
  • Expressions temporelles courantes

    Remarque

    Le plug-in processor_strptime prend en charge le spécificateur de format %f, qui représente la partie fractionnaire d'une seconde avec une précision allant jusqu'à la nanoseconde.

    Example

    Time expression

    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.%f

Formats d'horodatage des journaux

Pour connaître les formats d'heure pris en charge par processor_gotime , consultez la page Constantes du package time Go. Le plug-in natif processor_parse_timestamp_native et le plug-in d'extension processor_strptime prennent en charge les formats répertoriés ci-dessous.

Remarque
  • Sur un serveur Linux, Logtail prend en charge tous les formats d'heure fournis par la fonction strftime.

Format

Description

Example

%a

Nom abrégé du jour de la semaine.

Fri

%A

Nom complet du jour de la semaine.

Friday

%b

Nom abrégé du mois.

Jan

%B

Nom complet du mois.

January

%d

Jour du mois sous forme décimale complétée par des zéros (01-31).

07, 31

%f

Secondes fractionnaires, telles que les millisecondes, les microsecondes ou les nanosecondes.

123

%h

Nom abrégé du mois. Identique à %b.

Jan

%H

Heure (format 24 heures) sous forme décimale complétée par des zéros (00-23).

22

%I

Heure (format 12 heures) sous forme décimale complétée par des zéros (01-12).

11

%m

Mois sous forme décimale complétée par des zéros (01-12).

08

%M

Minute sous forme décimale complétée par des zéros (00-59).

59

%n

Saut de ligne.

saut de ligne

%p

AM ou PM.

AM, PM

%r

Heure au format 12 heures. Identique à %I:%M:%S %p.

11:59:59 AM

%R

Heure et minute au format 24 heures. Identique à %H:%M.

23:59

%S

Seconde sous forme décimale complétée par des zéros (00-59).

59

%t

Caractère de tabulation.

Aucun

%y

Année sans le siècle sous forme décimale complétée par des zéros (00-99).

04, 98

%Y

Année avec le siècle sous forme décimale.

2004, 1998

%C

Siècle sous forme décimale (00-99).

16

%e

Jour du mois sous forme décimale complétée par des espaces (1-31).

7, 31

%j

Jour de l'année sous forme décimale complétée par des zéros (001-366).

365

%u

Jour de la semaine sous forme décimale, où lundi correspond à 1 (1-7).

2

%U

Numéro de la semaine de l'année, avec dimanche comme premier jour de la semaine (00-53).

23

%V

Numéro de la semaine ISO 8601 de l'année, avec lundi comme premier jour de la semaine (01-53).

La semaine 1 est la première semaine de l'année contenant au moins quatre jours.

24

%w

Jour de la semaine sous forme décimale, où dimanche correspond à 0 (0-6).

5

%W

Numéro de la semaine de l'année, avec lundi comme premier jour de la semaine (00-53).

23

%c

Représentation locale de la date et de l'heure.

Tue Nov 20 14:12:58 2020

%x

Représentation locale de la date.

Tue Nov 20 2020

%X

Représentation locale de l'heure.

11:59:59

%s

Horodatage Unix.

1476187251

Exemples

Normes temporelles courantes et leurs expressions correspondantes :

Example

Expression

Standard

2017-12-11 15:05:07

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

Personnalisé

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

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

Personnalisé

2017-12-11 15:05:07.123

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

Personnalisé

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

Personnalisé

1637843406123

%s

Personnalisé (Simple Log Service tronque les horodatages à la précision de la seconde)

Documents connexes