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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

log4j2常见配置

發布時間:2024/10/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 log4j2常见配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
依賴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,默認情況下,系統選擇configuration文件的優先級如下:
  • log4j-test.json或者log4j-test.jsn
  • log4j2-test.xml
  • log4j.json或者log4j.jsn
  • log4j2.xml?
  • 日志級別 從低到高分為TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果設置為WARN,則低于WARN的信息都不會輸出。 Appender?為日志輸出目的地,常用的三種
    • Console:將輸出到控制臺
    • File:將結果輸出到一個指定文件中。
    • RollingFile:和File一樣,RollingFile則較為靈活,可以按照文件大小拆分文件
    PatternLayout 控制輸出內容的節點,包括類名、時間、行號、日志級別、序號等都可以控制,同時還可以指定日志格式,可以使用正則表達式處理輸出結果。用\\輸出\,用%%輸出% %c,%c{參數},%C{參數},%class{參數}:輸出類名稱
    %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{參數}:輸出時間。參數可以是text.SimpleDateFormat字符拼接而成,也可以使用系統默認
    %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:輸出行號,%l 輸出完整的包路徑及行號,%L 僅輸出行號。此參數影響日志輸出性能 %m或%msg或%message:輸出日志信息 %M或%method:輸出方法名 %level{參數1}:不寫參數時,輸出日志級別。第一個參數用來替換日志信息的級別,格式為:{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> <!--這個輸出控制臺的配置 --> <Console name="Console" target="SYSTEM_OUT"> <!--控制臺只輸出level及以上級別的信息(onMatch),其他的直接拒絕(onMismatch) --> <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/> <!--這個都知道是輸出日志的格式 --> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %c %L %M - %msg%xEx%n"/> </Console> <!--文件會打印出所有信息,這個log每次運行程序會自動清空,由append屬性決定,這個也挺有用的,適合臨時測試用 --> <!--append為TRUE表示消息增加到指定文件中,false表示消息覆蓋指定的文件內容,默認值是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,可以有選擇的輸出某個級別以上的類別 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> <!--這個會打印出所有的信息,每次大小超過size,則這size大小的日志會自動存入按年-月-日建立的文件夾下面并進行壓縮,作為存檔 --> <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"/> <!-- 設置日志文件大小超過多少后開始進行壓縮 單位:KB/MB/GB --><SizeBasedTriggeringPolicy size="10MB"/> <!-- DefaultRolloverStrategy屬性如不設置,則默認為最多同一文件夾下7個文件,超過后則會覆蓋之前的,這里設置了20 --><DefaultRolloverStrategy max="20"/></RollingFile> <!--每分鐘產生一個文件,歷史的日志會自動存入按年-月-日建立的文件夾下面并進行壓縮,作為存檔 --> <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才會生效 --> <loggers> <!--建立一個默認的root的logger,只有能一個root --> <root level="debug"> <appender-ref ref="RollingFile"/> <appender-ref ref="Console"/> <appender-ref ref="ERROR" /> <appender-ref ref="log"/> </root> <!-- 設置指定包輸出指定的日志級別 --><logger name="com.gavin" level="warn"/></loggers> </configuration>

    ?

    轉載于:https://www.cnblogs.com/gavinYang/p/8168928.html

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

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

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