log4j2内容详解
生活随笔
收集整理的這篇文章主要介紹了
log4j2内容详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
log4j2
日志用于幫助開發查漏補缺,經常使用,但是適合自己的一套日志結構才能更快的幫助自己進行閱讀以及定位。
解讀
<?xml version="1.0" encoding="UTF-8"?> <!--日志級別以及優先級排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!-- 根節點Configuration:有 Appenders 和 Loggers 兩個子節點。--> <!-- status="OFF" 關閉log4j2自身日志,設置為trace會有各種log4j2的日志信息。 monitorInterval:Log4j能夠自動檢測修改配置 文件和重新配置本身,設置間隔秒數--> <configuration status="OFF" monitorInterval="60"><!-- <property name="name">xxx</property> name是自己定義的內容,在當前內容中使用${name}:xxx的值獲取,相當于設置變量 --><properties><!-- 服務器生產環境日志目錄 --><property name="SERVER_HOME_PATH">/home/java/logs/</property><!-- 日志目錄 --><property name="LOG_HOME">${SERVER_HOME_PATH}</property><!-- 日志備份目錄 --><property name="BACKUP_HOME">{LOG_HOME}/backup</property><!-- 系統/服務名稱 用于生成路徑名稱--><property name="SERVER_NAME">bfs-web</property><!-- 定義輸出格式 --><property name="PATTERN_MY">${LOG_HOME}/%date{yyyy-MM-dd}/${SERVER_NAME}/monitor-%d{yyyyMMdd-HH}.log"><PatternLayout pattern="[%TraceId] %T %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %.36c %-4L - %msg%xEx%n"</property></properties><appenders><!-- 定義控制臺輸出 生產環境可以去掉--><!-- SYSTEM_OUT 或 SYSTEM_ERR,一般只設置默認:SYSTEM_OUT --><Console name="Console" target="SYSTEM_OUT" follow="true"><!--控制臺只輸出level及以上級別的信息(onMatch),其他的直接拒絕(onMismatch)--><ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/><!--設置日志格式及顏色,具體格式解釋在下面引用處--><PatternLayoutpattern="[%T] [%style{%d{HH:mm:ss.SSS}}{bright,green}][%highlight{%-5level}][%style{%.36c %-4L}{bright,yellow}]: %msg%n%style{%throwable}{red}"disableAnsi="false" noConsoleNoAnsi="false"/></Console><!--文件會打印出所有信息,這個log每次運行程序會自動清空,由append屬性決定,適合臨時測試用--><File name="FileLog" fileName="${BACKUP_HOME}/webTest.log" append="false"><PatternLayout pattern="${PATTERN_MY}"/></File><!-- 生產環境文件日志 --><!-- immediateFlush: --><RollingRandomAccessFile name="ProductEnvLog" fileName="${LOG_HOME}/current/${SERVER_NAME}.log" immediateFlush="true" filePattern="${LOG_HOME}/%date{yyyy-MM-dd}/${SERVER_NAME}/monitor-%d{yyyyMMdd-HH}.log"><PatternLayout pattern="[%TraceId] %T %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %.36c %-4L - %msg%xEx%n"/><!-- 指定滾動日志的策略 --><Policies><!-- TimeBasedTriggeringPolicy:Policies 子節點,基于時間的滾動策略。interval 屬性根據日期模式中最具體的時間單位進行翻轉的頻率,默認為1。 --><TimeBasedTriggeringPolicy interval="1" modulate="true"/><!-- SizeBasedTriggeringPolicy:Policies 子節點,基于文件大小的滾動策略。size屬性用來定義每個日志文件的大小。大小可以以字節為單位指定,后綴為KB,MB或GB,例如20MB。 --><SizeBasedTriggeringPolicy size="50MB" /><!-- 以上兩種策略2選1 --></Policies></RollingRandomAccessFile></appenders><loggers><!-- Root:指定項目的根日志,如果沒有單獨指定 Logger,那么默認使用該 Root 日志輸出。--><root level="info"><appender-ref ref="Console"/><appender-ref ref="ProductEnvLog"/></root><!-- Logger:用來單獨指定日志的形式。 --><logger level="debug" name="com.bfs"/><logger level="warn" name="org.apache.zookeeper.ZooKeeper"/><!-- 等等自由配置 --></loggers> </configuration>PatternLayout 格式介紹PatternLayout格式詳解
< Console follow =“true”> 當前屬性沒有查詢到相關信息,有清楚的同學請給個提醒補充下,感謝。
總結
以上是生活随笔為你收集整理的log4j2内容详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IBM Websphere Premis
- 下一篇: RuntimeError: CUDA e