Logback使用例子

Logback是由log4j创始人Ceki Gülcü设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。——百度百科

经过查阅资料,这里分享一个简单的日志功能。

Maven项目架构:Spring3.2.4+Struts2.3.1.1+Myabtis3.2.2,最少引入jar包为

<dependency>
  		<groupId>org.slf4j</groupId>
  		<artifactId>slf4j-api</artifactId>
  		<version>1.7.5</version>
  	</dependency>
  	<dependency>
  		<groupId>ch.qos.logback</groupId>
  		<artifactId>logback-core</artifactId>
  		<version>1.0.13</version>
  	</dependency>
  	<dependency>
  		<groupId>ch.qos.logback</groupId>
  		<artifactId>logback-classic</artifactId>
  		<version>1.0.13</version>
  	</dependency>
  	<dependency>
  		<groupId>org.logback-extensions</groupId>
  		<artifactId>logback-ext-spring</artifactId>
  		<version>0.1.1</version>
  	</dependency>
logback.xml配置文件如下,仅配置了控制台和文件输出功能

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

<configuration>
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender"> 
        <encoder charset="UTF-8"> <!-- encoder 可以指定字符集,对于中文输出有意义 -->
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender> 

    <appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>TRACE</level>
        </filter>

        <!-- 可让每天产生一个日志文件,最多 10 个,自动回滚 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>F:/log/yngisht-%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>10</maxHistory>
        </rollingPolicy>

        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 输出到控制台和文件,可定义更多的 Appender -->
    <root level="DEBUG">
        <appender-ref ref="Console" />
        <appender-ref ref="RollingFile"/>
    </root>

    <!-- 下面配置一些第三方包的日志过滤级别,用于避免刷屏 -->
    <logger name="org.springframework" level="WARN"/>
    <logger name="com.opensymphony" level="WARN"/>
    <logger name="org.apache" level="WARN"/>
</configuration>
Logback官方提供了一个jar包,就是上面引入的logback-ext-spring-0.1.1.jar,用于与Spring的整合,据说要求Spring的版本高于3.1.1才能使用。它的配置跟spring结合log4j的配置差不多,同样是在web.xml中配置一个listener,同时配置一个上下文参数,用于指定logback.xml配置文件的路径,具体配置如下:

<context-param>
    <param-name>logbackConfigLocation</param-name>
    <param-value>WEB-INF/classes/logback.xml</param-value>
  </context-param>

  <listener>
    <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
  </listener>
在程序中还是和以前那样使用,如下所示:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

//据说不用static了
private final Logger log = LoggerFactory.getLogger(XXX.class);

log.debug("hello");
这里只列出了简单日志功能,需要复杂功能请自行探索。

本文参考资料如下:

logback logback.xml常用配置详解(二)

【飞天奔月出品】一步一步升级配置11: 使用logback+slf4j 替换log4j+slf4j

Slfj + Logback 时,基本的 logback.xml 配置

spring与logback结合

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值