一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

聯(lián)系我們 - 廣告服務(wù) - 聯(lián)系電話:
您的當(dāng)前位置: > 關(guān)注 > > 正文

快看:JUL是什么?java原生日志框架JUL源碼

來(lái)源:CSDN 時(shí)間:2023-03-14 08:46:28


(資料圖片)

JUL簡(jiǎn)介

JUL全程 Java Util Logging,它是java原生的日志框架,使用時(shí)不需要另外引用第三方的類庫(kù),相對(duì)其他的框架使用方便,學(xué)習(xí)簡(jiǎn)單,主要是使用在小型應(yīng)用中。

代碼實(shí)現(xiàn)

package com.log;import org.junit.Test;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import java.util.logging.*;public class JULTest {    @Test    public void test01() {        Logger logger = Logger.getLogger("com.log");        Logger logger2 = Logger.getLogger("com.log.JULTest");        //logger 是 logger 的父,繼承它的配置        //RootLogger作為所有Logger的父Logger,getName為空//        System.out.println("logger 名稱: "+ logger.getName()+" 它的的父 :"+logger.getParent());        //取消與父類關(guān)聯(lián)        //參數(shù)設(shè)置為false,我們打印日志的方式就不會(huì)按照父logger默認(rèn)的方式去進(jìn)行操作        logger.setUseParentHandlers(false);//        String name = "zs";//        int age = 23;//        logger.log(Level.INFO,"學(xué)生的姓名:{0},年齡:{1}",new Object[]{name,age});/*        日志的級(jí)別(通過(guò)源碼查看,非常簡(jiǎn)單)        SEVERE : 錯(cuò)誤 --- 最高級(jí)的日志級(jí)別        WARNING : 警告        INFO : (默認(rèn)級(jí)別)消息        CONFIG : 配置        FINE : 詳細(xì)信息(少)        FINER : 詳細(xì)信息(中)        FINEST : 詳細(xì)信息 (多) --- 最低級(jí)的日志級(jí)別        每個(gè)級(jí)別對(duì)應(yīng)一個(gè)數(shù)字        SEVERE 1000        WARNING 900        ...        FINEST 300        兩個(gè)特殊的級(jí)別(通過(guò)控制數(shù)字來(lái)控制日志輸出)        比如設(shè)置為500,則輸出日志級(jí)別在500以上的日志        OFF 可用來(lái)關(guān)閉日志記錄      Integer.MAX_VALUE        ALL 啟用所有消息的日志記錄   Integer.MIN_VALUE*/        //處理器Handler        //在此我們使用的是控制臺(tái)日志處理器,取得處理器對(duì)象        ConsoleHandler handler = new ConsoleHandler();        //創(chuàng)建日志格式化組件對(duì)象        SimpleFormatter formatter = new SimpleFormatter();        //在處理器中設(shè)置輸出格式        handler.setFormatter(formatter);        //在記錄器中添加處理器        logger.addHandler(handler);        //設(shè)置日志的打印級(jí)別        //此處必須將日志記錄器和處理器的級(jí)別進(jìn)行統(tǒng)一的設(shè)置,才會(huì)達(dá)到日志顯示相應(yīng)級(jí)別的效果        logger.setLevel(Level.FINE);        handler.setLevel(Level.FINE);        logger.severe("logger severe 信息");        logger.warning("logger warning 信息");        logger.config("logger config 信息");        logger.fine("logger fine 信息");        logger.finer("logger finer 信息");        logger.finest("logger finest 信息");        logger2.severe("logger2 severe 信息");        logger2.warning("logger2 warning 信息");        logger2.config("logger2 config 信息");        logger2.fine("logger2 fine 信息");        logger2.finer("logger2 finer 信息");        logger2.finest("logger2 finest 信息");    }}

使用配置文件

#RootLogger(根logger)使用的處理器handlers= java.util.logging.ConsoleHandler#RootLogger默認(rèn)的日志級(jí)別.level= INFO#文件處理器屬性設(shè)置#輸出日志文件路徑j(luò)ava.util.logging.FileHandler.pattern = %h/java%u.log#輸出日志文件大小限制(50000字節(jié))java.util.logging.FileHandler.limit = 50000#輸出日志文件數(shù)量java.util.logging.FileHandler.count = 1#輸出日志文件格式j(luò)ava.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter#------------------------------#自定義Loggercom.log.handlers = java.util.logging.FileHandler#自定義級(jí)別com.log.level = CONFIG#屏蔽父類com.log.UseParentHandlers = False#----------------------------------#控制器日志輸出#控制器日志輸出級(jí)別java.util.logging.ConsoleHandler.level = INFO#控制器日志輸出格式j(luò)ava.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter#可將日志級(jí)別設(shè)置在某個(gè)包下#com.xyz.foo.level = SEVERE

//    使用配置文件    @Test    public void test02() throws Exception {//        默認(rèn)配置文件地址  jdk\jre\lib\logging.properties        InputStream input = new FileInputStream("src/main/java/com/log/logging.properties");        //取得日志管理器對(duì)象        LogManager logManager = LogManager.getLogManager();        //讀取自定義的配置文件        logManager.readConfiguration(input);        Logger logger = Logger.getLogger("com.JULTest");        logger.severe("severe信息");        logger.warning("warning信息");        logger.info("info信息");        logger.config("config信息");        logger.fine("fine信息");        logger.finer("finer信息");        logger.finest("finest信息");        //文件日志處理器        FileHandler handler = new FileHandler("src/main/java/com/log/myLogTest.log");        SimpleFormatter formatter = new SimpleFormatter();        handler.setFormatter(formatter);        logger.addHandler(handler);        //也可以同時(shí)在控制臺(tái)和文件中進(jìn)行打印        ConsoleHandler handler2 = new ConsoleHandler();        handler2.setFormatter(formatter);        logger.addHandler(handler2); //可以在記錄器中同時(shí)添加多個(gè)處理器        logger.setLevel(Level.ALL);        handler.setLevel(Level.ALL);        handler2.setLevel(Level.CONFIG);        logger.severe("severe信息");        logger.warning("warning信息");        logger.info("info信息");        logger.config("config信息");        logger.fine("fine信息");        logger.finer("finer信息");        logger.finest("finest信息");    }

責(zé)任編輯:

標(biāo)簽:

相關(guān)推薦:

精彩放送:

新聞聚焦
Top 主站蜘蛛池模板: 文山县| 罗山县| 武乡县| 合江县| 会理县| 长海县| 隆昌县| 钦州市| 安国市| 镇赉县| 宣城市| 颍上县| 建水县| 赣州市| 辽宁省| 沅江市| 长岛县| 晋江市| 稻城县| 来安县| 寻甸| 巫溪县| 勃利县| 西和县| 平乐县| 巨野县| 天峨县| 西安市| 抚州市| 开封县| 惠州市| 阳西县| 平潭县| 安宁市| 方城县| 饶阳县| 门头沟区| 岑巩县| 富阳市| 平果县| 靖远县|