logback基本用法

logger代码

使用slf4j-api提供的统一接口(来自logback官网http://logback.qos.ch/xref/chapters/introduction/HelloWorld1.html)

package chapters.introduction;

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

public class HelloWorld1 {

  public static void main(String[] args) {

    Logger logger = LoggerFactory.getLogger("chapters.introduction.HelloWorld1");
    logger.debug("Hello world.");

  }
}

logger配置:logback.xml

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

<configuration>
    <!-- 定义日志输出格式 -->
    <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}[%line] - %msg%n" />

    <!-- 输出到滚动文件 -->
    <appender name="ACCESS" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 文件名 -->
        <File>/tmp/log/api/access.log</File>
        <!-- 配置基于时间的滚动策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 滚动时间周期是从fileNamePattern推断出来的 -->
            <!-- 比如格式:{yyyy-MM-dd}表示按天滚动;{yyyy-MM-dd_HH}表示按小时滚动 -->
            <fileNamePattern>/tmp/log/api/access.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 保留历史日志数量 -->
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>/tmp/log/api/debug.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/tmp/log/api/debug.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <logger name="com.xqb.api.commons.GlobalExceptionHandler" level="DEBUG"/>

    <!-- 特定日志使用指定的appender -->
    <logger name="org.springframework.web.servlet.DispatcherServlet" additivity="false" level="DEBUG">
        <appender-ref ref="ACCESS"/>
    </logger>
    <logger name="org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor" additivity="false" level="DEBUG">
        <appender-ref ref="ACCESS"/>
    </logger>

    <logger name="org.springframework.jdbc.core" level="TRACE"/>
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE"/>
    <logger name="org.hibernate.SQL" level="DEBUG"/>

    <root level="INFO">
        <!-- 启用的appender列表 -->
        <!-- The ACCESS appender 不用加了,因为在定义DispatcherServlet logger时已经使用过 -->
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="DEBUG_FILE"/>
    </root>

</configuration>

依赖包

slf4j-api.jar

logback-core.jar

logback-classic.jar

maven配置:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j-version}</version>
</dependency>

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.2</version>
</dependency>
时间: 2024-10-11 04:46:23

logback基本用法的相关文章

Java语言进阶过程(转)

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

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

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

转:Java学习路线图

作者: nuanyangyang 标  题: Java学习路线图(整理中,欢迎纠正) 发信站: 北邮人论坛 (Mon Aug 11 19:28:16 2014), 站内   [以下肯定是不完整的列表,欢迎补充]   Java是一个通用的编程语言,其实可以干很多事,怎么学Java就看怎么用了.   但有一些一般的步骤:   1. 熟悉一种文本编辑器,比如Vim, Emacs, Notepad++, TextMate等.知道哪些是开源的,哪些是闭源的,哪些要收费.养成不用盗版软件的习惯. 2. 安装

Maven多模块、Dubbo分布式服务框架的SpringMVC项目的基础搭建

现互联网公司后端架构常用到Spring+SpringMVC+MyBatis,通过Maven来构建.通过学习,我已经掌握了基本的搭建过程,写下基础文章为而后的深入学习奠定基础. 首先说一下这篇文章的主要内容分为: 1.Maven多模块项目的创建: 2.Maven与SpringMVC的整合: 3.Dubbo的环境配置及与整合: 4.新手在整合过程易犯的错误. 通过一个简单的demo来说明,大家多多指教,分享经验! 一.Maven多模块项目的创建 我们需要建立一个多模块的maven项目,其目录结构为

万树IT:java的用处及学习方向

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

JAVA使用Logback发送日志到控制台、文件、ELK的最简单用法

一.简述 本文讲JAVA使用Logback发送日志到控制台.文件.ELK的最简单用法. 二.教程 1.新建pom.xml项目引入下列依赖: <dependencies> <!--Begin LogBack Log--> <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic --> <dependency> <groupId>ch.qos.logback<

logback使用总结

Logback Log4j的创始人Ceki Gülcü重写了Log4j的内部实现,改进后形成了Logback,相比Log4j速度更快,资源占用更少,也更稳定.(另外Log4j 2.0又是在Logback基础上进行了改进,但还未广泛使用) 官方网站:http://logback.qos.ch/ Logback包括3个部分: logback-core(基础核心模块) logback-classic(log4j改良版,完整实现SLF4J API接口,可方便的与其他日志系统切换) logback-acc

SLF4J和Logback日志框架详解

SLF4J和Logback日志框架详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本文讲述SLF4J和Logback日志框架.   SLF4J是一套简单的日志外观模式的Java API,帮助在项目部署时对接各种日志实现. LogBack在运行时使用JMX帮助修改日志配置,在生产状态下无需重启应用程序. SLF4J SLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback.Log4j.Commons-logging和JDK自带的l

[z]Java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)

一.    概念 Commons-logging:apache最早提供的日志的门面接口.避免和具体的日志方案直接耦合.类似于JDBC的api接口,具体的的JDBC driver实现由各数据库提供商实现.通过统一接口解耦,不过其内部也实现了一些简单日志方案. Log4j:经典的一种日志解决方案.内部把日志系统抽象封装成Logger.appender.pattern等实现.我们可以通过配置文件轻松的实现日志系统的管理和多样化配置. Slf4j: 全称为Simple Logging Facade fo