springboot中logback的使用。
作者:互联网
新建一个工程,里面有mybatis,mysql,lombok,这个项目能连接数据库并提取其中数据。
建好之后,新建一个logback-spring.xml。
<?xml version="1.0" encoding="UTF-8"?> <!--日志级别从低到高分为TRACE<DEBUG<INFO<WARN<ERROR<FATAL,如果设置为WARN,则低于WARN的信息都不会输出--> <!--scan:当此属性设置为true时,配置文件如果发生改变,将会被 重新加载,默认值为true--> <!--scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。 当sacn为true时,此属性生效,默认的时间间隔是1分钟。--> <!--debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态,默认值为false。通常不打印--> <!--<configuration debug="true" scanPeriod="10 seconds" scan="true">--> <configuration scanPeriod="10 seconds" scan="true"> <!-- append标签相关配置是用于项目部署发布到云服务器上时的参数--> <!--云服务器上日志文件的保存路径,首先查找系统属性-Dlog.dir,如果存在就使用其;否则,在当前目录下创建名为applogs目录做日志存放的目录 --> <property name="home" value="/data/ic_resource_cloud/logs"/> <!--<!– 日志输出格式 –>--> <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss} %p [Class:%C{1}->Thread:%t] %m %n"/> <!-- 控制台日志:输出全部日志到控制台 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>debug</level> </filter> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <Pattern>%date [%-5p] [%thread] %logger{60} [%file:%line] %msg%n</Pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- 文件日志:输出全部日志到文件 --> <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>g:/log/stdout.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>g:/log/all.%d{yyyyMMdd}.log</fileNamePattern> <maxHistory>7</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>${pattern}</pattern> </encoder> </appender> <!-- 错误日志:用于将错误日志输出到独立文件 --> <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${home}/error.%d{yyyyMMdd}.log</fileNamePattern> <maxHistory>20</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%date [%-5p] [%thread] %logger{60} [%file:%line] %msg%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> </appender> <root> <level value="INFO"/> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE_ALL"/> <!--<appender-ref ref="FILE_ERROR"/>--> </root> <!-- 可以指定多个,指定包下的日志输出级别。例如com.example属于项目包的输出日志级别 --> <logger name="com.example.dao" level="DEBUG"/> <!--<logger name="org.apache.http.wire" level="INFO"/>--> </configuration>
然后在需要输出log的类里直接添加就可以了!
package com.example.control; import com.example.service.MyService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Slf4j @Controller public class MyController { @Autowired MyService myService; @RequestMapping("/hehe") public @ResponseBody Object hehe() { log.info("aaaaa,查询所有对象"); return myService.getAllinfo(); } @RequestMapping("/count") public @ResponseBody Object count() { log.info("aaaaa,查询对象数量"); return myService.getcount(); } @RequestMapping("/show/{id}") public @ResponseBody Object show(@PathVariable("id")Integer id){ return myService.getUserinfo(id); } }
这里没有完整的,是因为前面其它文章里有如何快速创建一个mybatis+mysql+springboot的最简单案例!
标签:log,org,springframework,myService,使用,import,logback,public,springboot 来源: https://www.cnblogs.com/gangliao81/p/16349285.html