log4j.properties自定義日志配置-創(chuàng)新互聯(lián)

一、通用的寫(xiě)法

log4j.properties

成都創(chuàng)新互聯(lián)公司主打移動(dòng)網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、主機(jī)域名、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。
# 設(shè)置root logger等級(jí)為ALL,且appender有A1和FILE
log4j.rootLogger=ALL, A1,A3

#設(shè)置com.example.test logger
log4j.logger.com.example.test=DEBUG,A1,A3
# 取消繼承父類(lèi)
log4j.additivity.com.example.test=false

# 設(shè)置個(gè)控制臺(tái)輸出源,該appender名叫:A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n


#設(shè)置個(gè)文件輸出源,該appender名叫:FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.file=D:/logs/log4j.log
log4j.appender.FILE.append=true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n


#設(shè)置個(gè)文件輸出源(滾動(dòng)文件輸出源,按照文件大小重新生成臨時(shí)文件),該appender名叫:A2
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.file=D:/logs/log4j.log
log4j.appender.A2.append=true
#maxFileSize  文件大大小,超過(guò)會(huì)將舊的數(shù)據(jù)放在臨時(shí)文件,新的日志繼續(xù)打印在file指定的文件名中
log4j.appender.A2.maxFileSize=1
#maxBackupIndex  文件大備份數(shù),默認(rèn)為1
log4j.appender.A2.maxBackupIndex=10
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n



#設(shè)置個(gè)文件輸出源(滾動(dòng)文件輸出源,按照日期重新生成臨時(shí)文件),默認(rèn)按照天分割日志,該appender名叫:A3
log4j.appender.A3=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A3.file=D:/logs/log4j.log
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

測(cè)試代碼
package com.example.test;

import java.io.PrintWriter;

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Layout;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.spi.LoggingEvent;
import org.junit.Test;

public class TestLog4j {

    private static final Logger logger = Logger.getLogger(TestLog4j.class);
    
    @Test
    public void testLog4j() {
        // 日志級(jí)別 
        logger.fatal("fatal"); // 嚴(yán)重錯(cuò)誤,一般會(huì)造成系統(tǒng)崩潰 和終止運(yùn)行 
        logger.error("error"); // 錯(cuò)誤信息,但不會(huì)影響系統(tǒng)運(yùn)行 
        logger.warn("warn"); // 警告信息,可能會(huì)發(fā)生問(wèn)題 
        logger.info("info"); // 程序運(yùn)行信息,數(shù)據(jù)庫(kù)的連接、網(wǎng) 絡(luò)、IO操作等 
        logger.debug("debug"); // 調(diào)試信息,一般在開(kāi)發(fā)階段使 用,記錄程序的變量、參數(shù)等 
        logger.trace("trace"); // 追蹤信息,記錄程序的所有流程 信息
    }
}

測(cè)試結(jié)果

二、Log4j如何屏蔽某個(gè)類(lèi)的日志打印 Log4j屏蔽某個(gè)類(lèi)的日志打印

項(xiàng)目中使用的是log4j.properties的方式配置,在項(xiàng)目啟動(dòng)后有一個(gè)任務(wù)每隔半小時(shí)會(huì)運(yùn)行,查不到數(shù)據(jù)的時(shí)候會(huì)打印warn級(jí)別的日志,由于數(shù)量太多想屏蔽該類(lèi)日志的打印。

網(wǎng)上查找了方法,可以通過(guò)設(shè)置log4j.logger.xxx=ERROR(xxx代表需要屏蔽的類(lèi),ERROR代表該類(lèi)只打印error及以上級(jí)別的日志,如log4j.logger.java.sql.Connection=ERROR)來(lái)屏蔽。

于是在項(xiàng)目中設(shè)置log4j.logger.org.search.DataSearch=ERROR后重啟項(xiàng)目卻發(fā)現(xiàn)不起作用,后來(lái)經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)xxx設(shè)置成包名log4j.logger.org.search=ERROR就成功了。

注:

  • log4j默認(rèn)日志級(jí)別all

Log4j屏蔽指定日志

log4j.logger.org.springframework=OFF

log4j.logger.org.apache.struts2=OFF

log4j.logger.com.opensymphony.xwork2=OFF

log4j.logger.com.ibatis=OFF

log4j.logger.org.hibernate=OFF

注:

  • log4j.logger.xxx=error

  • xxx:表示要屏蔽的類(lèi)

三、Logger.getLogger(字符串)用法

log4j中的Logger.getLogger()可以不用加載一個(gè)類(lèi),也可以傳字符串的,這是一種通用做法,比如

Logger logger = Logger.getLogger("com.MyLog");

logger.info("...");

那么Logger首先會(huì)去找log4j.properties中的log4j.category.com.MyLog對(duì)應(yīng)的Appender來(lái)寫(xiě)日志,當(dāng)然如果你配置了rootAppender的話不用配其他的Appender也沒(méi)關(guān)系。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

文章標(biāo)題:log4j.properties自定義日志配置-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://muchs.cn/article48/djehhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站策劃、網(wǎng)站制作、網(wǎng)站導(dǎo)航云服務(wù)器、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作