Geração de registros Java
No ambiente de execução do Java, qualquer saída para STDOUT
ou STDERR
é propagada para o Cloud
Logging. No entanto, o nível de gravidade do registro
granular não é propagado. Use a API Java Logging (JUL) padrão para registrar mensagens e propagar os
níveis de gravidade de registro corretos para o Cloud Logging.
Se você usar uma estrutura de geração de registros diferente, como SLF4J, Log4j 2 ou Apache Commons Logging, será possível propagar o nível de gravidade de registro correto em uma das seguintes maneiras:
- Formate as mensagens de registro no formato JSON de registro estruturado para que o nível de gravidade seja propagado para o Cloud Logging.
- Use uma ponte/adaptador para enviar mensagens de registro para a API Java Logging, que já propaga as mensagens de registro no formato correto. Se você adotar essa abordagem, verifique se não há um adaptador existente que já faz o roteamento da API Java Logging para o framework de geração de registros.
Se a função usar bibliotecas diferentes e as bibliotecas usarem estruturas de geração de registros diferentes, será necessário configurar cada uma delas. As seções a seguir abrangem algumas das várias opções.
Spring Cloud Run function
Se você usar o Spring Cloud Run function com o adaptador do Spring Cloud Run functions
Google Cloud , será possível gerar o registro no formato correto usando o método
Starter do Logging do Google Cloud Spring Cloud e o
anexador CONSOLE_JSON
para gerar o registro no formato JSON. O Spring usa o SLF4J e o Logback por padrão, mas também é possível encaminhar registros SLF4J para a API Java Logging. Consulte a seção SLF4J para mais detalhes.
API Java Logging (JUL)
Todos os ambientes Java incluem o Java Logging com um gerenciador JSON que gera o registro no formato correto. Alguns frameworks do Java podem adicionar outros componentes para conectar JUL a um framework de geração de registros diferente (como ponte jul-to-slf4j ou Adaptador Log4j JDK). Nesse caso, essas mensagens de registro não serão mais formatadas corretamente. Se as mensagens de registro não tiverem níveis de gravidade corretos, verifique se essas pontes foram removidas.
SLF4J
O SLF4J pode gravar registros na
API Java Logging usando a vinculação do framework de geração de registros slf4j-jdk14
. Consulte a
documentação
do SLF4J para mais detalhes. Confirme que você não tem a ponte
jul-to-slf4j
.
Logback
O Logback não tem um aplicativo que roteie mensagens de registro para a API Java Logging. No entanto, o Logback geralmente é usado com a API SFL4J para que você possa alternar a implementação do registrador SLF4J para a API Java Logging.
Log4j2
O Log4j 2 não tem um adaptador direto que direciona mensagens de registro para a API Java Logging. Se você estiver usando o Log4j 2, primeiro será necessário encaminhar as mensagens para o SLF4J usando o adaptador Log4J 2 para SLF4J e, em seguida, configurar o SLF4J para usar a implementação da API Java Logging. Verifique se você não tem o adaptador Log4j JDK do Logging.
Apache Commons Logging (JCL)
O Apache Commons Logging tem um adaptador da API Java Logging. Configure o recurso Commons Logging para usar o Jdk14Logger. Consulte a página de configuração do Apache Commons Logging para mais informações.