日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Log4J配置 category, appender,layout

發布時間:2024/4/17 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Log4J配置 category, appender,layout 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,?http://jmut.bokee.com/2400987.html

log4j.rootCategory

  • 是對根類的設置,如不說明,以下的子類都要繼承這些設置

log4j.category.*

  • 是對自定義類的設置,可以對類、包和工程單獨設置

Category的家族關系是通過“.”來說明的,比如x是x.y的父類。
默認情況下,子類要繼承父類的全部設置,比如:

  • log4j.rootCategory=INFO, dest1
  • log4j.category.MyCategory=DEBUG
  • dest1會輸出INFO以上的消息
  • 對于Category logger = Category.getInstance("MyCategory")會輸出DEBUG以上的消息,因為MyCategory繼承了根類的設置,輸出到dest1
  • 如果使用下面的設置,每條消息會在dest1中輸出兩次:

    • log4j.rootCategory = INFO, dest1
    • log4j.category.MyCategory = DEBUG, dest1

    記住,MyCategory繼承了根類的設置。
    可以指定子類不繼承父類的設置,方法是指定log4j.additivity.*=false,如上例中:

    • log4j.rootCategory = INFO, dest1
    • log4j.additivity.MyCategory = false
    • log4j.category.MyCategory = DEBUG, dest1

    2,http://wangjc-opal.iteye.com/blog/309924

    log4j的強大功能無可置疑,但實際應用中免不了遇到某個功能需要輸出獨立的日志文件的情況,怎樣才能把所需的內容從原有日志中分離,形成單獨的日志文件呢?其實只要在現有的log4j基礎上稍加配置即可輕松實現這一功能。

      先看一個常見的log4j.properties文件,它是在控制臺和myweb.log文件中記錄日志:

    log4j.rootLogger=DEBUG, stdout, logfile

    ?

    log4j.category.org.springframework=ERROR

    log4j.category.org.apache=INFO

    ?

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender

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

    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

    ?

    log4j.appender.logfile=org.apache.log4j.RollingFileAppender

    log4j.appender.logfile.File=${myweb.root}/WEB-INF/log/myweb.log

    log4j.appender.logfile.MaxFileSize=512KB

    log4j.appender.logfile.MaxBackupIndex=5

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

    log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

      

    如果想對不同的類輸出不同的文件(以cn.com.Test為例),先要在Test.java中定義:

    private static Log logger = LogFactory.getLog(Test.class);

      然后在log4j.properties中加入:

    log4j.logger.cn.com.Test= DEBUG, test

    log4j.appender.test=org.apache.log4j.FileAppender

    log4j.appender.test.File=${myweb.root}/WEB-INF/log/test.log

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

    log4j.appender.test.layout.ConversionPattern=%d %p [%c] - %m%n

      也就是讓cn.com.Test中的logger使用log4j.appender.test所做的配置。

    ?

      但是,如果在同一類中需要輸出多個日志文件呢?其實道理是一樣的,先在Test.java中定義:

    private static Log logger1 = LogFactory.getLog("myTest1");

    private static Log logger2 = LogFactory.getLog("myTest2");

      然后在log4j.properties中加入:

    log4j.logger.myTest1= DEBUG, test1

    log4j.appender.test1=org.apache.log4j.FileAppender

    log4j.appender.test1.File=${myweb.root}/WEB-INF/log/test1.log

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

    log4j.appender.test1.layout.ConversionPattern=%d %p [%c] - %m%n

      

    log4j.logger.myTest2= DEBUG, test2

    log4j.appender.test2=org.apache.log4j.FileAppender

    log4j.appender.test2.File=${myweb.root}/WEB-INF/log/test2.log

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

    log4j.appender.test2.layout.ConversionPattern=%d %p [%c] - %m%n

      也就是在用logger時給它一個自定義的名字(如這里的"myTest1"),然后在log4j.properties中做出相應配置即可。別忘了不同日志要使用不同的logger(如輸出到test1.log的要用logger1.info("abc"))。

    ?

      還有一個問題,就是這些自定義的日志默認是同時輸出到log4j.rootLogger所配置的日志中的,如何能只讓它們輸出到自己指定的日志中呢?別急,這里有個開關:

    log4j.additivity.myTest1 = false

      它用來設置是否同時輸出到log4j.rootLogger所配置的日志中,設為false就不會輸出到其它地方啦!注意這里的"myTest1"是你在程序中給logger起的那個自定義的名字!

    如果你說,我只是不想同時輸出這個日志到log4j.rootLogger所配置的logfile中,stdout里我還想同時輸出呢!那也好辦,把你的log4j.logger.myTest1 = DEBUG, test1改為下式就OK啦!

    log4j.logger.myTest1=DEBUG, test1

    =======================

    example:

    #ident "%W"
    #it will log every thing
    log4j.rootCategory=INFO

    log4j.logger.actions=INFO, R
    log4j.logger.dto=INFO, R
    log4j.logger.util=INFO, R
    log4j.logger.delegators=INFO, R
    log4j.logger.ejbcore=INFO, R
    log4j.logger.javacore=INFO, R
    log4j.logger.xxx=INFO, R
    log4j.logger.loanclient=INFO, R
    log4j.logger.loan.position=INFO, R
    log4j.logger.org.springframework=INFO, R

    #log4j.debug=true
    #log4j.disable=INFO
    #log4j.disable=DEBUG
    #log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    #log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

    # Pattern to output the caller's file name and line number.
    #log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=@LOAN_ROOT@/log/xxx.log

    log4j.appender.R.MaxFileSize=50000KB
    # Keep one backup file
    log4j.appender.R.MaxBackupIndex=3

    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    #log4j.appender.R.layout=org.apache.log4j.TTCCLayout
    log4j.appender.R.layout.ConversionPattern=%d{MM/dd/yyyy HH:mm:ss, SSS} [%t] [%5p] %c{1}:[%L] - %m%n

    # =============== POST TRADE PROPERTIES =====================
    log4j.logger.loan.tesgateway=INFO, POSTTRADE
    log4j.logger.loan.posttrade=INFO, POSTTRADE
    log4j.logger.loan.clearpar=INFO, POSTTRADE
    log4j.logger.loan.liveupdate=INFO, POSTTRADE
    log4j.logger.org.springframework=INFO, POSTTRADE

    log4j.appender.POSTTRADE=org.apache.log4j.RollingFileAppender
    log4j.appender.POSTTRADE.File=@LOAN_ROOT@/log/post_trade.log

    log4j.appender.POSTTRADE.MaxFileSize=50000KB
    # Keep one backup file
    log4j.appender.POSTTRADE.MaxBackupIndex=3

    log4j.appender.POSTTRADE.layout=org.apache.log4j.PatternLayout
    #log4j.appender.POSTTRADE.layout=org.apache.log4j.TTCCLayout
    log4j.appender.POSTTRADE.layout.ConversionPattern=%d{MM/dd/yyyy HH:mm:ss, SSS} [%t] [%5p] %c{1}:[%L] - %m%n

    # =============== VAILDATION SERVICE PROPERTIES =====================
    log4j.appender.VAILDATION=org.apache.log4j.RollingFileAppender
    log4j.appender.VAILDATION.File=@LOAN_ROOT@/log/valcalc_service.log

    log4j.appender.VAILDATION.MaxFileSize=50000KB
    # Keep one backup file
    log4j.appender.VAILDATION.MaxBackupIndex=1

    log4j.appender.VAILDATION.layout=org.apache.log4j.PatternLayout
    #log4j.appender.VAILDATION.layout=org.apache.log4j.TTCCLayout
    log4j.appender.VAILDATION.layout.ConversionPattern=%d{MM/dd/yyyy HH:mm:ss, SSS} [%t] [%5p] %c{1}:[%L] - %m%n

    log4j.logger.loan.calculator=INFO, VAILDATION
    log4j.logger.loan.common=INFO, VAILDATION
    log4j.logger.loan.framework=INFO, VAILDATION
    log4j.logger.loan.validator=INFO, VAILDATION
    log4j.logger.loan.propertiescache=INFO, VAILDATION
    log4j.logger.loan.account=INFO, VAILDATION

    private Category cat = Category.getInstance(loan.posttrade.common.publisher.GFITradePublisher.class.getName());

    ?this will be logged in post_trade.log

    總結

    以上是生活随笔為你收集整理的Log4J配置 category, appender,layout的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美巨乳在线观看 | 在线观看免费观看在线 | 毛片一卡二卡 | 巨胸挤奶视频www网站 | 欧美国产91| 亚洲黄片一区二区三区 | 欧美黄色一级 | 成人免费视频毛片 | 国产网红女主播精品视频 | 亚洲AV无码成人精品区先锋 | 日韩一卡二卡在线 | 热99| √8天堂资源地址中文在线 欧美精品在线一区二区 | 国产aⅴ| 91美女片黄在线观看 | 久久久久久久久免费视频 | 美女黄免费 | 超碰人人国产 | 色哟哟一区二区三区 | 欧美精品一区二区三区四区 | 中文字幕在线观看三区 | 日韩精品123 | 日本www黄| 青青免费在线视频 | 大桥未久恸哭の女教师 | 亚洲免费看片 | 影音先锋亚洲成aⅴ人在 | 亚洲欧洲日韩综合 | 日本午夜一级 | 国产超碰91 | 国产91看片 | 特级大胆西西4444人体 | 国产精品久久久久久网站 | 欧美日韩色图片 | 国语对白永久免费 | 91精选视频| 国产精品免费av一区二区三区 | www.看毛片| 四虎永久在线精品免费一区二区 | 美女张开腿让男人操 | 三叶草欧洲码在线 | av免费播放| 国产情侣自拍小视频 | 国产精品欧美一区二区三区 | 激情五月激情综合网 | 国内精品在线观看视频 | 禁断介护老人中文字幕 | 成人免费无遮挡无码黄漫视频 | 国产网站在线看 | 精品在线视频免费 | 欧美69久成人做爰视频 | 爱如潮水3免费观看日本高清 | 欧美天堂一区 | 欧美理论视频 | 国产av日韩一区二区三区精品 | 天堂二区 | 91精品国产麻豆 | 国产精品久久久久久三级 | 超碰99在线 | 中文字幕123 | 久久r精品| 老头老太吃奶xb视频 | 亚洲老老头同性老头交j | 日本中文字幕在线播放 | 天天婷婷| 伊人成年综合网 | 女同中文字幕 | 国产专区在线 | 91网站永久免费看nba视频 | 国产999 | 天天舔天天摸 | 久久精品91 | 91精品人妻互换一区二区 | 亚洲午夜激情视频 | 亚洲免费观看高清 | 日韩精品一区二区在线观看 | 欧美精品色视频 | 成人综合区 | 午夜精品一区二区三 | 精品免费看 | zzjj国产精品一区二区 | 五月激情丁香 | 国产交换配乱淫视频免费 | 超碰天天操| 日本亚洲天堂 | 影音先锋黄色网址 | 国产精品系列在线观看 | 神马午夜电影一区二区三区在线观看 | 久久爱资源网 | 精品中文一区二区三区 | 日本伦理一区二区三区 | 狠狠干夜夜操 | 欧美日韩电影一区 | 亚洲情趣 | 三级自拍| 亚洲精品福利网站 | 精品免费在线视频 | 黄色美女一级片 | 亚洲a精品 |