Todos os produtos
Search
Central de documentação

Simple Log Service:Funções de processamento de campos

Última atualização: Jul 03, 2026

Este tópico descreve a sintaxe e os parâmetros das funções de processamento de campos. Também são apresentados exemplos de uso dessas funções.

Funções

Função

Descrição

v

Extrai o valor de um campo de um log. Se você especificar os nomes de vários campos para a função, ela retornará o valor do primeiro campo que existir no log.

É possível usar esta função em conjunto com outras funções. Para obter mais informações, consulte Limpar dados chamando funções.

e_set

Adiciona um campo ou define um novo valor para um campo existente.

Esta função pode ser combinada com outras funções. Para obter mais informações, consulte Limpar dados chamando funções.

e_drop_fields

Exclui os campos de log que atendem a uma condição especificada.

Use esta função junto com outras funções quando necessário. Para obter mais informações, consulte Transformar dados JSON complexos.

e_keep_fields

Mantém os campos de log que atendem a uma condição especificada.

e_pack_fields

Agrupa campos de log e atribui esses campos como valor a um novo campo.

e_rename

Renomeia os campos de log que atendem a uma condição especificada.

Mais indicado para cenários em que se utiliza esta função em conjunto com outras. Para obter mais informações, consulte Limpar dados chamando funções.

v

A função v extrai o valor de um campo de um log. Caso você especifique os nomes de vários campos para a função, ela retorna o valor do primeiro campo existente no log.

  • Sintaxe

    v(key, ..., default=None)
  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    key

    String

    Sim

    O nome do campo.

    default

    Arbitrário

    Não

    Se o campo não existir, a função retorna o valor deste parâmetro. Valor padrão: None.

  • Resposta

    O valor do primeiro campo existente no log é retornado. Se o campo não existir, o valor do parâmetro default será retornado.

  • Exemplos

    Atribua o valor do campo content ao campo test_content.

    • Log bruto:

      content: hello
    • Regra de transformação:

      e_set("test_content", v("content"))
    • Resultado:

      content: hello
      test_content: hello
  • Referências

    Esta função pode ser usada em conjunto com outras funções. Para obter mais informações, consulte Limpar dados chamando funções.

e_set

A função e_set adiciona um campo ou define um novo valor para um campo existente.

  • Sintaxe

    e_set(key1, value1, key2, value2, mode="overwrite")
    Importante
    • Especifique os parâmetros key1 e value1 em pares.

    • Ao usar a função e_set para definir um valor para um campo de tempo, como F_TIME ou __time__, o valor deve ser uma string numérica.

      e_set(F_TIME, "abc")   # Invalid syntax.
      e_set(F_TIME, "12345678")   # Valid syntax.
  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    key

    String

    Sim

    O nome do novo campo que você deseja adicionar ou o nome do campo existente para o qual deseja definir um novo valor. É possível obter um nome com base em uma expressão de string. Para obter mais informações sobre como especificar nomes de campos especiais, consulte Tipos de eventos.

    value

    Arbitrário

    Sim

    O valor do novo campo ou o novo valor do campo existente. Se o valor deste parâmetro não for uma string, a função converterá automaticamente o valor para uma string. Por exemplo, se você definir este parâmetro com um valor do tipo tupla, lista ou dicionário, a função converterá automaticamente o valor para uma string JSON. Para obter mais informações sobre as regras de conversão de strings, consulte Conversão automática de tipo durante a atribuição.

    Nota

    Se você definir este parâmetro como None, a função retornará o log bruto.

    mode

    String

    Não

    O modo de sobrescrita de campos. Valor padrão: overwrite. Para obter mais informações, consulte Verificação de extração de campo e modos de sobrescrita.

  • Resposta

    O log atualizado é retornado.

  • Exemplos

    • Exemplo 1: Definir um valor fixo para um campo.

      Adicione um novo campo chamado city e defina o valor como Shanghai.

      e_set("city", "Shanghai")
    • Exemplo 2: Extrair o valor de um campo existente e atribuir o valor a um novo campo.

      Chame uma função de expressão para extrair o valor de um campo existente chamado ret e atribua o valor a um novo campo chamado result.

      e_set("result", v("ret"))
    • Exemplo 3: Definir um valor dinâmico para um campo.

      Chame várias funções de expressão em sequência para obter o valor em minúsculas do primeiro campo existente e atribua o valor ao campo result.

      e_set("result", str_lower(v("ret", "return")))
    • Exemplo 4: Definir valores diferentes para um campo.

      1. Defina um valor para o campo event_type.

        e_set("event_type", "login event", "event_info", "login host")
      2. Se o valor do campo ret for fail, defina o campo event_type como login failed event.

        e_if(e_search('ret==fail'), e_set("event_type", "login failed event" ))
    • Referências

      Esta função pode ser usada em conjunto com outras funções. Para obter mais informações, consulte Limpar dados chamando funções.

