為什麼要配置log4j傳送訊息呢?主要是將現在系統的日誌都集中管理,而不是分散在各個系統中,對於分布式系統更是如此。但是始終測試不成功現在回想一下不成功,主要的原因就是對於每個元件不熟悉不理解其原理。
坑1:zookeeper沒有配置myid
啟動metaq也可以連上,但是客戶端通過zookeeper連線metaq不可以,一直就是連不上.
所以這一步,一定要正確的配置zookeeper,即是單機執行zookeeper也要配置myid。
坑2:metaq的正解啟動
在win7下啟動metaq之後,一定在驗證其是否正確的啟動,比如telnet 8123端品執行stats測試一下。
坑3:log4j的配置
官網所給的關於log4j.properties的配置
log4j.logger.testlog=info, testmessage
log4j.additivity.testmessage=false
**使用示例:
static final log log = logfactory.getlog("testlog");
log.info("just a test");
而一般情況下,所使用的**為
static final log log=logfactory.getlog(test.class);
的形式,如果使用metaq來將系統異常日誌作為訊息傳送出去,
那麼需要重構的**則太多了。其實我們只需要更改log4j的配置就可以了,我測試成功的log4j配置。
log4j.rootlogger=debug,console
log4j.logger.com.j1=info,testmessage
log4j.additivity.testmessage=false
還要一點就是不能將testmessage放在rootlogger上,因為這樣**會報stack異常,但是我沒有搞清楚原因。即進行如何配置不可以:
log4j.rootlogger=debug,console,testmessage
log4j日誌系統 Log4j
1.1 log4j的三大核心元件 1.2 loggers 記錄器 1.4 layouts 布局 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活地指定布局模式 org.apache.log4j.lay...
常用log4j配置
常用log4j配置,一般可以採用兩種方式,properties和.xml,下面舉兩個簡單的例子 一 log4j.properties 設定org.zblog域對應的級別info,debug,warn,error和輸出地a1,a2 log4j.category.org.zblog error,a1 l...
常用log4j配置
常用log4j配置,一般可以採用兩種方式,properties和.xml,下面舉兩個簡單的例子 一 log4j.properties 設定.zblog域對應的級別info,debug,warn,error和輸出地a1,a2 log4j.category.zblog error,a1 log4j.ca...