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

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

詳解記錄Java Log的幾種方式

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

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

一、System.out.println(最簡(jiǎn)單)

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ì)簡(jiǎn)單)

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è)簡(jiǎn)單的日志實(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,簡(jiǎn)單日志門面

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)文章:
主站蜘蛛池模板: led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 防爆电机_防爆电机型号_河南省南洋防爆电机有限公司 | SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 塑胶跑道_学校塑胶跑道_塑胶球场_运动场材料厂家_中国塑胶跑道十大生产厂家_混合型塑胶跑道_透气型塑胶跑道-广东绿晨体育设施有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 船用烟火信号弹-CCS防汛救生圈-船用救生抛绳器(海威救生设备) | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 番茄畅听邀请码怎么输入 - Dianw8.com | 密度电子天平-内校-外校电子天平-沈阳龙腾电子有限公司 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 24位ADC|8位MCU-芯易德科技有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 鲁网 - 山东省重点新闻网站,山东第一财经门户 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 广州各区危化证办理_危险化学品经营许可证代办 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 博客-悦享汽车品质生活| 今日热点_实时热点_奇闻异事_趣闻趣事_灵异事件 - 奇闻事件 | 余姚生活网_余姚论坛_余姚市综合门户网站 | 四川成人高考_四川成考报名网 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 好看的韩国漫画_韩漫在线免费阅读-汗汗漫画 | 防锈油-助焊剂-光学玻璃清洗剂-贝塔防锈油生产厂家 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 武汉高低温试验箱_恒温恒湿试验箱厂家-武汉蓝锐环境科技有限公司 |