logo

Log4J רמות רישום

רמות רישום משמשות כדי לסווג את הערכים בקובץ היומן שלך. אבל הם מסווגים בצורה מאוד ספציפית, כלומר לפי דחיפות. הרמה מאפשרת לך להפריד בין סוגי המידע הבאים:

המרת int למחרוזת c++
  • אתה יכול לסנן את קובצי היומן שלך במהלך החיפוש.
  • אתה יכול לנהל את כמות המידע שאתה רושם.

כמות וסוג המידע הניתן במערכת, ויומני האירועים נשלטים על ידי הגדרות רמת log4j בקובץ התצורה. לכל הודעת יומן יש קידומת רמת ההודעה.

רמות הרישום הן דוגמה של org.apache.log4j.Level מעמד.

ל-Log4j יש את רמות הרישום הבאות:

רמת יומן תיאור
את כל רמה זו מפעילה את כל רמות הרישום. הוא כולל את רמות הרישום המותאמות אישית שהגדרת. לאחר הגדרת התצורה הזו והרמות אינן נחשבות כלל, אז כל הנספחים יתחילו לשפוך את אירועי היומן בקובצי יומן.
לנפות Debug משמש הרבה לניפוי באגים באפליקציה בזמן הפיתוח. כל הודעת יומן תופיע לקובצי יומן לאחר הגדרת רמה זו. זה בעצם שייך למפתחים.
מידע רמת הרישום INFO משמשת להקלטת הודעות על פעולת יישום שגרתית. בזמן אמת, מנהלי מערכת צופים ביומני המידע כדי לוודא מה קורה במערכת כרגע, ואם יש בעיה כלשהי בזרימה הרגילה.
לְהַזהִיר רמת יומן WARN משמשת כדי לציין שאולי יש לך בעיה ושזיהית מצב חריג. אולי דרשת להפעיל שירות, והוא נכשל כמה פעמים לפני התחברות בניסיון חוזר אוטומטי. זה לא צפוי וחריג, אבל לא נגרם נזק אמיתי, ולא ידוע אם הבעיה תימשך או תחזור על עצמה. מישהו צריך לחקור אזהרות.
שְׁגִיאָה רמת היומן ERROR משמשת לציון בעיה רצינית שעליך לחקור מיד. לא רציני כמו FATAL, אבל עדיין בעיה. זה פשוט אומר שהאפליקציה שלך הגיעה למצב ממש לא רצוי. לדוגמה, קלט בפורמט בלתי צפוי, חוסר זמינות של מסד נתונים.
קָטלָנִי רמת היומן FATAL, כמו ERROR, מציינת בעיה. אבל בניגוד ל-ERROR, זה מציין אירוע שגיאה חמור מאוד. לא תשקול את נוכחותם במיוחד ביום רגיל, אבל ברגע שהם מופיעים, זה מסמן חדשות רעות מאוד, אפילו יישום המוות.
כבוי זוהי הדרגה הגבוהה ביותר האפשרית והיא נועדה לבטל רישום.
זֵכֶר זה הוצג לאחרונה בגרסה 1.2 וכולל מידע נוסף על ניפוי באגים ביומנים ברמת.

כיצד להגדיר רמות יומן?

הגדר את רמת היומן ב-log4j.properties

רשימת יצירת java
 log4j.rootLogger=DEBUG, consoleAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n #Log info messages for package 'com.javatpoint.web.controller' log4j.logger.com.javatpoint.web.controller=INFO, consoleAppender 

הגדר את רמת היומן ב-log4j.xml

 

כיצד פועלות רמות יומן?

העבודה של רמות רישום היא למעשה פשוטה מאוד. במהלך זמן הריצה, קוד האפליקציה יצור בקשות רישום, שתהיה להן רמה. במקביל, למסגרת הרישום מוגדרת רמת יומן, המשמשת כסף. אם רמת הבקשה היא ברמה המוגדרת או ברמה גבוהה יותר, היא תירשם אל היעד המוגדר. אם לא, זה מוכחש. זה פשוט ככה.

בואו ניקח בחשבון את זה כסדר הדירוג הבא עבור הרמות:

 ALL <trace < debug info warn error fatal off pre> <p>So if, for instance, the logging framework level is set to WARN, requests with any of the levels WARN, FATAL, and ERROR will be accepted, while the rest will be denied.</p> <img src="//techcodeview.com/img/log4j-tutorial/51/log4j-logging-levels.webp" alt="Log4J Logging Levels"> <p>In the above diagram, the vertical header displays the Level of the LogEvent, while the horizontal header shows the Level associated with the appropriate logging configuration.</p> <p>For the first column, you will see how the log works in each level. For example, for WARN, (FATAL, ERROR, and WARN) will be visible. For OFF, nothing will be visible.</p> <h3>Log4j Level Example</h3> <p> <strong>Configuration File:</strong> </p> <pre> # Define the root logger with appender file log = /usr/home/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n </pre> <p> <strong>Java Program:</strong> </p> <pre> import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace(&apos;Trace Message!&apos;); log.debug(&apos;Debug Message!&apos;); log.info(&apos;Info Message!&apos;); log.warn(&apos;Warn Message!&apos;); log.error(&apos;Error Message!&apos;); log.fatal(&apos;Fatal Message!&apos;); } } </pre> <p>Now compile and run the above program and we would get the following output in c:/usr/home/log4j/log.out file:</p> <pre> Warn Message! Error Message! Fatal Message! </pre> <hr></trace>

תוכנית Java:

ריפוד np
 import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace(&apos;Trace Message!&apos;); log.debug(&apos;Debug Message!&apos;); log.info(&apos;Info Message!&apos;); log.warn(&apos;Warn Message!&apos;); log.error(&apos;Error Message!&apos;); log.fatal(&apos;Fatal Message!&apos;); } } 

כעת הידור והפעל את התוכנית שלעיל ונקבל את הפלט הבא בקובץ c:/usr/home/log4j/log.out:

 Warn Message! Error Message! Fatal Message!