JSON
Se você especificar JSON como seu formato de log, o AppSignal fará o parsing damessage de log recebida como pares chave-valor. Cada par chave-valor será armazenado como um atributo na linha de log, permitindo que você filtre e pesquise por linhas de log específicas com base em seus atributos.
Exemplos
O exemplo a seguir mostra como o AppSignal faz o parsing de umamessage de log no formato JSON.
Mensagem
O JSON acima será parseado com a mensagem"this is a test message".
Você pode usar a chave msg ou message para sobrescrever a mensagem.
Se nenhuma chave msg ou message estiver disponível, a linha de log inteira será usada como mensagem.
Sobrescritas
Os atributos de log da plataforma ou integração (como hostname, timestamp e group definidos, por exemplo, pela plataforma Heroku) podem ser sobrescritos pelos valores da mensagem JSON.
A
severity pode conter um dos seguintes valores: unknown, trace, debug, info, notice, warn, error, critical, alert e fatal.
Essa é uma excelente maneira de controlar a severidade das suas linhas de log a partir da aplicação, independentemente da severidade (geralmente padrão info) definida pela plataforma ou integração.
Atributos
Qualquer outro par chave/valor é adicionado como atributo pesquisável:Regras de formatação
As chaves devem ser strings alfanuméricas. Valores de array não são suportados.
- Se um par chave-valor tiver uma chave com o nome
msgoumessage, o valor dessa chave será parseado como a mensagem de log. - Se nenhuma chave message/msg estiver disponível, a linha de log inteira será considerada a mensagem.
- As chaves devem ser alfanuméricas.
- As chaves não podem conter espaços, mas podem conter pontos finais (
.), sublinhados (_) e hifens (-). - As chaves não podem conter mais de 50 caracteres
- Os valores não devem ter mais de 255 caracteres
- Não mais que 25 atributos por mensagem de log.
- Os valores podem conter objetos aninhados, mas não Arrays.
- Os valores podem ser dos seguintes tipos:
- String
- Integer (por exemplo,
10) - Double (por exemplo,
10.01) - Boolean (
true/false) - Object (por exemplo,
{ "foo": "bar" })
..
Pares chave-valor que não seguem essas regras são anexados à mensagem de um log, a menos que uma chave message ou msg seja fornecida.