开发者社区> 问答> 正文

能给出一个Log4j2计算Location的示例代码吗?

能给出一个Log4j2计算Location的示例代码吗?

展开
收起
真的很搞笑 2024-05-13 19:46:05 22 0
1 条回答
写回答
取消 提交回答
  • 简单呀!看看这个

    public StackTraceElement calcLocation(final String fqcnOfLogger) {  
        if (fqcnOfLogger == null) {  
            return null;  
        }  
        // LOG4J2-1029 new Throwable().getStackTrace is faster than Thread.currentThread().getStackTrace().  
        final StackTraceElement[] stackTrace = new Throwable().getStackTrace();  
        boolean found = false;  
        for (int i = 0; i < stackTrace.length; i++) {  
            final String className = stackTrace[i].getClassName();  
            if (fqcnOfLogger.equals(className)) {  
                found = true;  
                continue;  
            }  
            if (found && !fqcnOfLogger.equals(className)) {  
                return stackTrace[i];  
            }  
        }  
        return null;  
    }
    
    2024-05-13 21:44:11
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载