Как отключить логгер в Hibernate (SLF4J)?
В общем, такая беда: логгер начал сходить с ума, он начал выводить в консоль абсолютно ненужные вещи, которые я его не просил (мы вместе с другом программируем и у него при таком же самом коде логгер выводит только то, что ему сказали). Есть ли возможность его отключить? Перепробывал все советы в StackOverflow, но ничего не помогает. Людям говорят, что логгер — SLF4J, а они пишут про LOG4J, поэтому — проблема у меня с логгером SLF4J. Фото того, что он выводит: https://imgur.com/plwnj26. Если посмотреть справа на скролл, то можно понять, что подобного текста там настолько много, что вприцнипе невозможно найти то, что нужно. Пробывал также указаывать в Hibernate Properties: https://imgur.com/k9mByYF. Он как будто не хочет отключаться. Зависимость самая обычная:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
В общем, хочу сказать, что после подключения я логгер ни как не пытался настраивать и он так себя ведет прямо, что называется, "с коробки". Какие совету по его отключению или хотя бы настроить уровень логгирования?
Так же, на всякий случай, выкладываю весь конфигурационный класс:
package classes.chapter8.intro.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import java.util.Properties;
@Configuration
@EnableTransactionManagement
@ComponentScan(basePackages = {"classes.chapter8"})
public class JpaConfig {
private static Logger logger = LoggerFactory.getLogger(JpaConfig.class);
@Bean
public DataSource dataSource() {
try {
EmbeddedDatabaseBuilder databaseBuilder =
new EmbeddedDatabaseBuilder();
return databaseBuilder.setType(EmbeddedDatabaseType.H2)
.addScripts("jdbc/db/schema.sql", "jdbc/db/test-data.sql")
.build();
} catch (Exception e) {
logger.error("Embedded DataSource bean cannot be created!", e);
return null;
}
}
@Bean
public PlatformTransactionManager transactionManager() {
return new JpaTransactionManager(entityManagerFactory());
}
@Bean
public JpaVendorAdapter jpaVendorAdapter() {
return new HibernateJpaVendorAdapter();
}
@Bean
public Properties hibernateProperties() {
Properties hibernateProp = new Properties();
hibernateProp.put("hibernate.dialect", "org.hibernate.dialect.H2Dialect");
hibernateProp.put("hibernate.generate_statistics", false);
hibernateProp.put("hibernate.format_sql", false);
hibernateProp.put("hibernate.use_sql_comments", false);
hibernateProp.put("hibernate.show_sql", false);
hibernateProp.put("hibernate.max_fetch_depth", 3);
hibernateProp.put("hibernate.jdbc.batch_size", 10);
hibernateProp.put("hibernate.jdbc.fetch_size", 50);
return hibernateProp;
}
@Bean
public EntityManagerFactory entityManagerFactory() {
LocalContainerEntityManagerFactoryBean factoryBean =
new LocalContainerEntityManagerFactoryBean();
factoryBean.setPackagesToScan("classes/chapter8");
factoryBean.setDataSource(dataSource());
factoryBean.setJpaVendorAdapter(jpaVendorAdapter());
factoryBean.setJpaProperties(hibernateProperties());
factoryBean.afterPropertiesSet();
return factoryBean.getNativeEntityManagerFactory();
}
}