slf4j+logback将日志输出到控制台

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gsycwh/article/details/52972946

slf4j+logback将日志输出到控制台


SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。就是说,slf4j可以与许多日志集成,其中包括log4j和logback具有更好的性能、更少的内存使用、自动重加载配置文件以及过滤功能等,接下来以slf4j+logback讲述其使用步骤。


步骤一:在pom.xml中添加依赖(如果没使用maven,可以自动下载相应的包,手动添加)

  <properties>
    <logback.version>1.1.7</logback.version>
  </properties>
  <dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.21</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
    </dependency>

步骤二:在src/main/resources下添加logback.xml配置文件,系统会自动识别。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

其中的配置文件可以参照相关网站:
http://logback.qos.ch/manual/configuration.html


步骤三:编写测试类

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:spring/spring-dao.xml",
                       "classpath:spring/spring-service.xml"})
public class SeckillServiceTest {
    private final Logger logger=LoggerFactory.getLogger(this.getClass());
    @Autowired
    private SeckillService seckillService;

    @Test
    public void testGetSeckillList() {
        List<Seckill> list=seckillService.getSeckillList();
        logger.info("list={}", list);
    }
}

测试后输出结果为:

16:43:36.830 [main] INFO  o.seckill.service.SeckillServiceTest - list=[
商品信息:1002 1000元秒杀iphone6 Sun Oct 30 15:56:16 CST 2016 null Sun Oct 23 14:46:47 CST 2016, 
商品信息:1003 500元秒杀ipad2 Fri Oct 21 00:00:00 CST 2016 null Sun Oct 23 14:46:47 CST 2016, 
商品信息:1004 300元秒杀小米2 Fri Oct 21 00:00:00 CST 2016 null Sun Oct 23 14:46:47 CST 2016, 
商品信息:1005 200元秒杀红米note Fri Oct 21 00:00:00 CST 2016 null Sun Oct 23 14:46:47 CST 2016
]


发表人:梦想的边缘

展开阅读全文

没有更多推荐了,返回首页