logback 学习

偶然间使用spring tool suit看到这个日志框架;就去看了下与log4j的区别,发现比前者强大不少,抽空学习了下相关配置;

<!-- Logging with SLF4J & LogBack -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${slf4j.version}</version>
			<scope>compile</scope>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>${logback.version}</version>
			<scope>runtime</scope>
		</dependency>

以上是maven配置的引用;

同时还要在项目的src/main/resource下配置一个logback.cml的默认识别文件;内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!-- configuration file for LogBack (slf4J implementation)
See here for more details: http://gordondickens.com/wordpress/2013/03/27/sawing-through-the-java-loggers/ -->
<configuration scan="true" scanPeriod="30 seconds">

	<!-- 配置当前项目路径 -->
	<property name="contextPath" value="logs"/>
	<property name="logPath" value="${contextPath}"/>

    <!--Appendar详解: http://logback.qos.ch/manual/appenders.html#RollingFileAppender -->
    <!-- 日志输出文件配置 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 当前Log文件名 -->
        <file>${logPath}/monitor.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 非当天的Log文件压缩备份为 archive/ldap-pwd.2014-08-10.zip -->
            <fileNamePattern>${logPath}/monitor.log.%d{yyyy-MM-dd}</fileNamePattern>
            <!-- 超过30天的备份文件会被删除 -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>

        <layout class="ch.qos.logback.classic.PatternLayout">
            <!-- 格式说明:http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout -->
            <Pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %40logger{40} - %msg%n</Pattern>
        </layout>
    </appender>

	<!-- 日志控制台输出配置 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %logger{36} - %msg%n</pattern>
        </encoder>
        <!-- 过滤输出日志信息 通过修改level来查看输出日志情况-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        	<level>debug</level>
        </filter>
    </appender>

	<!-- 下面配置一些第三方包的日志过滤级别,用于避免刷屏 -->
    <logger name="org.hibernate" level="WARN" />
    <logger name="org.springframework" level="WARN" />
    <logger name="com.opensymphony" level="WARN" />
    <logger name="org.apache" level="WARN" />  

    <!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
    <logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" />
    <logger name="org.hibernate.SQL" level="DEBUG" />
    <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
    <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> 

   <!-- Uncomment and add your logger here: <logger name="org.springframework.samples.service.service" level="debug"/> -->

    <!-- 配置日志总体输出级别 -->
    <root level="trace">
    	<appender-ref ref="FILE" />
        <appender-ref ref="console"/>
    </root>

</configuration>

相关测试代码很简单:

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

public class LogBackTest {

	public static void main(String[] args){
		Logger debugLogger = LoggerFactory.getLogger(LogBackTest.class);

		debugLogger.trace("log trace");
		debugLogger.debug("log debuger");
		debugLogger.info("log info");
		debugLogger.warn("log warn");
		debugLogger.error("log error");

	}

}

通过修改配置文件logback.xml的参数level来查看不同情况下的运行状况;

学习网站:

http://blog.csdn.net/haidage/article/details/6794509

http://forever8tf.iteye.com/blog/1295855

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 14:29:32

logback 学习的相关文章

Logback 学习笔记

来源:http://webinglin.github.io/2015/06/04/Logback-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/ Logback背景 Logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的. logback由三个部分组成,logback-core, logback-classic, logback-access.其中logback-core是其他两个模块的基础. slf4j 定义日志接口及基本实现,而具体的实现

logback学习资料

具体教程参考:http://www.blogjava.net/justfly/archive/2014/08/10/416768.html http://www.blogjava.net/justfly/archive/2014/08/13/416925.html http://www.blogjava.net/justfly/archive/2014/09/17/418034.html 出现问题: SLF4J: Failed to load class "org.slf4j.impl.Stat

Log4j,Log4j2,logback,slf4j日志学习

日志学习笔记 Log4j Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.数据库等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程. Log4j有7种不同的log级别,按照等级从低到高依次为:TRACE.DEBUG.INFO.WARN.ERROR.FATAL.OFF.如果配置为OFF级别,表示关闭log. Log4j支持两种格式的配置文件:properties和xml.包含三

logback + slf4j 学习

1:在web.xml文件配置Listener <context-param> <param-name>logbackConfigLocation</param-name> <param-value>classpath:logback.xml</param-value> <!-- classpath是指 WEB-INF文件夹下的classes目录 --> </context-param> <listener> &

学习logback配置的验证学到了哪些东西?

1.logback是什么? Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch. logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能 2.它产生的日志放在哪里? 这个日志

2016最新Java学习计划

一.Java学习路线图 二.Java学习路线图--视频篇 六大阶段 学完后目标 知识点 配套免费资源(视频+笔 记+源码+模板) 密码        第一阶段 Java基础 入门 学习周期: 35天 学完后目标: 1.可进行小型应用程序开发 2.对数据库进行基本的增删改查管理 市场价值:¥5000 计算机基础知识 计算机基础.DOS常用命令.Java概述.JDK环境安装配置.环境变量配置.Java程序入门 1.2015年Java基础视频-深入浅出精华版(强烈推荐) 2.历经5年锤炼(适合初学者入

Spring Boot学习——Spring Boot简介

最近工作中需要使用到Spring Boot,但是以前工作中没有用到过Spring Boot,所以需要学习下Spring Boot.本系列笔记是笔者学习Spring Boot的笔记,有错误和不足之处,请不吝指教. 话不多说,直接进入主题. Spring Boot是为了简化Spring应用的创建.运行.调试.部署等而出现,使用它可以做到专注于Spring应用的开发,而无需过多关注xml的配置.简单的说,Spring Boot提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题--习惯大于约定. Sp

&lt;Java&gt;&lt;学习路线图&gt;

Java是一个通用的编程语言,其实可以干很多事,怎么学Java就看怎么用了. 但有一些一般的步骤: 1.熟悉一种文本编辑器,比如Vim, Emacs, Notepad++, TextMate等.知道哪些是开源的,哪些是闭源的,哪些要收费.养成不用盗版软件的习惯.2. 安装JDK(建议用你的Linux发行版自带的软件包管理器安装openjdk,过程中可能需要读发行版特定的文档)3. 写一个Java的Hello world程序,并用命令行工具javac编译,再用java命令运行这个程序.过程中熟悉源

Logback.xml 给变量指定默认值

随着通用日志组件转入 Slf4j,logback 也变成了默认的日志实现,像 log4j 一样,logback.xml 中也可以使用系统属性或环境变量,如 ${catalina.home}.在 log4j.properties 中,如果变量在系统属性和环境变量中找不到的话默认为 "" 空字符串,而到了 logback.xml 中如果某个变量找不到默认就是 "变量名_IS_UNDEFINED" 了,这样就比较奇怪了. 那如何在没有配置 catalina.home 系统