Logging Java

Nel runtime Java, qualsiasi output in STDOUT o STDERR viene propagato in Cloud Logging. Tuttavia, la gravità dei log granulare livello non viene propagato. Utilizza lo standard API Java Logging (JUL) per registrare i messaggi e propagare i livelli di gravità dei log corretti in Cloud Logging.

Se utilizzi un framework di logging diverso, ad esempio SLF4J, Log4j 2 o Apache Commons Logging, puoi propagare il log corretto livello di gravità in uno dei seguenti modi:

  • Formatta i messaggi di log nel Formato JSON di logging strutturato in modo che di gravità viene propagato a Cloud Logging.
  • Usa un bridge/adattatore per inviare messaggi di log all'API Java Logging, che propaga già i messaggi di log nel formato corretto. Se scegli questo assicurati che non esista un adattatore che instrada già l'API Java Logging nel framework di logging.

Se la funzione utilizza librerie diverse e le librerie utilizzano di logging, dovrai configurare ognuno di essi in uso. Le sezioni seguenti illustrano alcune delle varie opzioni disponibili.

Funzione Cloud Functions Functions Spring

Se utilizzi la funzione Cloud Functions di Spring con Google Cloud Functions di Spring dell'adattatore, puoi eseguire l'output dell'accesso nel formato corretto utilizzando Google Cloud Logging Starter di Spring Cloud e Appendice CONSOLE_JSON per restituire il segno in formato JSON. Spring utilizza SLF4J e Logback ma puoi anche instradare i log SLF4J all'API Java Logging. Consulta le SLF4J per maggiori dettagli.

API Java Logging (LUG)

Tutti supportati Cloud Functions Java ambienti includi il logging Java con un gestore JSON che restituisce il log nel codice formato. Alcuni framework Java potrebbero aggiungere componenti aggiuntivi per collegare JUL a un framework di logging diverso (ad esempio bridge jul-to-slf4j o L'adattatore di logging JDK Log4j), nel qual caso vengono registrati i messaggi non saranno più formattati correttamente. Se i messaggi di log non contengono i livelli di gravità corretti, assicurati che questi ponti siano rimossi.

SLF4J

SLF4J può scrivere i log nel API Java Logging utilizzando l'associazione del framework di logging slf4j-jdk14. Consulta le SLF4J documentazione per i dettagli. Assicurati di non avere jul-to-slf4j ponte.

Accedi

Il logback non prevede che instrada i messaggi di log all'API Java Logging. Tuttavia, Logback è solitamente utilizzato con l'API SFL4J, quindi puoi passare Implementazione del logger SLF4J nell'API Java Logging.

Log4j 2

Log4j 2 non dispone di un adattatore diretto che instrada i messaggi di log all'API Java Logging. Se si utilizza Log4j 2, è necessario prima indirizzare i messaggi a SLF4J utilizzando adattatore da Log4J 2 a SLF4J, quindi configura SLF4J per utilizzare la implementazione dell'API Java Logging. Assicurati di non l'adattatore di registrazione JDK di Log4j.

Logging Apache Commons (JCL)

Apache Commons Logging dispone di un adattatore API Java Logging. Configura Commons Logging per utilizzare Jdk14Logger. Per ulteriori informazioni, consulta la pagina sulla configurazione di Apache Commons Logging.