sun*_*leo 6 java log4j spring-jdbc spring-boot
我正在尝试使用params for Spring Boot JDBC进行日志SQL查询,但它没有在日志中打印详细信息.我正在使用Spring Boot 1.5.8版本.请帮我解决这个问题.
application.properties:
spring.datasource.url=url
spring.datasource.username=user
spring.datasource.password=password
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
logging.level.org.springframework.jdbc.core.JdbcTemplate=debug
spring.datasource.type = com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.maximum-pool-size=2
库:
@Repository
public class DataRepository {
    private static Logger log = LoggerFactory.getLogger(DataRepository.class);
    @Autowired
    private NamedParameterJdbcTemplate jdbcTemplate;
    public Data findDataObjet() throws Exception {
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("id1", "mike");
        parameters.put("id2", new Long(1));
        String sqlString = "select * from table1 where id1 = ":id" and id2 = :id2";
        log.info("Query:" + sqlString);//this log is printing
        Data extObj = jdbcTemplate.query(sqlString, parameters, (rs) -> {
            if (rs != null && rs.next()) {
                Data innerObj = new Data();
                innerObj.setName(rs.getString("name"));             
                return innerObj;
            } else {
                log.info("No records found:"+rs);
                return null;
            }
        });
        return extObj;
    }
}
的logback-spring.xml:
<appender name="dailyRollingFileAppender"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <FileNamePattern>${logsPath}DATA%d{MMddyyyy}.log
        </FileNamePattern>
        <maxHistory>4</maxHistory>
    </rollingPolicy>
    <encoder>
        <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level
            %logger{35}-%msg %n</Pattern>
    </encoder>
</appender>
<root level="INFO">
    <appender-ref ref="dailyRollingFileAppender" />
</root>
Chi*_*ids 16
尝试
log4j.category.org.springframework.jdbc.core = TRACE
上述语句也将打印带有入站参数的SQL查询.
如果您只需要记录查询请使用以下内容
log4j.category.org.springframework.jdbc.core = DEBUG
您可以使用以下内容在您的logback文件中启用
<logger name="org.springframework.jdbc.core.JdbcTemplate">
  <level value="debug" />
</logger>
<logger name="org.springframework.jdbc.core.StatementCreatorUtils">
  <level value="debug" />
</logger>
将以下内容添加到属性文件中也可以:
logging.level.org.springframework.jdbc.core = TRACE
| 归档时间: | 
 | 
| 查看次数: | 10571 次 | 
| 最近记录: |