// Path: src/main/java/com/github/vbauer/herald/ext/spring/LogBeanPostProcessor.java
// public class LogBeanPostProcessor implements BeanPostProcessor {
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Object postProcessBeforeInitialization(final Object bean, final String beanName) {
//         return LoggerInjector.inject(bean);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Object postProcessAfterInitialization(final Object bean, final String beanName) {
//         return bean;
//     }
// 
// }
// 
// Path: src/test/java/com/github/vbauer/herald/logger/checker/ClassLogBeanChecker.java
// public final class ClassLogBeanChecker {
// 
//     private ClassLogBeanChecker() {
//         throw new UnsupportedOperationException();
//     }
// 
// 
//     public static void check(final ClassLogBean bean) {
//         assertThat(ClassLogBean.getStaticJavaUtilLogger(), notNullValue());
//         assertThat(bean.getJavaUtilLogger(), notNullValue());
//         assertThat(bean.getCommonsLoggingLogger(), notNullValue());
//         assertThat(bean.getLogbackLogger(), notNullValue());
//         assertThat(bean.getSlf4jLogger(), notNullValue());
//         assertThat(bean.getSlf4jExtLogger(), notNullValue());
//         assertThat(bean.getLog4jLogger(), notNullValue());
//         assertThat(bean.getLog4j2Logger(), notNullValue());
//         assertThat(bean.getJBossLogger(), notNullValue());
//         assertThat(bean.getSyslog4jLogger(), notNullValue());
//         assertThat(bean.getSyslog4jGraylogLogger(), notNullValue());
//         assertThat(bean.getFluentLogger(), notNullValue());
//         assertThat(bean.getNotLogger(), equalTo(ClassLogBean.DEF_NOT_LOGGER_VALUE));
//     }
// 
// }
// 
// Path: src/test/java/com/github/vbauer/herald/logger/checker/LogBeanChecker.java
// public final class LogBeanChecker {
// 
//     private LogBeanChecker() {
//         throw new UnsupportedOperationException();
//     }
// 
// 
//     public static void check(final LogBean bean) {
//         assertThat(LogBean.getStaticJavaUtilLogger(), notNullValue());
//         assertThat(bean.getJavaUtilLogger(), notNullValue());
//         assertThat(bean.getCommonsLoggingLogger(), notNullValue());
//         assertThat(bean.getLogbackLogger(), notNullValue());
//         assertThat(bean.getSlf4jLogger(), notNullValue());
//         assertThat(bean.getSlf4jExtLogger(), notNullValue());
//         assertThat(bean.getLog4jLogger(), notNullValue());
//         assertThat(bean.getLog4j2Logger(), notNullValue());
//         assertThat(bean.getJBossLogger(), notNullValue());
//         assertThat(bean.getSyslog4jLogger(), notNullValue());
//         assertThat(bean.getSyslog4jGraylogLogger(), notNullValue());
//         assertThat(bean.getFluentLogger(), notNullValue());
//     }
// 
// }
// 
// Path: src/test/java/com/github/vbauer/herald/logger/checker/NamedLogBeanChecker.java
// public final class NamedLogBeanChecker {
// 
//     private NamedLogBeanChecker() {
//         throw new UnsupportedOperationException();
//     }
// 
// 
//     public static void check(final NamedLogBean bean) {
//         assertThat(NamedLogBean.getStaticJavaUtilLogger(), notNullValue());
//         assertThat(bean.getJavaUtilLogger(), notNullValue());
//         assertThat(bean.getCommonsLoggingLogger(), notNullValue());
//         assertThat(bean.getLogbackLogger(), notNullValue());
//         assertThat(bean.getSlf4jLogger(), notNullValue());
//         assertThat(bean.getSlf4jExtLogger(), notNullValue());
//         assertThat(bean.getLog4jLogger(), notNullValue());
//         assertThat(bean.getLog4j2Logger(), notNullValue());
//         assertThat(bean.getJBossLogger(), notNullValue());
//         assertThat(bean.getSyslog4jLogger(), notNullValue());
//         assertThat(bean.getSyslog4jGraylogLogger(), notNullValue());
//         assertThat(bean.getFluentLogger(), notNullValue());
//     }
// 
// }


import com.github.vbauer.herald.ext.spring.LogBeanPostProcessor;
import com.github.vbauer.herald.logger.checker.ClassLogBeanChecker;
import com.github.vbauer.herald.logger.checker.LogBeanChecker;
import com.github.vbauer.herald.logger.checker.NamedLogBeanChecker;
import org.springframework.stereotype.Component;
import javax.inject.Inject;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;
    @Inject
    public CheckerBean(
        final ClassLogBean classLogBean,
        final LogBean logBean,
        final NamedLogBean namedLogBean
    ) {
        this.classLogBean = classLogBean;
        this.logBean = logBean;
        this.namedLogBean = namedLogBean;
    }


    public void checkBeans() {
        checkBeans(classLogBean, logBean, namedLogBean);
    }

    public void checkPostProcessor() {
        checkBeans(
            checkPostProcessor(new ClassLogBean()),
            checkPostProcessor(new LogBean()),
            checkPostProcessor(new NamedLogBean())
        );
    }


    private void checkBeans(
        final ClassLogBean classLogBean, final LogBean logBean, final NamedLogBean namedLogBean
    ) {
        ClassLogBeanChecker.check(classLogBean);
        LogBeanChecker.check(logBean);
// Path: src/main/java/com/github/vbauer/herald/ext/spring/LogBeanPostProcessor.java
// public class LogBeanPostProcessor implements BeanPostProcessor {
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Object postProcessBeforeInitialization(final Object bean, final String beanName) {
//         return LoggerInjector.inject(bean);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Object postProcessAfterInitialization(final Object bean, final String beanName) {
//         return bean;
//     }
// 
// }
// 
// Path: src/test/java/com/github/vbauer/herald/logger/checker/ClassLogBeanChecker.java
// public final class ClassLogBeanChecker {
// 
//     private ClassLogBeanChecker() {
//         throw new UnsupportedOperationException();
//     }
// 
// 
//     public static void check(final ClassLogBean bean) {
//         assertThat(ClassLogBean.getStaticJavaUtilLogger(), notNullValue());
//         assertThat(bean.getJavaUtilLogger(), notNullValue());
//         assertThat(bean.getCommonsLoggingLogger(), notNullValue());
//         assertThat(bean.getLogbackLogger(), notNullValue());
//         assertThat(bean.getSlf4jLogger(), notNullValue());
//         assertThat(bean.getSlf4jExtLogger(), notNullValue());
//         assertThat(bean.getLog4jLogger(), notNullValue());
//         assertThat(bean.getLog4j2Logger(), notNullValue());
//         assertThat(bean.getJBossLogger(), notNullValue());
//         assertThat(bean.getSyslog4jLogger(), notNullValue());
//         assertThat(bean.getSyslog4jGraylogLogger(), notNullValue());
//         assertThat(bean.getFluentLogger(), notNullValue());
//         assertThat(bean.getNotLogger(), equalTo(ClassLogBean.DEF_NOT_LOGGER_VALUE));
//     }
// 
// }
// 
// Path: src/test/java/com/github/vbauer/herald/logger/checker/LogBeanChecker.java
// public final class LogBeanChecker {
// 
//     private LogBeanChecker() {
//         throw new UnsupportedOperationException();
//     }
// 
// 
//     public static void check(final LogBean bean) {
//         assertThat(LogBean.getStaticJavaUtilLogger(), notNullValue());
//         assertThat(bean.getJavaUtilLogger(), notNullValue());
//         assertThat(bean.getCommonsLoggingLogger(), notNullValue());
//         assertThat(bean.getLogbackLogger(), notNullValue());
//         assertThat(bean.getSlf4jLogger(), notNullValue());
//         assertThat(bean.getSlf4jExtLogger(), notNullValue());
//         assertThat(bean.getLog4jLogger(), notNullValue());
//         assertThat(bean.getLog4j2Logger(), notNullValue());
//         assertThat(bean.getJBossLogger(), notNullValue());
//         assertThat(bean.getSyslog4jLogger(), notNullValue());
//         assertThat(bean.getSyslog4jGraylogLogger(), notNullValue());
//         assertThat(bean.getFluentLogger(), notNullValue());
//     }
// 
// }
// 
// Path: src/test/java/com/github/vbauer/herald/logger/checker/NamedLogBeanChecker.java
// public final class NamedLogBeanChecker {
// 
//     private NamedLogBeanChecker() {
//         throw new UnsupportedOperationException();
//     }
// 
// 
//     public static void check(final NamedLogBean bean) {
//         assertThat(NamedLogBean.getStaticJavaUtilLogger(), notNullValue());
//         assertThat(bean.getJavaUtilLogger(), notNullValue());
//         assertThat(bean.getCommonsLoggingLogger(), notNullValue());
//         assertThat(bean.getLogbackLogger(), notNullValue());
//         assertThat(bean.getSlf4jLogger(), notNullValue());
//         assertThat(bean.getSlf4jExtLogger(), notNullValue());
//         assertThat(bean.getLog4jLogger(), notNullValue());
//         assertThat(bean.getLog4j2Logger(), notNullValue());
//         assertThat(bean.getJBossLogger(), notNullValue());
//         assertThat(bean.getSyslog4jLogger(), notNullValue());
//         assertThat(bean.getSyslog4jGraylogLogger(), notNullValue());
//         assertThat(bean.getFluentLogger(), notNullValue());
//     }
// 
// }


// Path: src/test/java/com/github/vbauer/herald/ext/spring/bean/CheckerBean.java
import com.github.vbauer.herald.ext.spring.LogBeanPostProcessor;
import com.github.vbauer.herald.logger.checker.ClassLogBeanChecker;
import com.github.vbauer.herald.logger.checker.LogBeanChecker;
import com.github.vbauer.herald.logger.checker.NamedLogBeanChecker;
import org.springframework.stereotype.Component;
import javax.inject.Inject;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;

    @Inject
    public CheckerBean(
        final ClassLogBean classLogBean,
        final LogBean logBean,
        final NamedLogBean namedLogBean
    ) {
        this.classLogBean = classLogBean;
        this.logBean = logBean;
        this.namedLogBean = namedLogBean;
    }


    public void checkBeans() {
        checkBeans(classLogBean, logBean, namedLogBean);
    }

    public void checkPostProcessor() {
        checkBeans(
            checkPostProcessor(new ClassLogBean()),
            checkPostProcessor(new LogBean()),
            checkPostProcessor(new NamedLogBean())
        );
    }


    private void checkBeans(
        final ClassLogBean classLogBean, final LogBean logBean, final NamedLogBean namedLogBean
    ) {
        ClassLogBeanChecker.check(classLogBean);
        LogBeanChecker.check(logBean);
        NamedLogBeanChecker.check(namedLogBean);