国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

spring進(jìn)步 -- log4j的學(xué)習(xí)

edgardeng / 3261人閱讀

摘要:建議只使用四個級別,優(yōu)先級從高到低分別是。比如在這里定義了級別,只有等于及高于這個級別的才進(jìn)行處理,則應(yīng)用程序中所有級別的日志信息將不被打印出來。可同時指定多個輸出目的地。

一直感覺到log4j是使用比較混亂,今天抽空整理一下,以后方便使用

一、引用apache.log4j
使用maven進(jìn)行l(wèi)o4j的引用



    log4j
    log4j
    1.2.17

其他版本也可以再資源庫搜索添加
http://mvnrepository.com/arti...

二、再spring的bean中或者java類中加入log4j

/**
* lo4j引用demo
*/
@Controller
@RequestMapping("demoWeb")
public class DemoWebController {
    //使用方法1 -- 用this直接代表本類
    private final Logger logger = Logger.getLogger(this.getClass());
    //使用方法2 -- 使用用本類引用
    private final Logger logger = Logger.getLogger(DemoWebController.getClass());
}

三、配置log4j配置文件(引用的lo4j百度百科)
1、在配置resources或自定義路徑下配置log4j.properties(命名自定義,只要spring能檢索到就可以)
2、說明:
① 配置根Logger

Logger 負(fù)責(zé)處理日志記錄的大部分操作。
其語法為:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志記錄的優(yōu)先級,分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定義的級別。
Log4j建議只使用四個級別,優(yōu)先級從高到低分別是ERROR、WARN、INFO、DEBUG。
通過在這里定義的級別,您可以控制到應(yīng)用程序中相應(yīng)級別的日志信息的開關(guān)。比如在這里定義了INFO級別,只有等于及高于這個級別的才進(jìn)行處理,則應(yīng)用程序中所有DEBUG級別的日志信息將不被打印出來。
ALL:打印所有的日志,OFF:關(guān)閉所有的日志輸出。 
appenderName就是指定日志信息輸出到哪個地方。可同時指定多個輸出目的地。
示例:
log4j.rootLogger=info, stdout

② 配置日志信息輸 Appender

##這里填寫你輸出的方式
og4j.appender.appenderName = {appender}

Log4j提供的appender有以下幾種:

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

org.apache.log4j.FileAppender(文件)

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

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

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

org.apache.log4j.jdbc.JDBCAppender(向數(shù)據(jù)庫發(fā)送日志)

org.apache.log4j.net.SMTPAppender(郵件發(fā)送日志)

示例:

##這里表示控制臺的信息記錄
og4j.appender.appenderName = org.apache.log4j.ConsoleAppender

## 下面是appender的基本options

##系統(tǒng)輸出方式
log4j.appender.appenderName.Target = System.out
##生成文件路勁
log4j.appender.appenderName.File = E:filelogqc.log
##追加方式 true為在信息后面追加  false為覆蓋信息后輸出
log4j.appender.appenderName.Append = true
##指定輸出等級
log4j.appender.appenderName.Threshold = INFO 
##布局輸出
log4j.appender.appenderName.layout = org.apache.log4j.PatternLayout

③置日志信息的格式(布局)

##這里填寫你輸出的方式
og4j.appender.appenderName.layout  = {style}

Log4j提供的style有以下幾種:

org.apache.log4j.HTMLLayout(以HTML表格形式布局),

org.apache.log4j.PatternLayout(可以靈活地指定布局模式),

org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串),

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

如果使用pattern布局就要指定的打印信息的具體格式ConversionPattern,打印參數(shù)如下:

%m 輸出代碼中指定的消息;

%M 輸出打印該條日志的方法名;

%p 輸出優(yōu)先級,即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL;

%r 輸出自應(yīng)用啟動到輸出該log信息耗費的毫秒數(shù);

%c 輸出所屬的類目,通常就是所在類的全名;

%t 輸出產(chǎn)生該日志事件的線程名;

%n 輸出一個回車換行符,Windows平臺為"rn”,Unix平臺為"n”;

%d 輸出日志時間點的日期或時間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},輸出類似:2002-10-18 22:10:28,921;

%l 輸出日志事件的發(fā)生位置,及在代碼中的行數(shù);

[QC]是log信息的開頭,可以為任意字符,一般為項目簡稱。
示例

##這里進(jìn)行輸出格式配置
log4j.appender.appenderName.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n

輸出的信息
[demo] DEBUG [main] DemoBeanFactory.getDemo(189) | this is output log

以上就完成了基本的log4j的配置和使用

下面進(jìn)行一般示例配置:

### 設(shè)置日志等級  ###
log4j.rootLogger=DEBUG,CONSOLE,DATABASE,DAIY_LOG,DAIY_INFO_LOG,DAIY_ERROR_LOG

