• slf4j与logback的结合使用


    参考:http://my.oschina.net/ydsakyclguozi/blog/412240

    一、logback的介绍

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

        logback的官方网站: http://logback.qos.ch

        SLF4J的官方网站:http://www.slf4j.org

    二、组件

    Logback 分为三个模块:logback-core,logback-classic,logback-access。其中logback-core 是核心;logback-classic 改善了 log4j,且自身实现了 SLF4J API,所以即使用 Logback 你仍然可以使用其他的日志实现,如原始的 Log4J,java.util.logging 等;logback-access 让你方便的访问日志信息,如通过 http 的方式。

    三、引用配置

    1、 pom.xml文件:

    <dependency> 
        <groupId>org.slf4j</groupId> 
        <artifactId>slf4j-api</artifactId> 
        <version>1.7.12</version> 
    </dependency> 
    <dependency> 
        <groupId>org.slf4j</groupId> 
        <artifactId>jcl-over-slf4j</artifactId> 
        <version>1.7.12</version> 
    </dependency> 
    <dependency> 
        <groupId>ch.qos.logback</groupId> 
        <artifactId>logback-core</artifactId> 
        <version>1.1.3</version> 
    </dependency> 
    <dependency> 
        <groupId>ch.qos.logback</groupId> 
        <artifactId>logback-classic</artifactId> 
        <version>1.1.3</version> 
    </dependency>

    2、logback.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <configuration>
        <jmxConfigurator />
        <!-- 控制台输出日志 -->
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
                    %msg%n</pattern>
            </layout>
        </appender>
        <!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份) -->
        <appender name="FILE"
            class="ch.qos.logback.core.rolling.RollingFileAppender">
            <File>xxxx.log</File>
            <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                <FileNamePattern>xxxx.log.%i.bak</FileNamePattern>
                <MinIndex>1</MinIndex>
                <MaxIndex>12</MaxIndex>
            </rollingPolicy>
            <triggeringPolicy
                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <MaxFileSize>100MB</MaxFileSize>
            </triggeringPolicy>
            <layout class="ch.qos.logback.classic.PatternLayout">
                <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
                    %msg%n</Pattern>
            </layout>
        </appender>
        <!--这里指定logger name 是为jmx设置日志级别做铺垫 -->
        <logger name="com.xxx.xxx">
            <level value="INFO" />
            <appender-ref ref="STDOUT" />
            <appender-ref ref="FILE" />
        </logger>
    </configuration>

    四、示例代码

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory; 
    class Bar { 
        Logger logger = LoggerFactory.getLogger(Bar.class); 
        public void doIt() {
            logger.debug("doing my job");
        }
    }

  • 相关阅读:
    java字符串常用操作(查找、截取、分割)
    java StringBuffer的length()和capacity()方法比较
    java四种权限修饰符
    HDU-Tick and Tick
    HDU
    Piggy-Bank (完全背包)
    HDU
    1008 Elevator (20 分)(模拟)
    最少拦截系统 (动态规划)
    外星人的语言(进制转换)
  • 原文地址:https://www.cnblogs.com/yuananyun/p/5193982.html
Copyright © 2020-2023  润新知