面試官提問,平時怎麼用日誌的如何回答?
回答要點1.log4j.properties的五個級別
2.怎麼配置的?
3.基本怎麼用?
實際中專案的需求是這樣的:
1,可以記錄日記在我們的java開發專案週期中;
2,很簡單即可輸出日誌;
3,每天按照時間將不同的日誌輸出到不同的檔案中,每天輸出日誌到一個帶有當前時間戳的檔案中;
4,可以修改當前輸出日誌的檔名,檔名字尾是當前的日期,而不需要等待log4j的專案到第二天這個檔名才能生成帶有時間戳的檔案;
6,按不同的日誌等級輸出日誌到不同的檔案中,例如error檔案中只有輸出的log級別為error的日誌,info級別的日誌只輸出到info檔案(所以這裡需要用的是log4j的xml配置檔案而不是使用log4j.properties檔案
Log4j有三個主要的元件:Loggers(記錄器),Appenders (輸出源)(英文append是附加的意思)和Layouts(佈局)。這裡可簡單理解為日誌類別,日誌要輸出的地方和日誌以何種形式輸出。綜合使用這三個元件可以輕鬆地記錄資訊的型別和級別,並可以在執行時控制日誌輸出的樣式和位置。
1、Loggers
Loggers元件在此係統中被分為五個級別:DEBUG(除錯)、INFO(資訊)、WARN(警告)、ERROR(錯誤)和FATAL(致命)。這五個級別是有順序的,DEBUG < INFO < WARN < ERROR < FATAL,分別用來指定這條日誌資訊的重要程度,明白這一點很重要,Log4j有一個規則:只輸出級別不低於設定級別的日誌資訊,假設Loggers級別設定為INFO,則INFO、WARN、ERROR和FATAL級別的日誌資訊都會輸出,而級別比INFO低的DEBUG則不會輸出。
2、Appenders
禁用和使用日誌請求只是Log4j的基本功能,Log4j日誌系統還提供許多強大的功能,比如允許把日誌輸出到不同的地方,如控制檯(Console)、檔案(Files)等,可以根據天數或者檔案大小產生新的檔案,可以以流的形式傳送到其它地方等等。
3、Layouts
有時使用者希望根據自己的喜好格式化自己的日誌輸出,Log4j可以在Appenders的後面附加Layouts來完成這個功能。Layouts提供四種日誌輸出樣式,如根據HTML樣式、自由指定樣式、包含日誌級別與資訊的樣式和包含日誌時間、執行緒、類別等資訊的樣式。