e_drop_fields

A função e_drop_fields exclui os campos de log que atendem a uma condição especificada.

  • Sintaxe

    e_drop_fields(key1, key2, ....,regex=False)
  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    key

    String

    Sim

    O nome do campo de log. O valor deste parâmetro pode ser uma expressão regular. Se o nome do campo atender completamente à condição especificada, o campo será excluído. Caso contrário, o campo será mantido. Para obter mais informações sobre expressões regulares, consulte Expressões regulares.

    Especifique pelo menos um campo de log.

    regex

    Booleano

    Não

    Se você definir este parâmetro como False, as expressões regulares não serão usadas para correspondência. Valor padrão: True.

  • Resposta

    O log do qual o campo foi excluído é retornado.

  • Exemplos

    Se o valor do campo content for 123, exclua os campos content e age.

    • Log bruto:

      age: 18
      content: 123
      name: twiss
    • Regra de transformação:

      e_if(e_search("content==123"), e_drop_fields("content", "age",regex=True))
    • Resultado:

      name: twiss
  • Referências

    Esta função pode ser usada em conjunto com outras funções. Para obter mais informações, consulte Transformar dados JSON complexos.

e_keep_fields

A função e_keep_fields mantém os campos de log que atendem a uma condição especificada.

Nota

O Simple Log Service fornece metacampos integrados, como __time__ e __topic__. Se você não mantiver o campo __time__ ao chamar a função e_keep_fields, o horário do log será redefinido para o horário atual do sistema. Para evitar a redefinição do valor de um metacampo, adicione o metacampo a uma lista no formato F_TIME, F_META, F_TAGS, "f1", "f2". Para obter mais informações, consulte Identificadores fixos.

  • Sintaxe

    e_keep_fields(key1, key2, ....,regex=False)
  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    key

    String

    Sim

    O nome do campo de log. O valor deste parâmetro pode ser uma expressão regular. Se o nome do campo atender completamente à condição especificada, o campo será mantido. Caso contrário, o campo será excluído.

    Especifique pelo menos um campo de log.

    regex

    Booleano

    Não

    Se você definir este parâmetro como False, as expressões regulares não serão usadas para correspondência. Valor padrão: True.

  • Resposta

    O log no qual o campo foi mantido é retornado.

  • Exemplos

    Se o valor do campo content for 123, mantenha os campos content e age.

    • Log bruto:

      age: 18
      content: 123
      name: twiss
    • Regra de transformação:

      e_if(e_search("content==123"), e_keep_fields("content", "age"))
    • Resultado:

      age: 18
      content: 123

e_pack_fields

