java.util.logging使用筆記2

來源:互聯網
上載者:User

標籤:

?

java.util.logging是java內建的Tlog系統,其功能不如log4j/logback強大,但可以完成基本的日誌需求。

另外,如果在一個項目中使用log4j, 而這個項目引用的第3方包也使用了log4j,它們之間的設定檔會互相覆蓋,導致不可預知的結果。如果第3方包將設定檔公開了,可以通過修改log4j.properties來滿足自己的需求(如hadoop),如果沒有公開,而是打包在jar包裡面了,那就盡量不要再使用log4j了,logback也有類似問題。

此時就可以使用java.util.logging完成基本的Tlog。

1、定義設定檔,檔案名稱一般為logging.properties,放在項目的根目錄下,如果是maven項目,則放在src/main/resources下。

handlers=java.util.logging.FileHandler,java.util.logging.ConsoleHandler,java.util.logging.ConsoleHandler.level=WARNINGjava.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter     java.util.logging.FileHandler.level=INFOjava.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatterjava.util.logging.FileHandler.limit=1024000java.util.logging.FileHandler.count=10java.util.logging.FileHandler.pattern=/Users/liaoliuqing/mylog3.logjava.util.logging.FileHandler.append=true

?

關於這個設定檔,有個很大的坑,不能有多餘的空格,比如設定記錄層級是,INFO後面有一個空格,就會導致這個項無效,其它也類似。

?

2、在類中使用

package com.lujinhong.demo.log4j;import java.util.logging.Logger;public class LoggerDemo {private static Logger LOG = null;public static void main(String[] args) {System.setProperty("java.util.logging.config.file","logging.properties");LOG = Logger.getLogger("com.lujinhong");LOG.warning("測試資訊");LOG.info("hello");}}

?

這裡也有個坑,搞了很久,setProperty必須放在LOG的賦值之前。

運行上面的程式,在console中輸出:

七月 24, 2015 10:59:58 上午 com.lujinhong.demo.log4j.LoggerDemo main

警告: 測試資訊

在檔案中輸出:

七月 24, 2015 10:59:58 上午 com.lujinhong.demo.log4j.LoggerDemo main
警告: 測試資訊
七月 24, 2015 10:59:58 上午 com.lujinhong.demo.log4j.LoggerDemo main
資訊: hello

?

一些注意事項:

1、除了在代碼中指定設定檔外,也可以通過-Djava.util.logging.config.file=logging.properties指定。

甚至可以在代碼中指定log相關的所有配置,而不使用設定檔,但不推薦這種方式。

2、檔案的預設輸出格式為XML,必須改,很醜,真不知道java的開發人員怎麼想的。

3、其它的配置項都比較直觀,其中count那個是指最多產生多少個記錄檔。

java.util.logging使用筆記2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.