[英]Is it possible to use perf4j without log4j?
我正在編寫一個庫,並且想主要使用perf4j來公開JMX性能計數器。
根據此處的說明http://perf4j.codehaus.org/devguide.html perf4j旨在與log4j結合使用,但是由於我正在編寫一個庫,因此無法控制log4j的使用,該庫的用戶可能或可能不希望使用log4j,而我不想將此成為要求。
有沒有一種使用perf4j的方法,特別是以編程方式公開perf4j JMX計數器而無需使用log4j?
我的回答或多或少。 Perf4J需要將其測量結果輸出到某個地方,而這個地方是一個日志記錄框架。 Perf4J旨在與Log4J兼容框架一起使用,但是您可以更改底層的日志記錄框架。 例如,您可以選擇使用SFL4J或Commons Logging。
這是僅依賴於perf4j的jar的示例:
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]標簽[時間]
請注意,Perf4J使用log4j配置文件,並且還支持JMX。
我會說是的。 我點擊了您發布的鏈接,並注意到第一段內容
一些Perf4J工具需要附加的依賴關系(例如,自定義log4j附加程序要求log4j jar也位於您的類路徑中)。
對我來說,這表明在類路徑中沒有log4j是很正常的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.