A função e_pack_fields agrupa campos de log e atribui esses campos como valor a um novo campo.

  • Sintaxe

    e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=True)
  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    output_field

    String

    Sim

    O nome do campo de saída. O valor do campo de saída está no formato JSON.

    include

    String

    Não

    A lista de permissões. Os campos que correspondem à expressão regular especificada na lista de permissões são agrupados. Valor padrão: ".*", o que indica que todos os campos em um log são correspondidos e agrupados. Para obter mais informações, consulte Expressões regulares.

    exclude

    String

    Não

    A lista de bloqueios. Os campos que correspondem à expressão regular especificada na lista de bloqueios não são agrupados. Valor padrão: None, o que indica que nenhum campo em um log é avaliado. Para obter mais informações, consulte Expressões regulares.

    drop_packed

    Booleano

    Não

    Especifica se os campos originais devem ser excluídos após o agrupamento. Valores válidos:

    • True: Os campos originais agrupados são excluídos no resultado. Este é o valor padrão.

    • False: Os campos originais agrupados não são excluídos no resultado.

  • Resposta

    O log no qual os campos foram agrupados é retornado.

  • Exemplos

    • Exemplo 1: Agrupar todos os campos de log no campo test. Por padrão, os campos originais agrupados são excluídos no resultado.

      • Log bruto:

        test1:123
        test2:456
        test3:789
      • Regra de transformação:

        e_pack_fields("test")
      • Resultado:

        test:{"test1": "123", "test2": "456", "test3": "789"}
    • Exemplo 2: Agrupar todos os campos de log no campo test. Os campos originais agrupados não são excluídos no resultado.

      • Log bruto:

        test1:123
        test2:456
        test3:789
      • Regra de transformação:

        e_pack_fields("test",drop_packed=False)
      • Resultado:

        test:{"test1": "123", "test2": "456", "test3": "789"}
        test1:123
        test2:456
        test3:789
    • Exemplo 3: Agrupar os campos test e abcd no campo content. Os campos originais agrupados não são excluídos no resultado.

      • Log bruto:

        abcd@#%:123
        test:456
        abcd:789
      • Regra de transformação:

        e_pack_fields("content", include="\w+", drop_packed=False)
      • Resultado:

        abcd:789
        abcd@#%:123
        content:{"test": "456", "abcd": "789"}
        test:456
    • Exemplo 4: Agrupar campos de log brutos, excluindo os campos test e abcd, no campo content. Os campos originais agrupados são excluídos no resultado.

      • Log bruto:

        abcd@#%:123
        test:456
        abcd:789
      • Regra de transformação:

        e_pack_fields("content", exclude="\w+", drop_packed=True)
      • Resultado:

        abcd:789
        content:{"abcd@#%": "123"}
        test:456

e_rename

A função e_rename renomeia os campos de log que atendem a uma condição especificada.

  • Sintaxe

    e_rename("key1", "new key1", "key2", "new key2", ..., regex=False)
    Nota

    Especifique os parâmetros key e new key em pares. Se a nova chave já existir no log bruto, nenhuma operação será executada.

  • Parâmetros

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    key

    String

    Sim

    O nome do campo de log. O valor deste parâmetro pode ser uma expressão regular. Se o nome do campo atender completamente à condição especificada, o campo será renomeado. Para obter mais informações sobre expressões regulares, consulte Expressões regulares.

    Especifique pelo menos um campo de log.

    new key

    String

    Sim

    O novo nome do campo.

    regex

    Booleano

    Não

    Se você definir este parâmetro como False, as expressões regulares não serão usadas para correspondência. Valor padrão: True.

  • Resposta

    O campo renomeado é retornado.

  • Exemplos

    • Exemplo 1: Renomear o campo host para client_host.

      • Log bruto:

        host: 1006
      • Regra de transformação:

        e_rename("host","client_host")
      • Resultado:

        client_host: 1006
    • Exemplo 2: Não renomear um campo de log se nenhum campo atender à condição especificada.

      • Log bruto:

        host: 1006
      • Regra de transformação:

        e_rename("url","rename_url")
      • Resultado:

        host: 1006
    • Referências

      Esta função pode ser usada em conjunto com outras funções. Para obter mais informações, consulte Limpar dados chamando funções.