我正在寫一個庫,並希望使用perf4j主要是爲了公開JMX性能計數器。
根據這裏的說明http://perf4j.codehaus.org/devguide.html perf4j是爲了與log4j結合使用,但是由於我正在編寫一個庫,我無法控制log4j的使用,所以庫的用戶可能會也可能不希望使用log4j,不想讓這成爲一項要求。
有沒有辦法使用perf4j,特別是暴露perf4j JMX計數器編程方式而不需要使用log4j?是否可以在沒有log4j的情況下使用perf4j?
回答
我會說是的。我跟着你發佈的鏈接,發現第一段說
一些的的Perf4工具需要 額外的依賴(例如, 定製的log4j附加目的地需要 log4j的罐子也可以在你的 類路徑)。
這表明在我的類路徑中沒有log4j是正常的事情。
具體來說,JMX appender看起來像只能使用log4j.xml,所以我想知道是否有沒有log4j的例子。我鏈接的頁面沒有這個,但也許它在那裏... – Ran 2010-02-28 06:03:24
好吧,似乎有幾個例子不使用log4j,但他們大多數都使用它。然而,大多數人會毫不猶豫地指定它們存在時的依賴關係(因爲您鏈接的頁面經常會這樣做),所以我不確定爲什麼你會猶豫。 – 2010-03-03 04:12:47
perf4j中的功能我想要使用的功能需要log4j.xml(而不是log4j.properties),儘管這是首選方式,但在許多現有應用程序中並不常見,所以我不想過多地滿足使我的用戶從.properties移到.xml。 我被迫這樣做了一次,它不是農民...... – Ran 2010-03-07 08:01:06
我的答案或多或少。 Perf4J需要在某個地方輸出測量結果,這個地方是一個日誌框架。 Perf4J被構建爲與Log4J兼容框架一起工作,但您可以更改基礎日誌記錄框架。例如,您可以選擇使用SFL4J或Commons Logging。
這裏是僅依賴的Perf4的罐子樣本:
import org.perf4j.LoggingStopWatch;
import org.perf4j.StopWatch;
public class Perf4JEx {
public static void main (String[] args) {
StopWatch stopWatch = new LoggingStopWatch();
// for demo purposes just sleep
Thread.sleep(170);
stopWatch.stop("timing");
}
}
此代碼將輸出測量到標準輸出(默認簡約日誌框架)。
開始[1310075342634]時間[171]標記[定時]
注意的Perf4使用log4j配置文件,同時還支持JMX。
- 1. 是否可以在沒有IIS的情況下使用Silverlight RiaServices?
- 2. 是否可以在沒有Expressj的情況下使用Passport.js?
- 3. 是否可以在沒有QtConcurrent的情況下使用QFuture?
- 4. 是否可以在沒有RTP/SAVP的情況下使用SIPML5
- 5. 是否可以在沒有MFC的情況下使用CListCtrl
- 6. 是否可以在沒有jQuery的情況下使用Materializecss?
- 7. 是否可以在沒有FOSUserBundle的情況下使用FOSCommentBundle?
- 8. 是否可以在沒有GMS的情況下使用Google API?
- 9. 是否可以在沒有VT-x的情況下使用Boot2Docker?
- 10. 是否可以在沒有RPC的情況下使用Apache Thrift?
- 11. 是否可以在沒有appstore的情況下安裝IOS APP?
- 12. 是否可以在沒有X-server的情況下運行JavaFx?
- 13. Android:是否可以在沒有SurfaceView的情況下創建SurfaceTexture?
- 14. 是否可以在沒有Karma的情況下測試Angular?
- 15. 是否可以在沒有梨的情況下安裝PHPUnit?
- 16. 是否可以在沒有Weblogic Server的情況下運行OSB?
- 17. 是否可以在沒有累加器的情況下寫入?
- 18. 是否可以在沒有GATT的情況下實施Proximity Profile?
- 19. 是否可以在沒有cookie的情況下設置nginx?
- 20. 是否可以在沒有lib的情況下編譯C++?
- 21. 是否可以在不使用debugfs的情況下使用ftrace?
- 22. 是否可以在不使用Rails的情況下使用FactoryGirl?
- 23. 是否可以在沒有LINQ的情況下使用實體框架?
- 24. 是否可以在沒有Spring/Struts/Seam的情況下使用Socialauth?
- 25. 是否可以在沒有Boost.Fusion的情況下使用Boost.Spirit V2.x?
- 26. Q.js是否可以在沒有node.js的情況下使用並且需要?
- 27. 是否可以在沒有核心數據的情況下使用NSUndoManager?
- 28. 是否可以在沒有Redis的情況下使用Spring Boot會話?
- 29. 是否可以在沒有模型/數據庫的情況下使用gmaps4rails?
- 30. 是否可以在沒有導航控制器的情況下使用pushViewController?
所有Codehaus服務已終止。您與Codehaus的鏈接已損壞。 – naXa 2016-01-06 08:15:00