Java Logging
בזמן הריצה של Java, כל פלט אל STDOUT או STDERR מועבר אל Cloud Logging. עם זאת, רמת החומרה המפורטת של היומן לא מועברת. משתמשים ב-Java Logging API (JUL) הרגיל כדי לרשום הודעות ביומן ולהעביר את רמות החומרה הנכונות של היומן אל Cloud Logging.
אם אתם משתמשים במסגרת רישום אחרת, כמו SLF4J, Log4j 2 או Apache Commons Logging, אתם יכולים להפיץ את רמת החומרה הנכונה של היומן באחת מהדרכים הבאות:
- מעצבים את הודעות היומן בפורמט JSON של רישום ביומן עם מבנה כדי שרמת החומרה תועבר אל Cloud Logging.
- משתמשים בגשר או במתאם כדי לשלוח הודעות יומן ל-Java Logging API, שכבר מעביר את הודעות היומן בפורמט הנכון. אם בוחרים בגישה הזו, צריך לוודא שאין מתאם קיים שכבר מעביר נתונים מ-Java Logging API למסגרת הרישום.
אם הפונקציה משתמשת בספריות שונות, והספריות משתמשות במסגרות שונות של רישום ביומן, צריך להגדיר כל אחת ממסגרות הרישום ביומן שבהן נעשה שימוש. בקטעים הבאים מפורטות כמה מהאפשרויות השונות.
פונקציית Spring Cloud Run
אם אתם משתמשים בפונקציית Spring Cloud Run עם Google Cloud המתאם של פונקציות Spring Cloud Run, אתם יכולים להשתמש בSpring Cloud's Google Cloud Logging Starter ובCONSOLE_JSON appender כדי להפיק את היומן בפורמט JSON. ב-Spring נעשה שימוש ב-SLF4J וב-Logback כברירת מחדל, אבל אפשר גם להפנות יומנים של SLF4J אל Java Logging API. פרטים נוספים מופיעים בקטע SLF4J.
Java Logging API (JUL)
כל סביבות Java של פונקציות Cloud Run נתמכות כוללות Java Logging עם handler של JSON שמפיק את היומן בפורמט הנכון. יכול להיות שחלק ממסגרות Java יוסיפו רכיבים נוספים כדי לגשר בין JUL למסגרת רישום ביומן אחרת (כמו jul-to-slf4j bridge או Log4j JDK Logging Adapter). במקרה כזה, הודעות היומן האלה לא יהיו יותר בפורמט הנכון. אם בהודעות ביומן אין רמות חומרה נכונות, צריך לוודא שהגשרים האלה הוסרו.
SLF4J
SLF4J יכול לכתוב יומנים ל-Java Logging API באמצעות הקישור של framework לרישום ביומן slf4j-jdk14. פרטים נוספים זמינים בתיעוד של SLF4J. חשוב לוודא שאין לכם גשר jul-to-slf4j.
Logback
ל-Logback אין אפנדר שמנתב הודעות יומן אל Java Logging API. עם זאת, בדרך כלל משתמשים ב-Logback עם SFL4J API, כך שאפשר להחליף את ההטמעה של SLF4J logger ב-Java Logging API.
Log4j 2
ל-Log4j 2 אין מתאם ישיר שמנתב הודעות יומן אל Java Logging API. אם אתם משתמשים ב-Log4j 2, אתם צריכים קודם להפנות הודעות ל-SLF4J באמצעות מתאם Log4J 2 ל-SLF4J, ואז להגדיר את SLF4J לשימוש בהטמעה של Java Logging API. חשוב לוודא שאין לכם את מתאם הרישום ביומן של Log4j JDK.
Apache Commons Logging (JCL)
ל-Apache Commons Logging יש מתאם Java Logging API. מגדירים את Commons Logging לשימוש ב-Jdk14Logger. מידע נוסף זמין בדף הגדרת Apache Commons Logging.