春季启动JDBC SQL模板日志

Sunleo:

我试图登录SQL查询使用参数春季启动JDBC,但它不打印在log.I细节正在使用Spring 1.5.8引导帮助version.Please我解决这个问题。

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>

Chids:

尝试

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>

更新:对于Springboot 2.x中,这将是

logging.level.org.springframework.jdbc.core=TRACE

Thanks zhuguowei!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

春季启动日志到文件

docker 撰写春季启动日志

春季启动 - 无法关闭日志记录

如何从春季启动中找到Thymeleaf模板

MS SQL Server 2016的春季启动配置

春季:如何确保Tomcat JDBC ConnectionPool可以写入日志

如何在春季启动禁用控制台日志记录?

在春季启动应用程序双击日志文件

为什么在的logback春季启动默认的日志框架?

调试日志记录导致的StackOverflowError在春季启动2.0.3.RELEASE

春季启动嵌入式的tomcat +访问日志与认证用户

春季启动:日志文件已获取对静态文件的请求

春季启动日志记录中的%PARSER_ERROR [wex]

如何执行春季启动控制器内的SQL语句?

通过schema.sql春季启动导入程序

如何在春季启动时查看架构SQL(DDL)?

春季启动Apache Camel Quartz JDBC调度程序

春季休眠错误OneToMany关系:错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误

春季测试:为org.springframework.test.context.jdbc.Sql配置数据源

从Spring JDBC模板执行SQL文件

春季启动测试:@Sql注释无法找到放置在src / test / resources中的sql文件

发行使用在春季启动应用程序从MySQL检索SQL插入实体的特殊字符

春季启动可能会显示sql甚至直接使用JdbcTemplate

获取:java.sql.SQLException:未知系统变量'language'春季启动

在春季启动测试中如何在@sql注释中打印脚本文件的完整路径

春季启动应用程序错误日志显示尝试在FanManager中配置ONS失败,并带有oracle.ons.NoServersAvailable

当HikariCP调试日志的连接总数为2时,春季启动指标显示HikariCP连接创建计数1

使用JDBC时如何启用SQL语句的日志记录

春季嵌套Thymeleaf模板