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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

log4j2常见配置

發(fā)布時(shí)間:2024/10/12 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 log4j2常见配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
依賴jar: <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.9.1</version> </dependency> <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.9.1</version> </dependency> 在log4j2中配置文件可以為.xml,.json或者.jsn,默認(rèn)情況下,系統(tǒng)選擇configuration文件的優(yōu)先級(jí)如下:
  • log4j-test.json或者log4j-test.jsn
  • log4j2-test.xml
  • log4j.json或者log4j.jsn
  • log4j2.xml?
  • 日志級(jí)別 從低到高分為TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果設(shè)置為WARN,則低于WARN的信息都不會(huì)輸出。 Appender?為日志輸出目的地,常用的三種
    • Console:將輸出到控制臺(tái)
    • File:將結(jié)果輸出到一個(gè)指定文件中。
    • RollingFile:和File一樣,RollingFile則較為靈活,可以按照文件大小拆分文件
    PatternLayout 控制輸出內(nèi)容的節(jié)點(diǎn),包括類名、時(shí)間、行號(hào)、日志級(jí)別、序號(hào)等都可以控制,同時(shí)還可以指定日志格式,可以使用正則表達(dá)式處理輸出結(jié)果。用\\輸出\,用%%輸出% %c,%c{參數(shù)},%C{參數(shù)},%class{參數(shù)}:輸出類名稱
    %corg.apache.com.te.Fooorg.apache.com.te.Foo
    %c{1}org.apache.com.te.FooFoo
    %c{2}org.apache.com.te.Foote.Foo
    %c{1.}org.apache.com.te.Fooo.a.c.t.Foo
    %c{1.1.!}org.apache.com.te.Fooo.a.!.!.Foo
    %c{.}org.apache.com.te.Foo….Foo
    %d{參數(shù)}:輸出時(shí)間。參數(shù)可以是text.SimpleDateFormat字符拼接而成,也可以使用系統(tǒng)默認(rèn)
    %d{DEFAULT}2012-11-02 14:34:02,781
    %d{ISO8601}2012-11-02T14:34:02,781
    %d{ISO8601_BASIC}20121102T143402,781
    %d{ABSOLUTE}14:34:02,781
    %d{DATE}02 Nov 2012 14:34:02,781
    %d{COMPACT}20121102143402781
    %d{HH:mm:ss,SSS}14:34:02,781
    %d{dd MMM yyyy HH:mm:ss,SSS}02 Nov 2012 14:34:02,781
    %d{HH:mm:ss}{GMT+0}18:34:02
    %d{UNIX}1351866842
    %d{UNIX_MILLIS}1351866842781
    %l 和 %L:輸出行號(hào),%l 輸出完整的包路徑及行號(hào),%L 僅輸出行號(hào)。此參數(shù)影響日志輸出性能 %m或%msg或%message:輸出日志信息 %M或%method:輸出方法名 %level{參數(shù)1}:不寫參數(shù)時(shí),輸出日志級(jí)別。第一個(gè)參數(shù)用來(lái)替換日志信息的級(jí)別,格式為:{level=label, level=label, …},即使用label代替的字符串替換level,例如 %level{WARN=W, DEBUG=D, ERROR=E, TRACE=T, INFO=I},則logger.warn輸出W等等 log4j2.xml 配置文件 <?xml version="1.0" encoding="UTF-8"?> <configuration status="debug"> <!-- 變量配置 --><Properties><Property name="root_path">${sys:catalina.home}</Property></Properties> <!--先定義所有的appender --> <appenders> <!--這個(gè)輸出控制臺(tái)的配置 --> <Console name="Console" target="SYSTEM_OUT"> <!--控制臺(tái)只輸出level及以上級(jí)別的信息(onMatch),其他的直接拒絕(onMismatch) --> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> <!--這個(gè)都知道是輸出日志的格式 --> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %c %L %M - %msg%xEx%n"/> </Console> <!--文件會(huì)打印出所有信息,這個(gè)log每次運(yùn)行程序會(huì)自動(dòng)清空,由append屬性決定,這個(gè)也挺有用的,適合臨時(shí)測(cè)試用 --> <!--append為TRUE表示消息增加到指定文件中,false表示消息覆蓋指定的文件內(nèi)容,默認(rèn)值是true --> <File name="log" fileName="${root_path}/logs/logdemo.log" append="true"> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %c %L %M - %msg%xEx%n"/> </File> <!--添加過濾器ThresholdFilter,可以有選擇的輸出某個(gè)級(jí)別以上的類別 onMatch="ACCEPT" onMismatch="DENY"意思是匹配就接受,否則直接拒絕 --> <File name="ERROR" fileName="${sys:catalina.home}/logs/logdemo_error.log"> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/> </File> <!--這個(gè)會(huì)打印出所有的信息,每次大小超過size,則這size大小的日志會(huì)自動(dòng)存入按年-月-日建立的文件夾下面并進(jìn)行壓縮,作為存檔 --> <RollingFile name="RollingFile" fileName="${sys:catalina.home}/logs/logdemo_web.log" filePattern="${sys:catalina.home}/logs/$${date:yyyy-MM-dd}/logdemo_web-%d{yyyy-MM-dd}-%i.log.gz"> <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/> <!-- 設(shè)置日志文件大小超過多少后開始進(jìn)行壓縮 單位:KB/MB/GB --><SizeBasedTriggeringPolicy size="10MB"/> <!-- DefaultRolloverStrategy屬性如不設(shè)置,則默認(rèn)為最多同一文件夾下7個(gè)文件,超過后則會(huì)覆蓋之前的,這里設(shè)置了20 --><DefaultRolloverStrategy max="20"/></RollingFile> <!--每分鐘產(chǎn)生一個(gè)文件,歷史的日志會(huì)自動(dòng)存入按年-月-日建立的文件夾下面并進(jìn)行壓縮,作為存檔 --> <RollingFile name="DailyRollingFile" fileName="${sys:catalina.home}/logs/logdemo_all.log" filePattern="${sys:catalina.home}/logs/$${date:yyyy-MM-dd}/logdemo_all-%d{yyyy-MM-dd_HH-mm}-%i.log"> <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/> <TimeBasedTriggeringPolicy interval="1" modulate="true" /> </RollingFile> </appenders> <!--然后定義logger,只有定義了logger并引入的appender,appender才會(huì)生效 --> <loggers> <!--建立一個(gè)默認(rèn)的root的logger,只有能一個(gè)root --> <root level="debug"> <appender-ref ref="RollingFile"/> <appender-ref ref="Console"/> <appender-ref ref="ERROR" /> <appender-ref ref="log"/> </root> <!-- 設(shè)置指定包輸出指定的日志級(jí)別 --><logger name="com.gavin" level="warn"/></loggers> </configuration>

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/gavinYang/p/8168928.html

    與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的log4j2常见配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。