public StackTraceElement getSource()

in meecrowave-core/src/main/java/org/apache/meecrowave/logging/log4j2/MeecrowaveLogEventFactory.java [48:68]


        public StackTraceElement getSource() { // this doesn't work OOTB and no config available
            if (source != null) {
                return source;
            }
            if (getLoggerFqcn() == null || !isIncludeLocation()) {
                return null;
            }

            final StackTraceElement[] stackTrace = new Throwable().getStackTrace();
            for (int i = stackTrace.length - 1; i > 0; i--) {
                final String className = stackTrace[i].getClassName();
                if (getLoggerFqcn().equals(className) && stackTrace.length > i + 1) {
                    source = stackTrace[i + 1];
                    if (i + 3 < stackTrace.length && stackTrace[i + 2].getClassName().equals("org.apache.meecrowave.logging.tomcat.LogFacade")) {
                        source = stackTrace[i + 3];
                    }
                    break;
                }
            }
            return source;
        }