logback+slf4j日志使用简单入门例子

logback+slf4j日志使用简单入门例子

   现而今,很多项目的日志使用logback+slf4j,从而替换了log4j日志的使用。。。。

   使用所需的相关jar包:slf4j-api-1.6.0.jar,logback-core-1.0.6.jar,logback-classic-1.0.6.jar.

 在程序中启用logback步骤:

    1:配置logback环境,也即加载以上三个jar包(注意jar包版本的话需要匹配,否则会报jar包版本不匹配问题)----此时注意要是想打印日志到每个文件夹目录下面,需要配置logback.xml配置文件(其位置应该位于classpath下面)。

     2:在每个需要之行记录的类里面,调用org.slf4j.LoggerFactory.getLogger()方法得到Logger对象.

     3:调用Logger对象实例的打印方法,也即debug(),info(),warn(),error(),把记录输出到配置里面的各个appender(注意,此时打印日志的级别由logback.xml配置文件中

<root level="DEBUG"><appender-ref ref="file" /></root>配置的level等级来决定)


  logback.xml配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">//scanPeriod 配置档配置文件改动时候自动更新时间
	<appender name="file"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>/logs/logback.log</file>//指定日志输出到硬盘的目录
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>logs/xxx.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
		</rollingPolicy>
		<layout class="ch.qos.logback.classic.PatternLayout">
                     <span style="font-family:SimSun;">//打印日志输出的格式</span>
<span style="font-family:SimSun;">                     </span><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{80} -%msg%n</pattern>
		</layout>
	</appender>
        //设置Logger打印的等级  <span style="color:#FF6666;"><!-- 若是需要打印mybatis的sql语句,slf4j内部以实现只需要把level等级设为debug即可 --></span>
	<root level="DEBUG">
		<appender-ref ref="file" /><span style="font-family:SimSun;">//与上面配置的appender name对应</span>
	</root>
</configuration>
Logback.java 类如下

package com.clark.logback;

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

public class Logback {
	
	private static Logger logger = LoggerFactory.getLogger(Logback.class);
	
	public static void main(String[] args) {
		logger.info("-------start use logback--------");
		
		System.out.println("=====start======");
		
		System.out.println("=====end======");

<span style="font-family:SimSun;">               </span> logger.info("-------end use logback--------");
	}
}
之行main函数之后console台输出:

18:58:45,265 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
18:58:45,265 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
18:58:45,265 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/E:/Eclipse_Kepler_J2EE_Workspace/Logback/build/classes/logback.xml]
18:58:45,421 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
18:58:45,421 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeFilter scanning period to 30 seconds
18:58:45,421 |-INFO in ReconfigureOnChangeFilter{invocationCounter=0} - Will scan for changes in [[E:\Eclipse_Kepler_J2EE_Workspace\Logback\build\classes\logback.xml]] every 30 seconds. 
18:58:45,421 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Adding ReconfigureOnChangeFilter as a turbo filter
18:58:45,453 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
18:58:45,453 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [file]
18:58:45,578 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy - Will use zip compression
18:58:45,578 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy - Will use the pattern logs/xxx.%d{yyyy-MM-dd}.log for the active file
18:58:45,593 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'logs/xxx.%d{yyyy-MM-dd}.log.zip'.
18:58:45,593 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
18:58:45,593 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Sun Sep 14 18:58:45 CST 2014
18:58:45,640 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[file] - This appender no longer admits a layout as a sub-component, set an encoder instead.
18:58:45,640 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[file] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
18:58:45,640 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[file] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
18:58:45,640 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[file] - Active log file name: /logs/logback.log
18:58:45,640 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[file] - File property is set to [/logs/logback.log]
18:58:45,640 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
18:58:45,640 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [file] to Logger[ROOT]
18:58:45,656 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
18:58:45,656 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@22ed4b - Registering current configuration as safe fallback point

=====start======
=====end======
查看输出到本地的日志文件如下:

2014-09-14 18:58:45.671 [main] INFO  com.clark.logback.Logback --------start use logback--------
2014-09-14 18:58:45.671 [main] INFO  com.clark.logback.Logback --------end use logback--------

注意:

当我们项目中没有logback.xml配置打印日志文件的时候,会自动寻找配置文件logback.groovy,logback-test.xml(开发环境),logback.xml(生产环境).若是以上三个文件都找不到的话,会将相应的日志打印到console控制台.



参考博客:http://aub.iteye.com/blog/1103685   

                        http://aub.iteye.com/blog/1101260

                          http://aub.iteye.com/blog/1110008

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值