成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

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

java啟動jar包將日志打印到文本的簡單操作

瀏覽:4日期:2022-08-26 18:20:27

啟動命令:

java -jar weichi-1.0.0.jar

將命令打印到1.log上

java -jar weichi-1.0.0.jar > 1.log

補充知識:Java中日志的使用(包含指定日志信息輸出到指定地方)

一、前言

對于我們開發(fā)者而言,日志存在的意義十分重大;本文主要是自己整理了關(guān)于日志的一些知識點,希望能幫助到需要的人,也希望各位能指出我的錯誤。

二、日志的作用

① 記錄運行信息,方便調(diào)試

② 記錄錯誤信息,方便排查錯誤

③ 存儲運行記錄,方便后期的數(shù)據(jù)分析

三、日志的主要知識點:三大組件

1.Loggers 組件

1.1作用:

設(shè)置日志級別,決定什么日志信息應(yīng)該被輸出、什么日志信息應(yīng)該被忽略。

1.2.分類:

DEBUG < INFO< WARN < ERROR < FATAL

一般情況下,子類中的級別設(shè)置會覆蓋根root中的logger,且一般子類默認的級別為INFO,所以個人覺得根root中設(shè)置攔截級別似乎沒什么作用。

1.3.例子:

配置根Logger

log4j.rootLogger= [ level ] , appenderName1, appenderName2

注意:根logger 具有繼承性,他下屬的appednerName均繼承自他,比如繼承了日志攔截級別等,當(dāng)然,下屬也可覆蓋掉來著父類的日志攔截級別(Threshold)。如果不想繼承,那么設(shè)置如下:log4j.additivity.org.apache=false

2.Appenders 組件

2.1.作用:

設(shè)置日志輸出的位置以及其他相關(guān)的信息

2.2.語法:

(appenderName 為日志名,需要在rootlogger中聲明或者使用自定義聲明,自定義聲明具體看指定日志信息輸出到指定地方那部分;className輸出的類,具體看下面;potion1=value1是其他相關(guān)的配置,比如配置輸出位置,輸出的級別的信息)

log4j.appender.appenderName = className log4j.appender.appenderName.Option1 = value1 … log4j.appender.appenderName.OptionN = valueN

2.3.className 的相關(guān)類

org.apache.log4j.ConsoleAppender(控制臺)

org.apache.log4j.FileAppender(文件)

org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個日志文件)

org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產(chǎn)生一個新的文件)

org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)

2.4.例子

3.Layout組件

3.1作用:

決定了輸出日志的格式

3.2.類型

. org.apache.log4 j.HTMLLayout(以HTML表格形式布局);

. org.apache.log4 j.PatternLayout(可以靈活地指定布局模式);

. org.apache.log4 j.SimpleLayout(包含日志信息的級別和信息字符串);

. org.apache.log4 j.TTCCLayout(包含日志產(chǎn)生的時間、線程和類別等信息);

3.3.輸出格式的定義ConversionPattern

符號 描述

%r 自程序開始后消耗的毫秒數(shù)

%t 表示日志記錄請求生成的線程

%p 表示日專語句的優(yōu)先級

%r 與日志請求相關(guān)的類別名稱

%c 日志信息所在的類名

%m%n 表示日志信息的內(nèi)容

3.4.例子

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=[VAMS][%d] %p | %m | [%t] %C.%M(%L)%n

三、總結(jié)例子(包含指定日志信息輸出到指定地方)

1.配置文件

配置文件默認存放在src目錄下,名字為log4j.properties

