我使用的是spring-boot 1.3 logback-1.1.5 版本
首先是boot配置
# Mysql
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test2?createDatabaseIfNotExist=true
spring.datasource.username = root
spring.datasource.password = root
# jpa
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
## log
logging.level.com.trs.trsirp = DEBUG
#logging.file = logs/logback.log
接下来是logback配置:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
<!--<property name="LOG_HOME" value="/home" />-->
<!-- 控制台输出 -->
<!--<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">-->
<!--<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">-->
<!--<!–格式化输出,%d:日期;%thread:线程名;%-5level:级别,从左显示5个字符宽度;%msg:日志消息;%n:换行符 –>-->
<!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - -->
<!--%msg%n</pattern>-->
<!--</encoder>-->
<!--</appender>-->
<!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
<logger name="org.hibernate.type.descriptor.sql.BasicBinder"
level="TRACE" />
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor"
level="DEBUG" />
<logger name="org.hibernate.SQL" level="DEBUG" />
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />
<!--日志异步到数据库 -->
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<!--日志异步到数据库 -->
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<!--连接池 -->
<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://localhost:3306/test2</url>
<user>root</user>
<password>root</password>
</dataSource>
</connectionSource>
</appender>
<!-- 日志输出级别 -->
<root level="INFO">
<!--<appender-ref ref="STDOUT" />-->
<appender-ref ref="DB" />
</root>
</configuration>
在接下来是报错:
Exception in thread "main" java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.joran.spi.Interpreter@28:66 - no applicable action for [dataSource], current ElementPath is [[configuration][appender][connectionSource][dataSource]]
如果把配置里面的
dataSource
去掉就可以运行,但是为什么加上就出现这样的错误 ?
第二个问题就是如果把
root 标签的level改成debug
启动就会卡在spring-boot 1.3 启动最开始有一个图案那就地方,不会往下执行 ,这是为什么 ?
La configuration de connectionSource est incorrecte. La classe que vous avez configurée ne prend pas en charge la configuration de la source de données. Si vous souhaitez le soutenir, vous pouvez le changer en