閱讀456 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《Log4j 2官方文檔》 Configuration Syntax

配置語法

正如之前的例子所展示的一樣,Log4j允許你簡單地重新定義記錄日誌的行為而不需要去修改你的應用。可以禁用應用程序的某些部分的日誌記錄,隻在滿足特定標準時記錄日誌,例如為特定用戶執行的操作,路由輸出到Flume或者日誌係統。要想實現這些東西必須先理解這個配置文件的語法。

配置在xml裏麵的元素接受這幾個屬性:
元素名稱和描述

  • advertiser (可選)用於通知單個FileAppender或SocketAppender配置的插件名稱。唯一提供的Adverti ser插件是”multicastdns”。
  • dest 要麼”err”,它將輸出發送到stderr,或文件路徑或URL。
  • monitorInterval 檢查文件配置更改之前必須經過的最短時間(以秒為單位)。
  • name 配置的名稱
  • packages 以逗號分隔的包名稱列表,用於搜索插件。每個類加載器隻加載一次插件,因此更改此值可能對重 新配置沒有任何影響。
  • schema 標識類加載器找到用於驗證配置的XML模式的位置。僅當strict設置為true時有效。如果未設置, 將不會發生模式驗證。
  • shutdownHook 不管確認與否,Log4j將會自動關閉當JVM關閉的時候。這個關閉hook默認是可用的,可以通過設置屬 性為”disable”來禁用。
  • status 內部的log4j事件等級會被輸出到控製台上。有效的屬性值分為”trace”, “debug”, “info”, “warn”, “error” 和 “fatal”。Log4j將會把初始化,回滾和其他內部活動記錄到狀態記錄器裏。設 置status=”trace”是其中一種提供的第一件工具,如果你需要解決這個log4j的問題。
  • strict 啟用嚴格的XML語法使用。在JSON的配置裏不支持。
  • verbose 在加載插件時啟用診斷信息。

Log4j可以使用兩種XML風格進行配置;簡潔和嚴謹。簡潔的格式使配置很容易,因為元素名稱匹配它們表示的組件,但是它不能用XML模式驗證。例如,ConsoleAppender通過在其父appenders元素下聲明名為Console的XML元素來配置。但是,元素和屬性名稱不區分大小寫。此外,屬性可以指定為XML屬性,也可以指定為沒有屬性且具有文本值的XML元素。所以

<PatternLayout pattern=”%m%n”/>

<PatternLayout>
<Pattern>%m%n</Pattern>
</PatternLayout>
是相等的。

下麵的文件表示XML配置的結構,注意,下麵的斜體元素表示將出現在其位置的簡化元素名稱。

<?xml version="1.0" encoding="UTF-8"?>;
<Configuration>
<Properties>
<Property name="name1">value</property>
<Property name="name2" value="value2"/>
</Properties>
<filter ... />
<Appenders>
<appender ... >
<filter ... />
</appender>
...
</Appenders>
<Loggers>
<Logger name="name1">
<filter ... />
</Logger>
...
<Root level="level">
<AppenderRef ref="name"/>
</Root>
</Loggers>
</Configuration>

可以在本頁麵裏的sample appender, filter 和 logger declarations。查看更多的例子。

轉載自 並發編程網 - ifeve.com

最後更新:2017-05-19 10:25:10

  上一篇:go  聊聊Cassandra-概覽
  下一篇:go  Mysql Connector 5.1 好用的新特性