亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取 Spring Boot 應用程序中的日志記錄級別

獲取 Spring Boot 應用程序中的日志記錄級別

森欄 2023-11-10 16:52:15
我創建了一個Benchmark注釋,它給出了使用 的方法調用的執行時間Stopwatch。注釋Benchmark有一個默認isEnabled屬性。true我想要的是,即使該值設置false為某種方法,如果日志記錄級別為DEBUG,也可以完成基準測試。Spring Boot 有沒有辦法獲取應用程序的當前日志記錄級別。我知道我們可以為不同的包啟用多個日志記錄級別。如果對于當前包或模塊,日志記錄級別設置為 DEBUG,則應執行基準測試。這就是我的Benchmark注釋的樣子:@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Benchmark {    boolean isEnabled() default true;}進行基準測試的方面如下所示:@Aspect@Componentpublic class BenchmarkingAspect {    @Around("@annotation(benchmark)")    public Object benchmarkMethodRuntimeAspect(ProceedingJoinPoint proceedingJoinPoint, Benchmark benchmark) throws Throwable {        if (benchmark.isEnabled()) {            StopWatch stopWatch = new StopWatch();            stopWatch.start();            Object returnedValue = proceedingJoinPoint.proceed();            stopWatch.stop();            log.info("Benchmarked: {} from class {}", proceedingJoinPoint.getSignature().getName(),                    proceedingJoinPoint.getTarget().getClass().getCanonicalName());            log.info(stopWatch.prettyPrint());            return returnedValue;        } else {            return proceedingJoinPoint.proceed();        }    }}
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

我認為你可以這樣做;


Logger targetLogger = LoggerFactory.getLogger(proceedingJoinPoint.getTarget().getClass())

if (targetLog.isDebugEnabled()) {

    // apply your logic here

}


查看完整回答
反對 回復 2023-11-10
  • 1 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號