Summary
1) Logback is not an independent implementation of Logging.
It depends on SLF4J.
1. Logback configuration work flow
2. A simple example of using Logback
1) pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>edu.xmu.logging</groupId> <artifactId>Logging-JDKLogging</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>Logging-JDKLogging</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope> </dependency> <!-- Dependency for Logback --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.0.13</version> </dependency> </dependencies> </project>
This will import logback-classic.jar, logback-core.jar and slf4j-api.jar automatically.
2) logback.xml in classpath <Pay attention to filter tag as it's not the same with JUL/Log4j>
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <file>myApp.log</file> <encoder> <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n </pattern> </encoder> <append>false</append> </appender> <root level="DEBUG"> <appender-ref ref="FILE" /> <appender-ref ref="STDOUT" /> </root> </configuration>
3) Test case
package edu.xmu.logging.Logging_JDKLogging; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class AppTest { private static Logger logger = LoggerFactory.getLogger(AppTest.class); @Test public void loggerTest() { logger.trace("[TRACE] Trace Logging"); logger.debug("[DEBUG] Debug Logging"); logger.info("[INFO]Info Logging"); logger.warn("[WARN]Warn Logging"); logger.error("[ERROR]Error Logging"); } }
3. We can config Logger & Appender & Encoder in config file or in program.
But it's recommonded we config in config file as config in program will cause the code to dependent on the relization(Logback/Log4j/JUL).
Reference Links:
1) http://logback.qos.ch/manual/ Logback user manual.
相关推荐
logback-slf4j是Java领域中一种常用的日志记录解决方案,它通过结合slf4j(Simple Logging Facade for Java)来提供了异步日志输出的功能,能够将日志输出到不同的文件中。下面是logback-slf4j日志配置文件的详细...
2. **logback-classic-1.2.3.jar**: 这是Logback的扩展模块,它实现了Simple Logging Facade for Java (SLF4J) API,使得开发者可以方便地切换不同的日志实现。SLF4J提供了一层抽象,允许你在不修改代码的情况下,用...
1. **logback-classic**:它是对 SLF4J(Simple Logging Facade for Java)的具体实现,SLF4J 是一个用于各种日志框架的抽象层,如 Log4j、java.util.logging 等。logback-classic 包含了日志记录的核心功能,以及与...
7. **日志门面**:除了Java Logging API,Java社区还发展了SLF4J(Simple Logging Facade for Java)和Logback这样的日志门面和实现,它们提供更高级别的抽象,可以透明地切换底层日志框架,如Java Logging、Log4j等...
`logback-core.jar` 提供基础的日志处理功能,而 `logback-classic.jar` 建立在 `logback-core.jar` 之上,实现了 SLF4J(Simple Logging Facade for Java)接口,允许你轻松切换不同的日志实现。 学习 Logback ...
`Logger`是Java标准库`java.util.logging`包提供的日志工具,它提供了多种级别的日志记录,如`SEVERE`、`WARNING`、`INFO`、`CONFIG`、`FINE`、`FINER`和`FINEST`。本篇文章将深入探讨Java中的`Logger`封装,以及...
今天我们将聚焦两个流行的日志框架——SLF4J(Simple Logging Facade for Java)和Logback,以及它们与Log4j和Commons-Logging的对比。 SLF4J是一个接口层的日志框架,它提供一个统一的API,允许用户在运行时插入...
### Java.util.logging.Logger 使用详解 #### 一、创建Logger对象 在Java中,`java.util.logging.Logger` 是标准的日志框架之一,它提供了基础的日志记录功能。为了使用这一功能,首先需要获得 `java.util.logging...
在Java开发中,日志管理是不可或缺的一部分,Logback和SLF4J(Simple Logging Facade for Java)是广泛使用的日志框架。SLF4J提供了一个接口层,允许开发者选择任何底层的日志实现,而Logback则是一个高效的日志实现...
SLF4J(Simple Logging Facade for Java)和Logback是两个常用的日志处理框架,它们提供了高效且灵活的日志解决方案。SLF4J作为一个抽象层,允许开发者选择底层的日志实现,而Logback则是一个优秀的SLF4J实现。在...
logback-classic是log4j的一个扩展,实现了SLF4J(Simple Logging Facade for Java)接口,使得你可以轻松切换到其他日志框架。logback-access则与Servlet容器(如Tomcat)集成,提供了HTTP访问日志记录功能。 **2....
Pub Date: 2018 Learn how Java principles ...Explore JIT compilation and Java language performance techniques Learn performance aspects of the Java Collections API and get an overview of Java concurrency
2. **logback-classic**: 基于 logback-core,logback-classic 实现了 Java 日志接口(Java Logging API,JUL),并且与 SLF4J(Simple Logging Facade for Java)兼容。SLF4J 是一个抽象层,允许开发者在不修改代码...
Spring Boot 提供了多种日志记录工具,包括 Logback、Log4J2 和 Java Util Logging。默认情况下,Spring Boot 使用 Logback 作为日志记录工具。在日志记录过程中,我们可以通过配置日志级别、输出目标和格式来控制...
Simple Logging Facade for Java (SLF4J) 是一个用于各种日志框架的简单统一的接口,如java.util.logging、logback和log4j。SLF4J的API设计简洁,使得开发者可以在不依赖具体日志实现的情况下编写代码。slf4j-api-...
这是 Logback 的经典实现,扩展了核心库的功能,并且兼容 SLF4J(Simple Logging Facade for Java)。SLF4J 提供了一个抽象层,允许开发者在不同的日志框架之间切换,如 Log4j 或 Logback。`ch.qos.logback.classic...
2. **Logback-Classic**:它是log4j的直接替代品,提供了与log4j类似的API,并且支持SLF4J(Simple Logging Facade for Java),允许用户灵活切换不同的日志实现。 3. **Logback-Appender**:这些是负责将日志输出...
国内可能打不开官网,所以在这里转载,...此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。
1. **日志接口**: Commons Logging 提供了一个统一的日志API,使得开发者可以在运行时选择或切换日志实现,如Log4j、Java内置的日志(java.util.logging)或者Apache Log5j2等。这提高了代码的可移植性和灵活性。 ...
- **logback-classic**:这是Logback的主要实现,它依赖于SLF4J(Simple Logging Facade for Java)API,提供与log4j相似的功能。logback-classic是SLF4J的实现,意味着你可以通过SLF4J API来使用Logback。 - **...