java日志之slf4j与logback简单使用

最近在开发遇到日志是使用slf4j与logback.xml的配置,所以就记录下来了。

1、导入这几个jar包:

Logback 分为三个模块:logback-core,logback-classic,logback-access

logback-core 是核心;

logback-classic 改善了 log4j,且自身实现了 SLF4J API,所以即使用 Logback 你仍然可以使用其他的日志实现,如原始的 Log4J,java.util.logging 等;

logback-access 让你方便的访问日志信息,如通过 http 的方式。

slf4j-api.jar

在工程src目录(也就是classpath路径下)下建立logback.xml

1.logback首先会试着查找logback.groovy文件;

2.当没有找到时,继续试着查找logback-test.xml文件;

3.当没有找到时,继续试着查找logback.xml文件;

4.如果仍然没有找到,则使用默认配置(打印到控制台)。

 2、logback.xml配置文件

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

<!-- For assistance related to logback-translator or configuration -->
<!-- files in general, please contact the logback user mailing list -->
<!-- at http://www.qos.ch/mailman/listinfo/logback-user -->
<!-- -->
<!-- For professional support please see -->
<!-- http://www.qos.ch/shop/products/professionalSupport -->
<!-- -->
<configuration scan="true" scanPeriod="30 seconds">

    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%p] [%d] [%t] [%c{1}:%L] - [%m]%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>

    <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>../log/%d{yyyy-MM-dd/HH}/error.log.%i</FileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>20MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>[%-5level] [%d] [%thread] [%logger{0}:%L] - [%m]%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>

    <root level="INFO">
        <appender-ref ref="stdout" />
        <appender-ref ref="MAIN" />
        <appender-ref ref="ERROR" />
    </root>
  
    <appender name="CollectorDemoApp" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>../log/%d{yyyy-MM-dd/HH}/CollectorDemoApp.log.%i</FileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>20MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>[%-5level] [%d] [%thread] [%logger{0}:%L] - [%m]%n</pattern>
        </encoder>
    </appender>
    <logger name="cn.com.CollectorDemoApp" level="info" >
        <appender-ref ref="CollectorDemoApp" />
    </logger>
</configuration>

3、java类中使用

private static final Logger logger = LoggerFactory.getLogger(CollectorDemoApp.class);

时间: 2024-10-22 23:41:19

java日志之slf4j与logback简单使用的相关文章

Java日志:集成slf4j和logback

Java日志方案有很多,包括:java.util.logging.Apache的commons-logging和log4j.slf4j以及logback. 一个大型项目会用到众多第三方jar包,这些jar包可能会用到上述各种日志方案,如何在新的项目中使用slf4j+logback的组合,让所有其他jar包的日志也输出到logback,并避免冲突和异常? SLF4J is a simple facade for logging systems allowing the end-user to pl

Java日志框架SLF4J和log4j以及logback的联系和区别

1.SLF4J(Simple logging Facade for Java) 意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,并不是一个具体的可以直接单独使用的日志框架,所以最终日志的格式.记录级别.输出方式等都要通过接口绑定的具体的日志系统来实现,这些具体的日志系统就有log4j,logback,java.util.logging等,它们才实现了具体的日志系统的功能. 如何使用SL

Java日志体系 —— slf4j

1.1 简介 与commons-logging相同,slf4j也是一个通用的日志接口,在程序中与其他日志框架结合使用,并对外提供服务. Simple Logging Facade for Java简称 slf4j,Java简单日志门面系统.在我们的代码中,不需要显式指定具体日志框架(例如:java.util.logging.logback.log4j),而是使用slf4j的API来记录日志便可,最终日志的格式.记录级别.输出方式等通过具体日志框架的配置来实现,因此可以在应用中灵活切换日志系统.

Java日志信息存库(logback篇)

一.Logback简介 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access.logback-core是其它两个模块的基础模块.logback-classic是log4j的一个 改良版本.此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging.logback-access访问模块与Servl

日志之slf4j和logback日志系统(二)

这篇文章我们讲一下,如何使用slf4j和logback组合来搭建一套日志系统. 介绍 如果我们的系统十个新系统,也就是之前没有引入其他的日志工具,那么只需要引入 依赖引入 logback配置文件 业务中使用 学习链接 slf4j源码剖析 原文地址:https://www.cnblogs.com/htyj/p/12023541.html

java日志框架slf4j与log4j的使用与配置

日志记录自然是非常重要的,但恐怕能记住slf4j与log4j等日志框架配置的人就很少了,这个东西不难,只是配置好后很少会去动它,开发新项目一般也是从其他项目拷贝,或者参照文档 废话不多说,先说log4j,使用log4j只要简单的几步 首先,弄到log4j的jar包,maven工程配置以下依赖就行,或者,从阿里的maven仓库下载jar包,添加到工程的"build path" <dependency> <groupId>log4j</groupId>

Java日志使用slf4j 配置log4j后,有日志文件 但日志文件内容为空

SLF4J的全称是Simple Logging Facade for Java,即简单日志门面. SLF4J并不是具体的日志框架,而是作为一个简单门面服务于各类日志框架,如java.util.logging, logback和log4j. SLF4J支持{}作为占位符,等价于C语言中的%s,而不必再进行字符串的拼接,效率有显著的提. 1.slf4j使用 引入包 slf4j-api-1.6.2.jar import org.slf4j.Logger; import org.slf4j.Logger

java日志系统 @Slf4j注解的正确使用

在maven项目的pom.xml中添加依赖: <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <arti

java 日志框架

log4j 的API 调用,改为 slf4j-simple 实现. slf4j-simple 是 slf 的简单实现.log4j-over-slf4j-1.7.5.jarslf4j-api-1.7.5.jarslf4j-simple-1.7.5.jar slf4j 的API 调用,使用 log4j 实现.为什么是 log4j12, 12 ?log4j-1.2.16.jarslf4j-log4j12-1.7.5.jarslf4j-api-1.7.5.jar log4j 的API 调用,改为 jdk