ssm 到spring boot 校园商铺 day4 配置logback

Logback 配置

 

Resources 下配置logback.xml

 

Logback.xml内容如下:

<?xml version="1.0" encoding="utf-8"?>

<configuration scan="true" scanPeriod="60 seconds" debug="false">

    <!--定义参数常量 -->

    <!--TRACE<DEBUG<INFO<WARN<ERROR -->

    <!--logger.trace("msg") logger.debug... -->

    <property name="log.level" value="debug" />

    <property name="log.maxHistory" value="30" />

    <property name="log.filePath" value="${catalina.base}/logs/webapps" />

    <property name="log.pattern"

        value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" />

    <!--控制台设置 -->

    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">

        <encoder>

            <pattern>${log.pattern}</pattern>

        </encoder>

    </appender>

    <!--DEBUG -->

    <appender name="debugAppender"

        class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!--文件路径 -->

        <file>${log.filePath}/debug.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <!--文件名称 -->

            <fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz

            </fileNamePattern>

            <!--文件最大保存历史数量 -->

            <maxHistory>${log.maxHistory}</maxHistory>

        </rollingPolicy>

        <encoder>

            <pattern>${log.pattern}</pattern>

        </encoder>

        <filter class="ch.qos.logback.classic.filter.LevelFilter">

            <level>DEBUG</level>

            <onMatch>ACCEPT</onMatch>

            <onMismatch>DENY</onMismatch>

        </filter>

    </appender>

 

    <!--INFO -->

    <appender name="infoAppender"

        class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!--文件路径 -->

        <file>${log.filePath}/info.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <!--文件名称 -->

            <fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz

            </fileNamePattern>

            <!--文件最大保存历史数量 -->

            <maxHistory>${log.maxHistory}</maxHistory>

        </rollingPolicy>

        <encoder>

            <pattern>${log.pattern}</pattern>

        </encoder>

        <filter class="ch.qos.logback.classic.filter.LevelFilter">

            <level>INFO</level>

            <onMatch>ACCEPT</onMatch>

            <onMismatch>DENY</onMismatch>

        </filter>

    </appender>

 

    <!--ERROR -->

    <appender name="errorAppender"

        class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!--文件路径 -->

        <file>${log.filePath}/error.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <!--文件名称 -->

            <fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz

            </fileNamePattern>

            <!--文件最大保存历史数量 -->

            <maxHistory>${log.maxHistory}</maxHistory>

        </rollingPolicy>

        <encoder>

            <pattern>${log.pattern}</pattern>

        </encoder>

        <filter class="ch.qos.logback.classic.filter.LevelFilter">

            <level>ERROR</level>

            <onMatch>ACCEPT</onMatch>

            <onMismatch>DENY</onMismatch>

        </filter>

    </appender>

 

    <logger name="com.imooc.o2o" level="${log.level}" additivity="true">

        <appender-ref ref="debugAppender" />

        <appender-ref ref="infoAppender" />

        <appender-ref ref="errorAppender" />

    </logger>

 

    <root level="info">

        <appender-ref ref="consoleAppender" />

    </root>

 

</configuration> 

 

 

 

logger测试:

@Controller

@RequestMapping("/superadmin")

public class AreaController {

       Logger logger = LoggerFactory.getLogger(AreaController.class);

       @Autowired

       private AreaService areaService;

      

       @RequestMapping(value = "/listarea" ,method = RequestMethod.GET)

       @ResponseBody

       public Map<String,Object> listArea(){

              logger.info("===start===");

        long startTime = System.currentTimeMillis();

              Map<String,Object> map = new HashMap<String,Object>();

              List<Area> listArea = areaService.listArea();

              map.put("list", listArea);

              map.put("size", listArea.size());

        logger.error("test error!");

        long endTime = System.currentTimeMillis();

        logger.debug("costTime:[{}ms]",endTime-startTime);

        logger.info("===end===");

              return map;

       }

 

 

注意:logger导入的包为:

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

 

浏览器端访问地址:

http://localhost:8080/o2o/superadmin/listarea

 

控制台输出为:

2018-11-12 22:28:39.598 [http-nio-8080-exec-7] INFO  com.gongzhuyou.web.superadmin.AreaController - ===start===

十一月 12, 2018 10:28:39 下午 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager

信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 2, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 10000, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1hge15x9z2b5dri1hbabec|4350c5f9, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge15x9z2b5dri1hbabec|4350c5f9, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://localhost:3306/o2o?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 30, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 10, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

2018-11-12 22:28:40.046 [http-nio-8080-exec-7] ERROR com.gongzhuyou.web.superadmin.AreaController - test error!

2018-11-12 22:28:40.047 [http-nio-8080-exec-7] INFO  com.gongzhuyou.web.superadmin.AreaController - ===end===

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值