用slf4j + logback 写日志,步骤如下:
1,下载需要的jar包。
logback-access-1.1.2.jar
logback-classic-1.1.2.jar
logback-core-1.1.2.jar
slf4j-api-1.7.5.jar
2,将以上jar包加入到工程的classpath中。
3,写日志
4,以上3步就可以写日志了,但是由于没有指定日志的位置格式等,都是用的默认格式,位置为控制台输出。
如果需要指定位置,格式等,可以配置logback.xml。
如下的logback.xml放到src目录下即可。
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="10 seconds"> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="LOG_HOME" value="D:/testlog"/> <property name="APP_NAME" value="testForJar"/> <!-- 控制台输出 --> <!-- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">--> <!-- 日志输出编码 --> <!--<Encoding>UTF-8</Encoding>--> <!--<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">--> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <!-- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"><!– 只打印错误日志 –> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender>--> <!-- 按照每天生成日志文件 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--<Encoding>UTF-8</Encoding>--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日志文件输出的文件名--> <FileNamePattern>${LOG_HOME}/${APP_NAME}_%d{yyyyMMdd}.log</FileNamePattern> <MaxHistory>30</MaxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> <!--日志文件最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> </appender> <!-- 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="ERROR"/> <logger name="org.hibernate.SQL" level="ERROR"/> <logger name="org.hibernate.engine.QueryParameters" level="ERROR"/> <logger name="org.hibernate.engine.query.HQLQueryPlan" level="ERROR"/> <logger name="org.springframework.context.annotation.ClassPathBeanDefinitionScanner" level="WARN"/> <!-- 日志输出级别 --> <root level="INFO"> <appender-ref ref="FILE"/> <!--<appender-ref ref="DB"/>--> </root> </configuration>
相关推荐
在Java Web开发中,日志记录是至关重要的,它帮助开发者...通过上述步骤,你应该能够成功解决“tomcat9 slf4j+log4j2 不写日志”的问题。如果在实践中遇到问题,建议查阅官方文档,社区论坛或进行更深入的故障排查。
本教程将针对“tomcat8 slf4j+log4j2 不写日志”的问题提供解决方案,以确保你的应用程序能够正确地记录日志。 首先,我们需要了解SLF4J(Simple Logging Facade for Java)和Log4j2。SLF4J是一个用于日志记录的...
本主题将详细介绍如何利用Logback和SLF4J来将日志记录到Kafka队列中,以及支持日志解析和过滤等扩展功能。 首先,我们需要理解SLF4J的工作原理。SLF4J提供了一组API,允许我们在应用程序中插入日志语句,而具体的...
Slf4j 是一个 Java 日志记录门面,它提供了一个通用的日志记录API,允许开发者使用不同的日志记录框架,例如 Logback、Log4j 等。在 Springboot 项目中,Slf4j 是默认的日志记录框架。本文将介绍如何使用 Slf4j 将...
接下来,SLF4J(Simple Logging Facade for Java)是一个为各种日志框架提供一个简单统一的接口,如Java Util Logging, logback和log4j。它允许最终用户在部署时插入所需的日志框架。在本项目中,SLF4J被用来按日期...
其次,`slf4j-api-1.7.5.jar`是Simple Logging Facade for Java的API包,它提供了一种抽象的日志接口,允许开发者选择不同的日志框架(如Log4j、Logback)作为后台实现。SLF4J的主要目的是为应用程序提供一个可插入...
然而,JCL存在一些问题,例如类加载器冲突和性能问题,因此SLF4J-JCL提供了转换路径,让这些库能够利用更现代、更强大的日志系统,比如logback或log4j2。 在"common-jackson.zip"中,我们看到提到了Jackson,这是一...
SpringBoot Logback日志记录到数据库的实现方法 在本文中,我们将详细介绍SpringBoot Logback日志记录到数据库的实现方法。Logback是一个流行的日志记录框架,能够帮助开发者轻松地记录和管理应用程序中的日志信息...
Logback 提供了三个核心组件:logback-core、logback-classic 和 logback-access,分别用于基础功能、SLF4J(简单日志门面)接口实现和Servlet容器的日志访问。 ### 日志文件配置 Logback 的配置主要通过 `logback...
Slf4j允许开发者在部署时通过Maven或类路径中的桥接器替换日志实现,如Log4j、Logback等。使用Slf4j的好处在于解耦了日志实现和应用代码,使得日志系统的选择更加灵活。在SpringBoot中,通常会默认集成Logback作为...
Logback与日志记录新组合:SLF4J + Logback **Logback**是一款开源的日志框架,它作为Log4j的一个升级版本出现,由Log4j的创始人Ceki Gülcü开发。Logback的目标是提供一个灵活、强大且易于使用的日志解决方案,...
SLF4J(Simple Logging Facade for Java)是一个用于各种日志框架的抽象层,如 Logback、Log4j 等,它提供了一种在部署时插入所需日志实现的方式。SLF4J 提供了一套简单的 API,使得开发者能够在不修改代码的情况下...
SLF4J(Simple Logging Facade for Java)是Java领域中广泛使用的日志抽象层,它的设计目的是为各种日志框架提供一个简单的接口,比如log4j、java.util.logging、logback等。SLF4J允许用户在部署时选择希望的日志...
logback-classic是基于log4j的API,实现了SLF4J(简单日志门面)接口,使得你可以灵活地切换不同的日志实现。logback-access则与Servlet容器集成,提供HTTP访问日志记录。 在实际使用中,logback的配置是通过XML...
谈到在Java应用程序里写日志,log4j过去是现在可能仍然是事实上的标准。 由Sun提供的JDK内的写日志的方案一直无法全面推广。造成这种情况的原因当然是其缺乏可配置性和灵活性。JDK的日志方案对于比较简单的项目...
在“dom4j-2.1.4.zip”压缩包中没有直接包含logback和SLF4J的文件,但通常在Java项目中,DOM4J会与其他日志框架如logback或SLF4J一起使用。SLF4J(Simple Logging Facade for Java)是一个日志门面,它提供了一套...
虽然Log4j在日志处理方面表现出色,但随着技术的发展,其他框架如Logback、SLF4J(Simple Logging Facade for Java)也逐渐受到关注。SLF4J作为一个日志门面,提供了统一的API,允许用户在运行时绑定不同的日志实现...
2. **logback-classic**:基于log4j的改进版,同时完全实现了SLF4J(Simple Logging Facade for Java)API,使得切换到其他日志系统(如log4j或JDK14 Logging)变得简单。 3. **logback-access**:与Servlet容器集成...
4. **日志系统**:通过SLF4J,MINA项目实现了灵活的日志记录,允许开发者根据需求选择不同的日志实现,如Log4j、Logback等,增强了项目的可移植性和可维护性。 5. **版本管理**:预发布版本M4和早期版本的SLF4J与...
以上就是在Android中利用Log4j或Logback-android将日志记录到缓存或SD卡的基本步骤。通过这种方式,开发者可以方便地收集和查看应用的运行日志,对于问题定位和性能优化具有极大的帮助。同时,日志记录也可以为用户...