logback首页:http://logback.qos.ch/

slf4j首页:http://www.slf4j.org/

实例:

1、 结构图:

 

logback+slf4j日志实例

2、 Jar

logback-classic-0.9.28.jar

logback-core-0.9.28.jar

slf4j-api-1.6.1.jar

3、 TestLogback.java

package logback.test;

 

import ch.qos.logback.classic.LoggerContext;

import ch.qos.logback.classic.joran.JoranConfigurator;

import ch.qos.logback.core.joran.spi.JoranException;

import ch.qos.logback.core.util.StatusPrinter;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

public class LogbackTest {

      

       private static final Logger log = LoggerFactory.getLogger(LogbackTest.class);

 

      

       public static void main(String[] args) {

              // TODO Auto-generated method stub

               log.info("logback + slf4j starting up ...");

            LoggerContext lc = (LoggerContext)LoggerFactory.getILoggerFactory();

        

            try {

                 JoranConfigurator configurator = new JoranConfigurator();

                 configurator.setContext(lc);

                 lc.reset();

              configurator.doConfigure("conf/logback-log.xml");

            }

            catch (JoranException e) {

              log.error(e.getMessage());

            }

            //打印logback加载过程

            StatusPrinter.printInCaseOfErrorsOrWarnings(lc);

            log.info("flyfox server daemon run.");

            log.info("test info");

            try {

                     Thread.sleep(100);

              } catch (InterruptedException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

              }

            log.debug("test debug");

            log.error("test error");

       }

}

4、 logback-log.xml

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

<configuration>

 

    <!-- 控制台输出日志 -->

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

        <layout class="ch.qos.logback.classic.PatternLayout">

            <pattern>%d{yyyy-MM-dd HH:mm:ss}, %p, %c, %t, %r, %ex, %F, %L, %C{1}, %M : %m%n</pattern>

        </layout>

    </appender>

 

    <!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份)-->

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

        <File>log/logback.log</File>

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

            <FileNamePattern>log/sshd.log.%i.bak</FileNamePattern>

            <MinIndex>1</MinIndex>

            <MaxIndex>12</MaxIndex>

        </rollingPolicy>

 

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

            <MaxFileSize>5MB</MaxFileSize>

        </triggeringPolicy>

        <layout class="ch.qos.logback.classic.PatternLayout">

            <Pattern>%d{yyyy-MM-dd HH:mm:ss}, %p, %c, %t, %r, %ex, %F, %L, %C{1}, %M %m%n</Pattern>

        </layout>

    </appender>

 

    <appender name="FILE-ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">

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

            <level>ERROR</level>

            <OnMismatch>DENY</OnMismatch>

            <OnMatch>ACCEPT</OnMatch>

        </filter>

 

        <File>log/logback-err.log</File>

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

            <FileNamePattern>log/sshd-err.log.%i.bak</FileNamePattern>

            <MinIndex>1</MinIndex>

            <MaxIndex>3</MaxIndex>

        </rollingPolicy>

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

            <MaxFileSize>5MB</MaxFileSize>

        </triggeringPolicy>

        <layout class="ch.qos.logback.classic.PatternLayout">

            <Pattern>%d{yyyy-MM-dd HH:mm:ss}, %p, %c, %t, %r, %ex, %F, %L, %C{1}, %M %m%n</Pattern>

        </layout>

    </appender>

    <root level="ALL">

        <appender-ref ref="STDOUT"/>

        <appender-ref ref="FILE"/>

        <appender-ref ref="FILE-ERROR"/>

    </root>

</configuration>

5、 logback.log和logback-err.log

logback.log

2011-07-22 21:32:03, INFO, logback.test.LogbackTest, main, 328, , LogbackTest.java, 33, l.t.LogbackTest, main flyfox server daemon run.

2011-07-22 21:32:03, INFO, logback.test.LogbackTest, main, 328, , LogbackTest.java, 34, l.t.LogbackTest, main test info

2011-07-22 21:32:03, DEBUG, logback.test.LogbackTest, main, 438, , LogbackTest.java, 41, l.t.LogbackTest, main test debug

2011-07-22 21:32:03, ERROR, logback.test.LogbackTest, main, 438, , LogbackTest.java, 42, l.t.LogbackTest, main test error

logback-err.log

2011-07-22 21:32:03, ERROR, logback.test.LogbackTest, main, 438, , LogbackTest.java, 42, l.t.LogbackTest, main test error

6、 控制台输出

21:32:03.562 [main] INFO  logback.test.LogbackTest - logback + slf4j starting up ...

21:32:03,468 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]

21:32:03,468 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]

21:32:03,468 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]

21:32:03,468 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.

21:32:03,671 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set

21:32:03,687 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]

………………………………………………………………

………………………………………………………………

………………………………………………………………

21:32:03,765 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]

21:32:03,765 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE-ERROR] to Logger[ROOT]

 

2011-07-22 21:32:03, INFO, logback.test.LogbackTest, main, 328, , LogbackTest.java, 33, l.t.LogbackTest, main : flyfox server daemon run.

2011-07-22 21:32:03, INFO, logback.test.LogbackTest, main, 328, , LogbackTest.java, 34, l.t.LogbackTest, main : test info

2011-07-22 21:32:03, DEBUG, logback.test.LogbackTest, main, 438, , LogbackTest.java, 41, l.t.LogbackTest, main : test debug

2011-07-22 21:32:03, ERROR, logback.test.LogbackTest, main, 438, , LogbackTest.java, 42, l.t.LogbackTest, main : test error

没有登录不能评论