Log4j或Logback等日志框架怎么关闭sql日志的输出
时间: 2024-01-25 16:04:04 浏览: 41
对于Log4j,可以通过在log4j.properties文件中配置以下内容来关闭sql日志输出:
```
log4j.logger.org.hibernate.SQL=OFF
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=OFF
```
对于Logback,可以在logback.xml文件中添加以下内容来关闭sql日志输出:
```
<logger name="org.hibernate.SQL" level="OFF"/>
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="OFF"/>
```
相关问题
mybatis-plus显示sql日志
要在Mybatis-Plus中显示SQL日志,可以使用以下两种方法:
1. 在application.properties或application.yml文件中添加以下配置:
```
# 开启Mybatis-Plus SQL日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
```
2. 在代码中配置:
```java
@Configuration
public class MybatisPlusConfig {
/**
* 配置Mybatis-Plus SQL日志
*/
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return configuration -> {
configuration.setLogImpl(StdOutImpl.class);
};
}
}
```
以上两种方法都是将日志输出到控制台。如果需要将日志输出到文件中,可以使用log4j或logback等日志框架进行配置。
springboot log4j
Spring Boot提供了对log4j的支持,可以使用log4j作为日志框架来记录应用程序的日志信息。在使用Spring Boot和log4j时,需要在项目的pom.xml文件中引入相关的依赖,如下所示:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- 排除自带的logback依赖 -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>
</dependencies>
在编写代码时,可以使用log4j的Logger类来记录日志。例如,在一个Spring Boot的Controller类中,可以通过注入Logger对象来使用log4j来记录日志。具体代码示例如下:
package com.supreme.supreme_api.controller;
import com.supreme.supreme_api.SupremeApiApplication;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/test")
public class TestController {
@Autowired
private JdbcTemplate jdbcTemplate;
private static final Logger logger = Logger.getLogger(TestController.class);
@GetMapping("/index")
@ResponseBody
public List<Map<String,Object>> test() {
logger.info("哈哈DemoApplication start!!!");
String sql = "select * from manager";
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
return list;
}
}
在这个示例中,我们通过注入Logger对象来使用log4j框架记录了一条日志信息。