### CONSOLE 控制臺輸出 ###
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[spring-demo][%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

### 將錯誤日志存到DATABASE中 ###
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
##數(shù)據(jù)庫地址
log4j.appender.DATABASE.URL=jdbc:mysql://127.0.0.1:3306/demo
##數(shù)據(jù)庫橋
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
##mysql用戶名
log4j.appender.DATABASE.user=root
##mysql密碼
log4j.appender.DATABASE.password=root
##講console中的警告日志書寫的到數(shù)據(jù)庫中
log4j.appender.CONSOLE.Threshold=WARN
# INSERT INTO LOG4J (Message) VALUES ("[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n")
log4j.appender.DATABASE.sql=INSERT INTO LOG4J(stamp,thread, infolevel,class,messages) VALUES ("%d{yyyy-MM-dd HH:mm:ss}", "%t", "%p", "%l", "%m")
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[spring-demo][%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

### DAIYLOG 每日信息 ###
log4j.appender.DAIY_LOG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DAIY_LOG.File=E:filelogdemo_all_log.log
log4j.appender.DAIY_LOG.Append=true
log4j.appender.DAIY_LOG.Threshold=ALL 
log4j.appender.DAIY_LOG.layout=org.apache.log4j.PatternLayout
log4j.appender.DAIY_LOG.layout.ConversionPattern=[spring-demo][%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

### DAIYLOG 每日INFO信息 ###
log4j.appender.DAIY_INFO_LOG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DAIY_INFO_LOG.File=E:filelogdemo_info_log.log
log4j.appender.DAIY_INFO_LOG.Append=true
log4j.appender.DAIY_INFO_LOG.Threshold=INFO 
log4j.appender.DAIY_INFO_LOG.layout=org.apache.log4j.PatternLayout
log4j.appender.DAIY_INFO_LOG.layout.ConversionPattern=[spring-demo][%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

### DAIYLOG 每日ERROR信息 ###
log4j.appender.DAIY_ERROR_LOG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DAIY_ERROR_LOG.File=E:filelogdemo_error_log.log
log4j.appender.DAIY_ERROR_LOG.Append=true
log4j.appender.DAIY_ERROR_LOG.Threshold=ERROR 
log4j.appender.DAIY_ERROR_LOG.layout=org.apache.log4j.PatternLayout
log4j.appender.DAIY_ERROR_LOG.layout.ConversionPattern=[spring-demo][%p] [%-d{yyyy-MM-dd HH:mm:ss}] %C.%M(%L) | %m%n

自定義等后續(xù)進(jìn)行補(bǔ)充和完善

概念引用:https://baike.baidu.com/item/...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/70390.html

相關(guān)文章

  • 從分析我抓取60w知乎網(wǎng)民來學(xué)習(xí)如何在SSM項目中使用Echarts

    摘要:一前言知乎網(wǎng)名的數(shù)據(jù)從何而來去年在接觸爬蟲的時候,接觸到了一個關(guān)于知乎的爬蟲。最后,本文提供的知乎網(wǎng)名數(shù)據(jù)是年月份左右抓取的數(shù)據(jù)。 一 前言 1.1 60w知乎網(wǎng)名的數(shù)據(jù)從何而來? 去年在接觸Java爬蟲的時候,接觸到了一個關(guān)于知乎的爬蟲。個人覺得寫的非常好,當(dāng)時抓取的效率和成功率還是特別特別高,現(xiàn)在可能知乎反扒做的更好,這個開源知乎爬蟲沒之前抓取的那么順利了。我記得當(dāng)時在我的i7+...

    TwIStOy 評論0 收藏0
  • 【Java】基于Maven搭建Spring+SpringMVC+Mybatis框架

    摘要:關(guān)于的配置,可以參考這篇文章的第一個小節(jié)配置模板引擎搭什么搭直接用腳手架不行嗎下載就能用下載就能用下載就能用碼云咳咳,開個玩笑,如果本著學(xué)習(xí)態(tài)度的話,那就慢慢啃吧搭建空的項目使用搭建基本的空項目填寫和,,選擇項目的地址,在新的窗口打開最 關(guān)于springMVC的配置,可以參考這篇文章的第一個小節(jié):【java】intellij idea SpringMVC 配置FreeMarker模板引...

    edagarli 評論0 收藏0
  • 關(guān)于分布式框架DUBBO學(xué)習(xí):服務(wù)注冊與消費(二)

    摘要:由于是一個高性能的框架,用于進(jìn)行遠(yuǎn)程服務(wù)的注冊消費。以一個簡單案例,來闡述框架具體應(yīng)該如何使用。進(jìn)行框架的安裝與部署,請參閱項目的依賴配置因為使用的是項目管理工具,所以要構(gòu)建的依賴配置。 由于DUBBO是一個高性能的RPC框架,用于進(jìn)行遠(yuǎn)程服務(wù)的注冊消費。以一個簡單案例,來闡述DUBBO框架具體應(yīng)該如何使用。1、進(jìn)行DUBBO框架的安裝與部署,請參閱:https://segmentfa...

    myshell 評論0 收藏0
  • 從零開始搭建SSM框架(Spring + Spring MVC + Mybatis)

    摘要:打開,,選中,然后再選中,輸入項目的和,指定等配置,修改,打開項目,添加一些必要的目錄,最終項目框架目錄圖如下修改文件,指定各依賴和插件的版本等信息在標(biāo)簽里面管理各依賴的版本號添加項目依賴管理依賴配置好之后,開始整合。 最近在回顧和總結(jié)一些技術(shù),想到了把之前比較火的 SSM 框架重新搭建出來,作為一個小結(jié),同時也希望本文章寫出來能對大家有一些幫助和啟發(fā),因本人水平有限,難免可能會有一些...

    MiracleWong 評論0 收藏0
  • MyBatis集成Spring

    摘要:各方面有各種常見的良好示例,包括日志記錄,聲明式事務(wù),安全性,緩存等。聲明式事務(wù)管理這意味著你從業(yè)務(wù)代碼中分離事務(wù)管理。但作為一種橫切關(guān)注點,聲明式事務(wù)管理可以使用方法進(jìn)行模塊化。支持使用框架的聲明式事務(wù)管理。 本章主要內(nèi)容包括Spring簡介、Spring的兩大特性(IOC和AOP)、事務(wù)MyBatis集成Spring等。也許有讀者會疑惑,明明是MyBatis-Plus實戰(zhàn),怎么還講...

    ckllj 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<