11 changed files with 620 additions and 3 deletions
@ -0,0 +1,21 @@ |
|||||
|
# 数据库服务器配置 |
||||
|
# type=com.alibaba.druid.pool.DruidDataSource |
||||
|
#druid.driver-class=com.mysql.cj.jdbc.Driver |
||||
|
#druid.url=jdbc:mysql://10.14.1.197:3306/jiao_api_alpha_x?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 |
||||
|
#druid.username=jiao_api_alpha_x |
||||
|
#druid.password=YcpfGJyJpy6KfYR3 |
||||
|
|
||||
|
# local |
||||
|
druid.url=jdbc:mysql://localhost:3307/szwhtrans?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 |
||||
|
druid.username=root |
||||
|
druid.password=root |
||||
|
|
||||
|
# database |
||||
|
spring.datasource.driver-class-name=com.mysql.jdbc.Driver |
||||
|
spring.datasource.url= |
||||
|
spring.datasource.username= |
||||
|
spring.datasource.password= |
||||
|
spring.datasource.hikari.connection-timeout=120 |
||||
|
spring.datasource.hikari.connection-test-query=select 1 |
||||
|
|
||||
|
|
||||
@ -0,0 +1,151 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<!DOCTYPE mapper |
||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="cn.chjyj.szwh.mapper.UserMapper"> |
||||
|
|
||||
|
<sql id="column"> |
||||
|
id,user_isli as userIsli,username,institution_code as institutionCode,agency_type as agencyType, |
||||
|
cert_type as certType,idNumber,cell_phone as cellPhone,bank_account as bankAccount, |
||||
|
legals_name as legalsName,legals_type as legalsType,legals_idnum as legalsIdnum, |
||||
|
legals_phone as legalsPhone,bank_card_type as bankCardType,bank_type as bankType, |
||||
|
bank_name as bankName,bank_username as bankUsername,bank_userid as bankUserid, |
||||
|
bank_userphone as bankUserphone,bank_address as bankAddress,attest_status as attestStatus, |
||||
|
registertime,attesttime |
||||
|
</sql> |
||||
|
<sql id="tbName">`user`</sql> |
||||
|
|
||||
|
<!--查询记录列表--> |
||||
|
<select id="getUserList" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.User"> |
||||
|
WITH mu as ( |
||||
|
select <include refid="column"/> from <include refid="tbName"/>where id>#{startRs} limit #{pageSize} |
||||
|
)SELECT * FROM mu ORDER BY id DESC; |
||||
|
</select> |
||||
|
|
||||
|
<!--查询用户名,加上密码--> |
||||
|
<select id="getUserByIsli" parameterType="java.lang.String" resultType="cn.chjyj.szwh.bean.User"> |
||||
|
select<include refid="column"/> |
||||
|
from |
||||
|
<include refid="tbName"/> |
||||
|
where user_isli=#{userIsli} limit 1; |
||||
|
</select> |
||||
|
|
||||
|
<!--查询用户--> |
||||
|
<select id="getSingleUserByOpenid" parameterType="java.lang.String" resultType="cn.chjyj.szwh.bean.Goods"> |
||||
|
select |
||||
|
<include refid="column"/> |
||||
|
from |
||||
|
<include refid="tbName"/> |
||||
|
where openid=#{openid}; |
||||
|
</select> |
||||
|
|
||||
|
<!--新增用户--> |
||||
|
<insert id="addUser" parameterType="cn.chjyj.szwh.bean.Goods" useGeneratedKeys="true" keyColumn="uid"> |
||||
|
insert into |
||||
|
<include refid="tbName"/> |
||||
|
(user_isli,username,institution_code,agency_type,cert_type,idNumber,cell_phone, |
||||
|
bank_account,legals_name,legals_type,legals_idnum,legals_phone,bank_card_type, |
||||
|
bank_type,bank_name,bank_username,bank_userid,bank_userphone,bank_address,attest_status, |
||||
|
registertime,attesttime |
||||
|
) |
||||
|
values ( |
||||
|
#{userIsli}, |
||||
|
#{username}, |
||||
|
#{institutionCode}, |
||||
|
#{agencyType}, |
||||
|
#{certType}, |
||||
|
#{idNumber}, |
||||
|
#{cellPhone}, |
||||
|
#{bankAccount}, |
||||
|
#{legalsName}, |
||||
|
#{legalsType}, |
||||
|
#{legalsIdnum}, |
||||
|
#{legalsPhone}, |
||||
|
#{bankCardType}, |
||||
|
#{bankType}, |
||||
|
#{bankName}, |
||||
|
#{bankUsername}, |
||||
|
#{bankUserid}, |
||||
|
#{bankUserphone}, |
||||
|
#{bankAddress}, |
||||
|
#{attestStatus}, |
||||
|
#{registertime}, |
||||
|
#{attesttime} |
||||
|
) |
||||
|
</insert> |
||||
|
|
||||
|
<update id="updateUser" parameterType="cn.chjyj.szwh.bean.Goods"> |
||||
|
update |
||||
|
<include refid="tbName"/> |
||||
|
<set> |
||||
|
<if test="userIsli!=null"> |
||||
|
user_isli=#{userIsli}, |
||||
|
</if> |
||||
|
<if test="username!=null"> |
||||
|
username=#{username}, |
||||
|
</if> |
||||
|
<if test="institutionCode!=null"> |
||||
|
institution_code =#{institutionCode}, |
||||
|
</if> |
||||
|
<if test="agencyType!=null"> |
||||
|
agency_type=#{agencyType} |
||||
|
</if> |
||||
|
<if test="certType!=null"> |
||||
|
cert_type=#{certType} |
||||
|
</if> |
||||
|
<if test="idNumber!=null"> |
||||
|
idNumber=#{idNumber} |
||||
|
</if> |
||||
|
<if test="cellPhone!=null"> |
||||
|
cell_phone=#{cellPhone} |
||||
|
</if> |
||||
|
<if test="bankAccount!=null"> |
||||
|
bank_account=#{bankAccount} |
||||
|
</if> |
||||
|
<if test="legalsName!=null"> |
||||
|
legals_name=#{legalsName} |
||||
|
</if> |
||||
|
<if test="legalsType!=null"> |
||||
|
legals_type=#{legalsType} |
||||
|
</if> |
||||
|
<if test="legalsIdnum!=null"> |
||||
|
legals_idnum=#{legalsIdnum} |
||||
|
</if> |
||||
|
<if test="legalsPhone!=null"> |
||||
|
legals_phone=#{legalsPhone} |
||||
|
</if> |
||||
|
<if test="bankCardType!=null"> |
||||
|
bank_card_type=#{bankCardType} |
||||
|
</if> |
||||
|
<if test="bankType!=null"> |
||||
|
bank_type=#{bankType} |
||||
|
</if> |
||||
|
<if test="bankName!=null"> |
||||
|
bank_name=#{bankName} |
||||
|
</if> |
||||
|
<if test="bankUsername!=null"> |
||||
|
bank_username=#{bankUsername} |
||||
|
</if> |
||||
|
<if test="bankUserid!=null"> |
||||
|
bank_userid=#{bankUserid} |
||||
|
</if> |
||||
|
<if test="bankUserphone!=null"> |
||||
|
bank_userphone=#{bankUserphone} |
||||
|
</if> |
||||
|
<if test="bankAddress!=null"> |
||||
|
bank_address=#{bankAddress} |
||||
|
</if> |
||||
|
<if test="attestStatus!=null"> |
||||
|
attest_status=#{attestStatus} |
||||
|
</if> |
||||
|
<if test="registertime!=null"> |
||||
|
registertime=#{registertime} |
||||
|
</if> |
||||
|
<if test="attesttime!=null"> |
||||
|
attesttime=#{} |
||||
|
</if> |
||||
|
</set> |
||||
|
where id=#{id}; |
||||
|
</update> |
||||
|
|
||||
|
</mapper> |
||||
@ -0,0 +1,116 @@ |
|||||
|
package com.xtmis.suu.config; |
||||
|
|
||||
|
|
||||
|
|
||||
|
import com.alibaba.druid.pool.DruidDataSource; |
||||
|
import com.alibaba.druid.support.http.StatViewServlet; |
||||
|
import com.alibaba.druid.support.http.WebStatFilter; |
||||
|
import com.xtmis.suu.constant.ChConstant; |
||||
|
import org.apache.commons.logging.Log; |
||||
|
import org.apache.commons.logging.LogFactory; |
||||
|
import org.apache.ibatis.session.SqlSessionFactory; |
||||
|
import org.mybatis.spring.SqlSessionFactoryBean; |
||||
|
import org.mybatis.spring.SqlSessionTemplate; |
||||
|
import org.mybatis.spring.annotation.MapperScan; |
||||
|
import org.springframework.beans.factory.annotation.Qualifier; |
||||
|
import org.springframework.boot.web.servlet.FilterRegistrationBean; |
||||
|
import org.springframework.boot.web.servlet.ServletRegistrationBean; |
||||
|
import org.springframework.context.annotation.Bean; |
||||
|
import org.springframework.context.annotation.Configuration; |
||||
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; |
||||
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager; |
||||
|
|
||||
|
import javax.servlet.Filter; |
||||
|
import javax.servlet.Servlet; |
||||
|
import javax.sql.DataSource; |
||||
|
import java.io.FileReader; |
||||
|
import java.util.Properties; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* druid 数据库链接配置 |
||||
|
* 涉及多数据源,此处需要明确指定扫描包的位置 |
||||
|
*/ |
||||
|
@Configuration |
||||
|
@MapperScan(basePackages = {"com.xtmis.*.mapper"},sqlSessionFactoryRef = "chSqlSessionFactory") |
||||
|
public class DruidConfig { |
||||
|
private Log log = LogFactory.getLog(DruidConfig.class); //初始化日志
|
||||
|
static final String CHMAPPER_LOCATION = "classpath:mappers/*xml"; |
||||
|
|
||||
|
/** |
||||
|
* 配置为主要数据源 |
||||
|
* @return |
||||
|
* @throws Exception |
||||
|
*/ |
||||
|
|
||||
|
@Bean(name = "chDataSource") |
||||
|
@Qualifier("chDataSource") |
||||
|
public DataSource druidDataSource() throws Exception{ |
||||
|
//配置文件的真实路径
|
||||
|
String dbconf = ChConstant.WORK_DIR + ChConstant.DB_CONF; |
||||
|
Properties prop = new Properties(); |
||||
|
prop.load(new FileReader(dbconf)); |
||||
|
log.info("master druid:"+dbconf); |
||||
|
//使用datasource方式
|
||||
|
DruidDataSource dataSource = new DruidDataSource(); |
||||
|
String dburl = prop.getProperty("druid.url"); |
||||
|
dataSource.setUrl(dburl); |
||||
|
dataSource.setDriverClassName(prop.getProperty("druid.driver-class")); |
||||
|
dataSource.setUsername(prop.getProperty("druid.username")); |
||||
|
dataSource.setPassword(prop.getProperty("druid.password")); |
||||
|
|
||||
|
return dataSource; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Bean |
||||
|
public ServletRegistrationBean<Servlet> druidServlet() { |
||||
|
// 进行 druid 监控的配置处理
|
||||
|
ServletRegistrationBean<Servlet> srb = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*"); |
||||
|
// 白名单
|
||||
|
srb.addInitParameter("allow", "127.0.0.1"); |
||||
|
// 黑名单
|
||||
|
//srb.addInitParameter("deny", "192.168.31.253");
|
||||
|
// 用户名
|
||||
|
srb.addInitParameter("loginUsername", "root"); |
||||
|
// 密码
|
||||
|
srb.addInitParameter("loginPassword", "xc1123"); |
||||
|
// 是否可以重置数据源
|
||||
|
srb.addInitParameter("resetEnable", "false"); |
||||
|
log.info("druid监控配置:" + srb); |
||||
|
return srb; |
||||
|
} |
||||
|
|
||||
|
@Bean |
||||
|
public FilterRegistrationBean<Filter> filterRegistrationBean() { |
||||
|
FilterRegistrationBean<Filter> frb = new FilterRegistrationBean<>(); |
||||
|
frb.setFilter(new WebStatFilter()); |
||||
|
// 所有请求进行监控处理
|
||||
|
frb.addUrlPatterns("/*"); |
||||
|
// 排除名单
|
||||
|
frb.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*"); |
||||
|
return frb; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Bean(name="chSqlSessionFactory") |
||||
|
public SqlSessionFactory chSqlSessionFactory(@Qualifier("chDataSource") DataSource dataSource) throws Exception { |
||||
|
SqlSessionFactoryBean bean=new SqlSessionFactoryBean(); |
||||
|
bean.setDataSource(dataSource); |
||||
|
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(DruidConfig.CHMAPPER_LOCATION)); |
||||
|
log.info("chSqlSessionFactory"+bean.toString()); |
||||
|
return bean.getObject(); |
||||
|
} |
||||
|
|
||||
|
//配置事务
|
||||
|
@Bean(name="transactionManager") |
||||
|
public DataSourceTransactionManager testTransactionManager(@Qualifier("chDataSource") DataSource dataSource) { |
||||
|
return new DataSourceTransactionManager(dataSource); |
||||
|
} |
||||
|
|
||||
|
//
|
||||
|
@Bean(name="sqlSessionTemplate") |
||||
|
public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("chSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { |
||||
|
return new SqlSessionTemplate(sqlSessionFactory); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,28 @@ |
|||||
|
package com.xtmis.suu.config; |
||||
|
|
||||
|
import org.apache.commons.logging.Log; |
||||
|
import org.apache.commons.logging.LogFactory; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.context.annotation.Bean; |
||||
|
import org.springframework.context.annotation.Configuration; |
||||
|
import org.springframework.core.env.Environment; |
||||
|
|
||||
|
@Configuration |
||||
|
public class EnvConfig { |
||||
|
private Log log = LogFactory.getLog(EnvConfig.class); |
||||
|
|
||||
|
@Autowired |
||||
|
private Environment env; |
||||
|
|
||||
|
/** |
||||
|
* 获取大数据链接信息 |
||||
|
* 项目初始化的时候完成操作 |
||||
|
* @return |
||||
|
*/ |
||||
|
@Bean |
||||
|
public static String yxDbConf(){ |
||||
|
//读取当前运行位置
|
||||
|
String curPath=System.getProperty("user.dir"); |
||||
|
return curPath; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,59 @@ |
|||||
|
package com.xtmis.suu.config; |
||||
|
|
||||
|
import com.zaxxer.hikari.HikariDataSource; |
||||
|
import org.springframework.boot.context.properties.ConfigurationProperties; |
||||
|
import org.springframework.context.annotation.Bean; |
||||
|
import org.springframework.context.annotation.Configuration; |
||||
|
|
||||
|
import javax.sql.DataSource; |
||||
|
|
||||
|
@Configuration |
||||
|
@ConfigurationProperties(prefix = "spring.datasource") |
||||
|
public class HikariConfig { |
||||
|
private String url; |
||||
|
private String username; |
||||
|
private String password; |
||||
|
private String driverClassName; |
||||
|
|
||||
|
@Bean |
||||
|
public DataSource hikariDataSource(){ |
||||
|
HikariDataSource dataSource = new HikariDataSource(); |
||||
|
dataSource.setJdbcUrl(url); |
||||
|
dataSource.setUsername(username); |
||||
|
dataSource.setPassword(password); |
||||
|
dataSource.setDriverClassName(driverClassName); |
||||
|
return dataSource; |
||||
|
} |
||||
|
|
||||
|
public String getUrl() { |
||||
|
return url; |
||||
|
} |
||||
|
|
||||
|
public void setUrl(String url) { |
||||
|
this.url = url; |
||||
|
} |
||||
|
|
||||
|
public String getUsername() { |
||||
|
return username; |
||||
|
} |
||||
|
|
||||
|
public void setUsername(String username) { |
||||
|
this.username = username; |
||||
|
} |
||||
|
|
||||
|
public String getPassword() { |
||||
|
return password; |
||||
|
} |
||||
|
|
||||
|
public void setPassword(String password) { |
||||
|
this.password = password; |
||||
|
} |
||||
|
|
||||
|
public String getDriverClassName() { |
||||
|
return driverClassName; |
||||
|
} |
||||
|
|
||||
|
public void setDriverClassName(String driverClassName) { |
||||
|
this.driverClassName = driverClassName; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,19 @@ |
|||||
|
package com.xtmis.suu.constant; |
||||
|
|
||||
|
|
||||
|
import com.xtmis.suu.config.EnvConfig; |
||||
|
|
||||
|
/** |
||||
|
* 系统常量 |
||||
|
*/ |
||||
|
public class ChConstant { |
||||
|
//项目运行目录
|
||||
|
public static final String WORK_DIR = EnvConfig.yxDbConf(); |
||||
|
|
||||
|
//数据库链接文件路径
|
||||
|
public static final String DB_CONF = "/conf/db.properties"; |
||||
|
|
||||
|
//分页大小
|
||||
|
public static final int PAGESIZE = 12; |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,5 @@ |
|||||
|
log4j.rootLogger=DEBUG,A1 |
||||
|
log4j.logger.org.apache=DEBUG |
||||
|
log4j.appender.A1=org.apache.log4j.ConsoleAppender |
||||
|
log4j.appender.A1.layout=org.apache.log4j.PatternLayout |
||||
|
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n |
||||
@ -0,0 +1,188 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 --> |
||||
|
<!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true --> |
||||
|
<!-- scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 --> |
||||
|
<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --> |
||||
|
<configuration scan="true" scanPeriod="10 seconds"> |
||||
|
|
||||
|
<!--<include resource="org/springframework/boot/logging/logback/base.xml" />--> |
||||
|
|
||||
|
<contextName>logback</contextName> |
||||
|
<!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 --> |
||||
|
<!--<property name="logging.path" value="${logging.path}" />--> |
||||
|
<!--<springProfile name="logging.path" scope="context" source="project.log.path" defaultValue="./aislogs/"/>--> |
||||
|
<springProperty name="LOG_PATH" source="logging.path" defaultValue="/home/szwh/logs" /> |
||||
|
|
||||
|
|
||||
|
<!-- 彩色日志 --> |
||||
|
<!-- 彩色日志依赖的渲染类 --> |
||||
|
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> |
||||
|
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> |
||||
|
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> |
||||
|
<!-- 彩色日志格式 --> |
||||
|
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
||||
|
|
||||
|
|
||||
|
<!--输出到控制台--> |
||||
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
||||
|
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> |
||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
||||
|
<level>info</level> |
||||
|
</filter> |
||||
|
<encoder> |
||||
|
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern> |
||||
|
<!-- 设置字符集 --> |
||||
|
<charset>UTF-8</charset> |
||||
|
</encoder> |
||||
|
</appender> |
||||
|
|
||||
|
|
||||
|
<!--输出到文件--> |
||||
|
|
||||
|
<!-- 时间滚动输出 level为 DEBUG 日志 --> |
||||
|
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||
|
<file>${LOG_PATH}/log_debug.log</file> |
||||
|
<!--日志文件输出格式--> |
||||
|
<encoder> |
||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
||||
|
<charset>UTF-8</charset> <!-- 设置字符集 --> |
||||
|
</encoder> |
||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||
|
<!-- 日志归档 --> |
||||
|
<fileNamePattern>${LOG_PATH}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||
|
<maxFileSize>20MB</maxFileSize> |
||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||
|
<!--日志文件保留天数--> |
||||
|
<maxHistory>15</maxHistory> |
||||
|
</rollingPolicy> |
||||
|
<!-- 此日志文件只记录debug级别的 --> |
||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||
|
<level>debug</level> |
||||
|
<onMatch>ACCEPT</onMatch> |
||||
|
<onMismatch>DENY</onMismatch> |
||||
|
</filter> |
||||
|
</appender> |
||||
|
|
||||
|
<!-- 时间滚动输出 level为 INFO 日志 --> |
||||
|
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||
|
<file>${LOG_PATH}/log_info.log</file> |
||||
|
<!--日志文件输出格式--> |
||||
|
<encoder> |
||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
||||
|
<charset>UTF-8</charset> |
||||
|
</encoder> |
||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||
|
<!-- 每天日志归档路径以及格式 --> |
||||
|
<fileNamePattern>${LOG_PATH}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||
|
<maxFileSize>20MB</maxFileSize> |
||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||
|
<!--日志文件保留天数--> |
||||
|
<maxHistory>15</maxHistory> |
||||
|
</rollingPolicy> |
||||
|
<!-- 此日志文件只记录info级别的 --> |
||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||
|
<level>info</level> |
||||
|
<onMatch>ACCEPT</onMatch> |
||||
|
<onMismatch>DENY</onMismatch> |
||||
|
</filter> |
||||
|
</appender> |
||||
|
|
||||
|
<!-- 时间滚动输出 level为 WARN 日志 --> |
||||
|
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||
|
<file>${LOG_PATH}/log_warn.log</file> |
||||
|
<!--日志文件输出格式--> |
||||
|
<encoder> |
||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
||||
|
<charset>UTF-8</charset> <!-- 此处设置字符集 --> |
||||
|
</encoder> |
||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||
|
<fileNamePattern>${LOG_PATH}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||
|
<maxFileSize>20MB</maxFileSize> |
||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||
|
<!--日志文件保留天数--> |
||||
|
<maxHistory>15</maxHistory> |
||||
|
</rollingPolicy> |
||||
|
<!-- 此日志文件只记录warn级别的 --> |
||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||
|
<level>warn</level> |
||||
|
<onMatch>ACCEPT</onMatch> |
||||
|
<onMismatch>DENY</onMismatch> |
||||
|
</filter> |
||||
|
</appender> |
||||
|
|
||||
|
|
||||
|
<!-- 时间滚动输出 level为 ERROR 日志 --> |
||||
|
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
||||
|
<!-- 正在记录的日志文件的路径及文件名 --> |
||||
|
<file>${LOG_PATH}/log_error.log</file> |
||||
|
<!--日志文件输出格式--> |
||||
|
<encoder> |
||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> |
||||
|
<charset>UTF-8</charset> <!-- 此处设置字符集 --> |
||||
|
</encoder> |
||||
|
<!-- 日志记录器的滚动策略,按日期,按大小记录 --> |
||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
||||
|
<fileNamePattern>${LOG_PATH}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> |
||||
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> |
||||
|
<maxFileSize>10MB</maxFileSize> |
||||
|
</timeBasedFileNamingAndTriggeringPolicy> |
||||
|
<!--日志文件保留天数--> |
||||
|
<maxHistory>15</maxHistory> |
||||
|
</rollingPolicy> |
||||
|
<!-- 此日志文件只记录ERROR级别的 --> |
||||
|
<filter class="ch.qos.logback.classic.filter.LevelFilter"> |
||||
|
<level>ERROR</level> |
||||
|
<onMatch>ACCEPT</onMatch> |
||||
|
<onMismatch>DENY</onMismatch> |
||||
|
</filter> |
||||
|
</appender> |
||||
|
|
||||
|
<!-- |
||||
|
<logger>用来设置某一个包或者具体的某一个类的日志打印级别、 |
||||
|
以及指定<appender>。<logger>仅有一个name属性, |
||||
|
一个可选的level和一个可选的addtivity属性。 |
||||
|
name:用来指定受此logger约束的某一个包或者具体的某一个类。 |
||||
|
level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, |
||||
|
还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。 |
||||
|
如果未设置此属性,那么当前logger将会继承上级的级别。 |
||||
|
addtivity:是否向上级logger传递打印信息。默认是true。 |
||||
|
--> |
||||
|
<!--<logger name="org.springframework.web" level="info"/>--> |
||||
|
<!--<logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>--> |
||||
|
<!-- |
||||
|
使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作: |
||||
|
第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息 |
||||
|
第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别: |
||||
|
--> |
||||
|
|
||||
|
|
||||
|
<!-- |
||||
|
root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性 |
||||
|
level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, |
||||
|
不能设置为INHERITED或者同义词NULL。默认是DEBUG |
||||
|
可以包含零个或多个元素,标识这个appender将会添加到这个logger。 |
||||
|
--> |
||||
|
|
||||
|
<!--开发环境:打印控制台--> |
||||
|
<springProfile name="dev"> |
||||
|
<logger name="com.nmys.view" level="debug"/> |
||||
|
</springProfile> |
||||
|
|
||||
|
<root level="info"> |
||||
|
<appender-ref ref="CONSOLE" /> |
||||
|
<appender-ref ref="DEBUG_FILE" /> |
||||
|
<appender-ref ref="INFO_FILE" /> |
||||
|
<appender-ref ref="WARN_FILE" /> |
||||
|
<appender-ref ref="ERROR_FILE" /> |
||||
|
</root> |
||||
|
|
||||
|
</configuration> |
||||
@ -0,0 +1,14 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<!DOCTYPE configuration |
||||
|
PUBLIC "-//mybatis.org//DTD Config 3.0//EN" |
||||
|
"http://mybatis.org/dtd/mybatis-3-config.dtd"> |
||||
|
<configuration> |
||||
|
<settings> |
||||
|
<setting name="cacheEnabled" value="true" /> <!-- 全局映射器启用缓存 --> |
||||
|
<setting name="useGeneratedKeys" value="true" /> <!-- 允许 JDBC 支持自动生成主键 --> |
||||
|
<setting name="defaultExecutorType" value="REUSE" /> <!-- 配置默认的执行器 --> |
||||
|
<setting name="logImpl" value="Log4j" /> <!-- 指定 MyBatis 所用日志的具体实现 --> |
||||
|
<!-- <setting name="logImpl" value="STDOUT_LOGGING"/>--> |
||||
|
<setting name="mapUnderscoreToCamelCase" value="true"/> <!--驼峰式命名 --> |
||||
|
</settings> |
||||
|
</configuration> |
||||
Loading…
Reference in new issue