电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

詳解記錄Java Log的幾種方式

瀏覽:132日期:2022-08-11 10:55:53
目錄一、System.out.println(最簡單)二、java.util.logging(相對(duì)簡單)三、log4j(最強(qiáng)大)四、commons-logging(全稱:Jakarta Commons Logging五、slf4j(全稱:Simple Logging Facade for Java,簡單日志門面

在Java中記錄日志的方式有如下幾種:

一、System.out.println(最簡單)

1、輸出到控制臺(tái):System.out.println('XXX');2、輸出到指定文件:

import java.io.PrintStream; PrintStream ps = new PrintStream('D:test.txt');System.setOut(ps);System.out.println('XXX');二、java.util.logging(相對(duì)簡單)

JDK自帶的logging.jar中的方法。通過位于JDK安裝路徑下的jre/lib/logging.properties文件進(jìn)行配置。

1、默認(rèn)配置如下:

handlers= java.util.logging.ConsoleHandler .level= INFO # default file output is in user’s home directory.java.util.logging.FileHandler.pattern = %h/java%u.logjava.util.logging.FileHandler.limit = 50000java.util.logging.FileHandler.count = 1java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter # Limit the message that are printed on the console to INFO and above.java.util.logging.ConsoleHandler.level = INFOjava.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

默認(rèn)是輸出到控制臺(tái),如果既想在控制臺(tái),又想在文件中,要修改如下配置:

handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler

Logger的級(jí)別按降序排序如下:

SEVERE(最高值) WARNING INFO CONFIG FINE FINER FINEST(最低值)

默認(rèn)所有l(wèi)og的輸出級(jí)別是INFO(.level= INFO),比INFO更低的日志不會(huì)顯示。控制臺(tái)的Log輸出級(jí)別可以特殊控制,默認(rèn)也是INFO,可以修改如下配置:

java.util.logging.ConsoleHandler.level = INFO

2、實(shí)例

(1)輸出到控制臺(tái):

Logger log = Logger.getLogger('testLog'); log.setLevel(Level.WARNING);log.warning('xxxx testLog warning');

輸出結(jié)果:

詳解記錄Java Log的幾種方式

(2)輸出到文件:

FileHandler fileHandler;//文件控制器try { fileHandler = new FileHandler('D:temptext.log');fileHandler.setLevel(Level.INFO);fileHandler.setFormatter(new Formatter() {//定義一個(gè)匿名類 //Formatter 接受 LogRecord,并將它轉(zhuǎn)換為一個(gè)字符串。 @Override public String format(LogRecord record) { Date date = new Date(); String sDate = date.toString(); return '[' + sDate + ']' + '[' + record.getLevel() + ']' + ':' + record.getMessage() + 'n'; } }); Logger log = Logger.getLogger('testLog');log.addHandler(fileHandler); log.info('aaa'); } catch (SecurityException e) { e.printStackTrace();} catch (IOException e) { e.printStackTrace();}

默認(rèn)狀況下, 日志會(huì)打印到控制臺(tái)。添加 filehandler 后, 會(huì)同時(shí)寫入文件。輸出結(jié)果:

詳解記錄Java Log的幾種方式詳解記錄Java Log的幾種方式

三、log4j(最強(qiáng)大)

可以通過配置 .properties 或是 .xml 的文件, 配置日志的目的地,格式等等。具體配置不在此處詳述。

1、Log4J的輸出級(jí)別按降序排序如下:

OFF 最高等級(jí),關(guān)閉日志 FATAL 可能導(dǎo)致應(yīng)用中止的嚴(yán)重事件錯(cuò)誤 ERROR 嚴(yán)重錯(cuò)誤,主要是程序錯(cuò)誤 WARN 一般警告 INFO 一般顯示信息 DEBUG 調(diào)試信息 TRACE比DEBUG更細(xì)粒度的事件信息 ALL 最低等級(jí)

2、實(shí)例

import org.apache.log4j.Logger;public class Log4jTest { private static Logger log = Logger.getLogger(Log4jTest.class); public void log() {log.info('hello this is log4j info log'); } public static void main(String[] args) {Log4jTest test = new Log4jTest();test.log(); }}

除了上述幾種,還存在logback等其他的日志框架,對(duì)于開發(fā)者而言,每種日志都有不同的寫法。如果以實(shí)際的日志框架來進(jìn)行編寫,之后更換日志系統(tǒng)就很麻煩。

由此誕生了以下的門面類日志框架(它們都不是日志的最終實(shí)現(xiàn),只是一套規(guī)范),將系統(tǒng)和具體的日志實(shí)現(xiàn)框架解耦合。

詳解記錄Java Log的幾種方式

四、commons-logging(全稱:Jakarta Commons Logging

commons-logging是為那些需要建立在不同環(huán)境下使用不同日志架構(gòu)的組件或庫的開發(fā)者創(chuàng)建的,由commons-logging在運(yùn)行時(shí)決定使用哪種日志架構(gòu)。

默認(rèn)的LogFactory是按照下列的步驟去發(fā)現(xiàn)并決定那個(gè)日志工具將被使用的(按照順序,尋找過程會(huì)在找到第一個(gè)工具時(shí)中止):

首先在classpath下尋找自己的配置文件commons-logging.properties,使用其中定義的Log實(shí)現(xiàn)類; 找不到commons-logging.properties文件,則在查找是否已定義系統(tǒng)環(huán)境變量org.apache.commons.logging.Log,使用其定義的Log實(shí)現(xiàn)類; 否則,查看classpath中是否有Log4j的包,有則自動(dòng)使用Log4j作為日志實(shí)現(xiàn)類; 否則,使用JDK自身的日志實(shí)現(xiàn)類(JDK1.4以后才有日志實(shí)現(xiàn)類); 否則,使用commons-logging自己提供的一個(gè)簡單的日志實(shí)現(xiàn)類SimpleLog;

在common-logging.properties文件中設(shè)置實(shí)現(xiàn)Log接口的類:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

commons-logging結(jié)合Log4J的實(shí)例

import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory; public class JCLTest { private static Log log = LogFactory.getLog(JCLTest.class); public void log() { log.info('hello this is JCL info log'); } public static void main(String[] args) { JCLTest test = new JCLTest(); test.log(); }}五、slf4j(全稱:Simple Logging Facade for Java,簡單日志門面

SLF4j+Log4j 與 JCL+Log4J 的使用方式差不多,主要差異就在 SLF4J 用 jar 來告知用哪種日志實(shí)現(xiàn),而 JCL 是通過配置文件來獲得該選擇哪個(gè)日志實(shí)現(xiàn)。

實(shí)例

import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Test { private static final Logger log = LoggerFactory.getLogger(Test.class); public void test() {log.info('hello this is {} info log', 'SLF4J'); }}

到此這篇關(guān)于詳解記錄Java Log的幾種方式的文章就介紹到這了,更多相關(guān)Java Log內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: pH污水传感器电极,溶解氧电极传感器-上海科蓝仪表科技有限公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 软文发布平台 - 云软媒网络软文直编发布营销推广平台 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 挨踢网-大家的导航!| 电子天平-华志电子天平厂家 | 2-羟基泽兰内酯-乙酰蒲公英萜醇-甘草查尔酮A-上海纯优生物科技有限公司 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 柔性测斜仪_滑动测斜仪-广州杰芯科技有限公司 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 | 金属清洗剂,防锈油,切削液,磨削液-青岛朗力防锈材料有限公司 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 洛阳装修公司-洛阳整装一站式品牌-福尚云宅装饰 | 聚氨酯复合板保温板厂家_廊坊华宇创新科技有限公司 | 工业废水处理|污水处理厂|废水治理设备工程技术公司-苏州瑞美迪 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 高压直流电源_特种变压器_变压器铁芯-希恩变压器定制厂家 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 风化石头制砂机_方解石制砂机_瓷砖石子制砂机_华盛铭厂家 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 钢托盘,钢制托盘,立库钢托盘,金属托盘制造商_南京飞天金属制品实业有限公司 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 对辊破碎机-液压双辊式,强力双齿辊,四辊破碎机价格_巩义市金联机械设备生产厂家 |