slf4j+logback日志实例

http://blog.sina.com.cn/s/blog_3fc7e2810100vio9.html

实例:
1、 结构图:
[img]http://s6.sinaimg.cn/middle/3fc7e281ga9f43f593b25&690[/img]

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
21:32:03,765 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE-ERROR] to Logger

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值