log4j.rootLogger=DEBUG,MINA,file,logFile //注意包含了很多## mina 設(shè)置日志發(fā)送到控制臺log4j.appender.MINA=org.apache.log4j.ConsoleAppender log4j.appender.MINA.layout=org.apache.log4j.PatternLayout log4j.appender.MINA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1} %x - %m%n## File 設(shè)置日志輸出到指定大小的文件 log4j.appender.file=org.apache.log4j.RollingFileAppenderlog4j.appender.file.Threshold=DEBUG //不繼承父類的log4j.appender.file.File=./log/mina.log //路徑log4j.appender.file.MaxFileSize=5120KB //大小log4j.appender.file.MaxBackupIndex=10log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=[VAMS][%d] %p | %m | [%t] %C.%M(%L)%n## logFile 設(shè)置日志輸出到指定路勁log4j.appender.logFile=org.apache.log4j.FileAppender log4j.appender.logFile.Threshold=DEBUG log4j.appender.logFile.ImmediateFlush=true (表示所有消息都會被立即輸出)log4j.appender.logFile.Append=true (rue表示消息增加到指定文件中,默認就是true)log4j.appender.logFile.File=./log/log.log4j log4j.appender.logFile.layout=org.apache.log4j.PatternLayout log4j.appender.logFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

2.簡單調(diào)用

public class TestLog4j { public static void main(String[] args) { PropertyConfigurator.configure( ' D:/Code/conf/log4j.properties ' ); //讀取配置文件路徑 Logger logger = Logger.getLogger(TestLog4j. class ); //加載本類 logger.debug( ' debug ' ); //設(shè)置此處debug級別輸出的內(nèi)容 logger.error( ' error ' ); //設(shè)置此處error級別輸出的內(nèi)容}}

★★3.將關(guān)于特定類的日志輸出到特定的日志文件中

需求:我們想將類 A 中的日志輸出,輸出到一個單獨的特定文件中

配置:

log4j.logger.signature=debug,signature //自定義輸出log4j.additivity.signature= false //不繼承父類log4j.appender.signature = org.apache.log4j.FileAppender //輸出到指定地方log4j.appender.signature.Append=true //輸出不覆蓋log4j.appender.signature.File=./log/signature.log //輸出到指定地址log4j.appender.signature.layout=org.apache.log4j.PatternLayoutlog4j.appender.signature.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

使用

public void test1(){ Logger logger = Logger.getLogger('signature'); logger.info('testinfo'); }

重點: 發(fā)揮主要作用的是 log4.additivity。 用于決定子logger是否繼承父logger的appender。如果設(shè)置為false,那么子logger的輸出只會輸出到自己指定的文件/控制臺下。而不會輸出到父logger指定的文件/控制臺下。

以上這篇java啟動jar包將日志打印到文本的簡單操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 68久久久久欧美精品观看 | 欧美一级久久久久久久久大 | 精品国产一区二区三区免费看 | 美女全黄视频 | 一级毛片不卡免费看老司机 | 国产午夜精品不卡观看 | 91无套极品外围在线播放 | 成人爽a毛片在线视频 | 国产第一草草影院 | 好吊色37pao在线观看 | 欧美一区二区三区精品影视 | 91久久亚洲最新一本 | 国产精品黄在线观看免费软件 | 亚洲最新 | 久久成人免费观看全部免费 | 国产网站免费视频 | 国产亚洲精品精品国产亚洲综合 | a级日韩乱理伦片在线观看 a级特黄毛片免费观看 | 毛片免费在线观看网址 | 欧美一级片观看 | 欧美xx69| 日本www免费视频网站在线观看 | 日本三级香港三级三级人 | 亚洲欧美高清在线 | 国产一区二区三区手机在线观看 | 亚洲加勒比久久88色综合一区 | 91精品最新国内在线播放 | 久久久久亚洲精品中文字幕 | 欧美日本亚洲国产一区二区 | 毛片在线不卡 | 日韩成人在线观看视频 | 成人一级免费视频 | 精品一区二区三区三区 | 国产成人免费片在线观看 | 一级毛片真人不卡免费播 | 成人国产精品免费软件 | 高清欧美一级在线观看 | 成人99国产精品 | 色婷婷久久综合中文久久蜜桃 | 国产免费爽爽视频免费可以看 | 九九精品免费 |