diff --git a/pom.xml b/pom.xml index 18ccdc460ff61c1cb6ce405b6b640c3099c7e5b0..f54828dab01e4ba4aad324c25822794bd9ef002f 100644 --- a/pom.xml +++ b/pom.xml @@ -27,39 +27,39 @@ org.springframework.boot spring-boot-autoconfigure + provided ch.qos.logback logback-classic 1.2.3 + provided - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-logging - + + org.elasticsearch.client elasticsearch-rest-high-level-client 7.17.7 + provided org.springframework.boot spring-boot-starter-data-elasticsearch + provided org.elasticsearch elasticsearch 7.17.7 - compile - true + provided + org.projectlombok lombok + provided + diff --git a/src/main/java/com/our/base/easylog/logback/LogbackInitializer.java b/src/main/java/com/our/base/easylog/logback/LogbackInitializer.java index c52e712c0b74552bbf1685e272218b9fd72bcabc..2c4c9942dc6dd35d68f42d07f78f0c593f462e95 100644 --- a/src/main/java/com/our/base/easylog/logback/LogbackInitializer.java +++ b/src/main/java/com/our/base/easylog/logback/LogbackInitializer.java @@ -7,9 +7,11 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.encoder.LayoutWrappingEncoder; import ch.qos.logback.core.joran.spi.JoranException; import com.our.base.easylog.logback.appender.PushLogAppender; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.slf4j.LoggerFactory; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; @@ -20,13 +22,25 @@ import java.net.URL; * @Description logback 初始化实现 (在spring boot 初始化之前) * @date 2023/12/6 **/ +@ConditionalOnProperty(prefix = "easy-log", name = "enable", matchIfMissing = true) @ConditionalOnClass(name = "ch.qos.logback.classic.LoggerContext") @Slf4j public class LogbackInitializer implements ApplicationContextInitializer { + @Override public void initialize(ConfigurableApplicationContext configurableApplicationContext) { + boolean enable= Boolean.TRUE.equals(configurableApplicationContext.getEnvironment().getProperty("easy-log.enable", Boolean.class)); + if (!enable){ + return; + } + try { + Class.forName("ch.qos.logback.classic.LoggerContext"); + } catch (ClassNotFoundException e) { + log.info("没有logback依赖"); + return; + } LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); JoranConfigurator configurator = new JoranConfigurator();