Cette rubrique décrit la syntaxe, les paramètres et les exemples relatifs aux fonctions d'opération sur les champs.
Liste des fonctions
|
Fonction |
Description |
|
Récupère la valeur d'un champ de journal spécifique. Si vous transmettez plusieurs noms de champs, la fonction renvoie la valeur du premier champ existant dans le journal. Cette fonction peut être utilisée conjointement avec d'autres fonctions. Pour plus d'informations, consultez la rubrique Nettoyer les données en appelant des fonctions. |
|
|
Ajoute un nouveau champ ou définit une nouvelle valeur pour un champ existant. Cette fonction peut être utilisée conjointement avec d'autres fonctions. Pour plus d'informations, consultez la rubrique Nettoyer les données en appelant des fonctions. |
|
|
Supprime les champs de journal qui répondent à des conditions spécifiées. Cette fonction peut être utilisée conjointement avec d'autres fonctions. Pour plus d'informations, consultez la rubrique Transformer des données JSON complexes. |
|
|
Conserve les champs de journal qui répondent à des conditions spécifiées. |
|
|
Regroupe les champs de journal et les affiche dans un nouveau champ. |
|
|
Renomme les champs de journal qui répondent à des conditions spécifiées. Cette fonction peut être utilisée conjointement avec d'autres fonctions. Pour plus d'informations, consultez la rubrique Nettoyer les données en appelant des fonctions. |
v
Appelez la fonction v pour récupérer la valeur d'un champ de journal spécifique. Si vous spécifiez plusieurs noms de champs, la fonction renvoie la valeur du premier champ existant dans le journal.
-
Syntaxe
v(key, ..., default=None) -
Paramètres
Paramètre
Type de paramètre
Obligatoire
Description
key
String
Oui
Saisissez un nom pour le champ.
default
Tout type
Non
Si le nom de champ spécifié n'existe pas, la fonction renvoie la valeur de
default. La valeur par défaut est None. -
Réponse
Renvoie la valeur du premier champ existant dans le journal. Si aucun des champs spécifiés n'existe, la fonction renvoie la valeur du paramètre default.
-
Exemples
Attribuez la valeur du champ
contentau champtest_content.-
Journal brut
content: hello -
Règle de transformation
e_set("test_content", v("content")) -
Résultat
content: hello test_content: hello
-
-
Références
Cette fonction peut être utilisée conjointement avec d'autres fonctions. Pour plus d'informations, consultez la rubrique Nettoyer les données en appelant des fonctions.
e_set
Appelez la fonction e_set pour ajouter un nouveau champ ou définir une nouvelle valeur pour un champ existant.
-
Syntaxe
e_set(key1, value1, key2, value2, mode="overwrite")ImportantLes paramètres key1 et value1 doivent être spécifiés par paires.
-
Lorsque vous utilisez la fonction e_set pour définir un champ temporel, tel que F_TIME ou __time__, la valeur doit être une chaîne numérique.
e_set(F_TIME, "abc") # Incorrect e_set(F_TIME, "12345678") # Correct
-
Paramètres
Paramètre
Type de paramètre
Obligatoire
Description
key
String
Oui
Nom du champ de destination. Vous pouvez également obtenir le nom du champ à partir d'une expression de chaîne. Pour plus d'informations sur la définition de noms de champs spéciaux, consultez la rubrique Types d'événements.
value
Tout type
Oui
Nouvelle valeur du champ. Les valeurs qui ne sont pas des chaînes sont converties en chaînes et ajoutées au journal. Les tuples, listes et dictionnaires sont convertis en chaînes d'objets JSON. Pour plus d'informations sur la conversion de chaînes, consultez la rubrique Conversion automatique de type lors de l'affectation.
RemarqueSi la valeur transmise est None, aucune mise à jour n'est effectuée.
mode
String
Non
Mode d'écrasement des champs. La valeur par défaut est overwrite. Pour plus d'informations, consultez la rubrique Modes de vérification et d'écrasement de l'extraction de champs.
-
Réponse
Renvoie le journal mis à jour.
-
Exemples
-
Exemple 1 : Définir une valeur statique pour un champ.
Ajoutez un nouveau champ nommé city et définissez sa valeur sur Shanghai.
e_set("city", "Shanghai") -
Exemple 2 : Copier la valeur d'un champ.
Utilisez une seule fonction d'expression pour attribuer la valeur du champ existant ret au nouveau champ result.
e_set("result", v("ret")) -
Exemple 3 : Définir une valeur dynamique.
Utilisez une fonction d'expression composite pour récupérer la valeur du premier champ existant, la convertir en minuscules et l'attribuer au champ result.
e_set("result", str_lower(v("ret", "return"))) -
Exemple 4 : Définir plusieurs fois la valeur d'un champ.
-
Définissez la valeur du champ event_type.
e_set("event_type", "login event", "event_info", "login host") -
Si la valeur du champ ret est fail, définissez la valeur du champ event_type sur login failed event.
e_if(e_search('ret==fail'), e_set("event_type", "login failed event" ))
-
-
Références
Cette fonction peut être utilisée conjointement avec d'autres fonctions. Pour plus d'informations, consultez la rubrique Nettoyer les données en appelant des fonctions.
-
e_drop_fields
Appelez la fonction e_drop_fields pour supprimer les champs de journal qui répondent à des conditions spécifiées.
-
Syntaxe
e_drop_fields(key1, key2, ....,regex=False) -
Paramètres
Paramètre
Type de paramètre
Obligatoire
Description
key
String
Oui
Nom du champ de journal. Il peut s'agir d'une expression régulière. Si le nom du champ correspond entièrement à la condition, le champ est supprimé. Les champs qui ne correspondent pas sont conservés. Pour plus d'informations sur les expressions régulières, consultez la rubrique Expressions régulières.
Vous devez configurer au moins un champ de journal.
regex
Boolean
Non
Si ce paramètre est défini sur False, les expressions régulières ne sont pas utilisées pour la correspondance. Si ce paramètre n'est pas configuré, la valeur par défaut est True.
-
Réponse
Renvoie le journal dont les champs ont été supprimés.
-
Exemples
Si la valeur du champ content est 123, supprimez les champs content et age.
-
Journal brut
age: 18 content: 123 name: twiss -
Règle de transformation
e_if(e_search("content==123"), e_drop_fields("content", "age",regex=True)) -
Résultat
name: twiss
-
-
Références
Cette fonction peut être utilisée conjointement avec d'autres fonctions. Pour plus d'informations, consultez la rubrique Transformer des données JSON complexes.
e_keep_fields
Appelez la fonction e_keep_fields pour conserver les champs de journal qui répondent à des conditions spécifiées.
Simple Log Service inclut des champs de métadonnées intégrés, tels que __time__ et __topic__. Si vous ne conservez pas le champ __time__ lorsque vous appelez la fonction e_keep_fields, l'heure du journal est réinitialisée à l'heure système actuelle. Pour éviter la réinitialisation des valeurs des champs de métadonnées, vous devez les ajouter à la liste. Le format courant est F_TIME, F_META, F_TAGS, "f1", "f2". Pour plus d'informations, consultez la rubrique Identificateurs fixes.
-
Syntaxe
e_keep_fields(key1, key2, ....,regex=False) -
Paramètres
Paramètre
Type de paramètre
Obligatoire
Description
key
String
Oui
Nom du champ de journal. Il peut s'agir d'une expression régulière. Si le nom du champ correspond entièrement à la condition, le champ est conservé. Les champs qui ne correspondent pas sont supprimés.
Vous devez configurer au moins un champ.
regex
Boolean
Non
Si ce paramètre est défini sur False, les expressions régulières ne sont pas utilisées pour la correspondance. Si ce paramètre n'est pas configuré, la valeur par défaut est True.
-
Réponse
Les journaux conservés sont renvoyés.
-
Exemples
Si la valeur du champ content est 123, conservez les champs content et age.
-
Journal brut
age: 18 content: 123 name: twiss -
Règle de transformation
e_if(e_search("content==123"), e_keep_fields("content", "age")) -
Résultat
age: 18 content: 123
-
e_pack_fields
Appelez la fonction e_pack_fields pour regrouper les champs de journal et les afficher dans un nouveau champ.
-
Syntaxe
e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=True) -
Paramètres
Paramètre
Type
Obligatoire
Description
output_field
String
Oui
Nom du champ de sortie après regroupement. Sa valeur est au format JSON.
include
String
Non
Configuration de la liste d'autorisation. Les champs qui correspondent à l'expression régulière sont regroupés. La valeur par défaut est ".*", ce qui indique que tous les champs sont mis en correspondance. Pour plus d'informations, consultez la rubrique Expressions régulières.
exclude
String
Non
Configuration de la liste de blocage. Les champs qui correspondent à l'expression régulière ne sont pas regroupés. La valeur par défaut est None, ce qui indique qu'aucune mise en correspondance n'est effectuée. Pour plus d'informations, consultez la rubrique Expressions régulières.
drop_packed
Boolean
Non
Indique s'il faut supprimer les données regroupées d'origine. La valeur par défaut est True.
True (par défaut) : Les données regroupées d'origine sont supprimées de la sortie.
False : Les données regroupées d'origine ne sont pas supprimées de la sortie.
-
Réponse
Renvoie les données de journal regroupées.
-
Exemples
-
Exemple 1 : Regrouper tous les champs de journal dans le champ test. Par défaut, les champs regroupés d'origine sont supprimés.
-
Journal brut
test1:123 test2:456 test3:789 -
Règle de transformation
e_pack_fields("test") -
Résultat
test:{"test1": "123", "test2": "456", "test3": "789"}
-
-
Exemple 2 : Regrouper tous les champs de journal dans le champ test. Les champs regroupés d'origine ne sont pas supprimés.
-
Journal brut
test1:123 test2:456 test3:789 -
Règle de transformation
e_pack_fields("test",drop_packed=False) -
Résultat
test:{"test1": "123", "test2": "456", "test3": "789"} test1:123 test2:456 test3:789
-
-
Exemple 3 : Regrouper les champs test et abcd dans le champ content. Les champs regroupés d'origine ne sont pas supprimés.
-
Journal brut
abcd@#%:123 test:456 abcd:789 -
Règle de transformation
e_pack_fields("content", include="\w+", drop_packed=False) -
Résultat
abcd:789 abcd@#%:123 content:{"test": "456", "abcd": "789"} test:456
-
-
Exemple 4 : Regrouper tous les champs sauf test et abcd dans le champ content. Les champs regroupés d'origine sont supprimés.
-
Journal brut
abcd@#%:123 test:456 abcd:789 -
Règle de transformation
e_pack_fields("content", exclude="\w+", drop_packed=True) -
Résultat
abcd:789 content:{"abcd@#%": "123"} test:456
-
-
e_rename
Appelez la fonction e_rename pour renommer les champs de journal qui répondent à des conditions spécifiées.
-
Syntaxe
e_rename("key1", "new key1", "key2", "new key2", ..., regex=False)RemarqueLes paramètres key et new key doivent être spécifiés par paires. Si la
new keyexiste déjà dans le journal source, aucune opération n'est effectuée. -
Paramètres
Paramètre
Type de paramètre
Obligatoire
Description
key
String
Oui
Nom du champ de journal. Il peut s'agir d'une expression régulière. Si le nom du champ correspond entièrement à la condition, le champ est renommé. Pour plus d'informations sur les expressions régulières, consultez la rubrique Expressions régulières.
Vous devez configurer au moins un champ.
new key
String
Oui
Nouveau nom du champ.
regex
Boolean
Non
Si ce paramètre est défini sur False, les expressions régulières ne sont pas utilisées pour la correspondance. Si ce paramètre n'est pas configuré, la valeur par défaut est True.
-
Réponse
Le champ renommé est renvoyé.
-
Exemples
-
Exemple 1 : Renommer le champ host en client_host.
-
Journal brut
host: 1006 -
Règle de transformation
e_rename("host","client_host") -
Résultat
client_host: 1006
-
-
Exemple 2 : Si le champ n'existe pas, il n'est pas renommé.
-
Journal brut
host: 1006 -
Règle de transformation
e_rename("url","rename_url") -
Résultat
host: 1006
-
-
Références
Cette fonction peut être utilisée conjointement avec d'autres fonctions. Pour plus d'informations, consultez la rubrique Nettoyer les données en appelant des fonctions.
-