网站的seo是什么意思,化妆品网站栏目设计,重庆市建设工程安全管理网站,内蒙古网络自学网站建设目录
1、引入相关依赖或者 jar 包
2、使用logback日志
3、引入logback配置文件
4、打印logback内部状态信息 Logback 是 Java 社区中使用最广泛的日志框架之一。它是其前身 Log4j 的替代品。Logback 比所有现有的日志框架速度更快#xff0c;占用空间更小#xff0c;而且…目录
1、引入相关依赖或者 jar 包
2、使用logback日志
3、引入logback配置文件
4、打印logback内部状态信息 Logback 是 Java 社区中使用最广泛的日志框架之一。它是其前身 Log4j 的替代品。Logback 比所有现有的日志框架速度更快占用空间更小而且比其他日志框架提供了更多了功能。
//日志框架出现的历史顺序log4j -- JUL– JCL– slf4j -- logback-- log4j2
1、引入相关依赖或者 jar 包 Logback-classic 模块除了 logback-classic.jar 之外要求类路径上必须存在 slf4j-api.jar 和 logback-core.jar。//需要多少jar包是官方文档的明确要求其中slf4j是日志门面logback是日志门面的一种具体实现 1方式一使用 jar 包方式 为了使用 Logback 日志需要将以下 jar 添加到类路径中 For logback 1.3 targeting Java EE (javax.* namespace) //1.3版本-Java EE
logback-core-1.3.13.jar
logback-classic-1.3.13.jar
slf4j-api-2.0.7.jar For logback 1.4.x targeting Jakarta EE (jakarta.* namespace) //1.4版本-Jakarta EE
logback-core-1.4.13.jar
logback-classic-1.4.13.jar
slf4j-api-2.0.7.jar logback-*.jar 文件可以从 Maven 中心的 ch.qos.logback groupId 下下载而 slf4j-api-2.0.7.jar 可以从 org.slf4j groupId 下载。 Java EE 和 Jakarta EE 2017 年发生了一件重大的事Oracle 决定将 Java EE 捐赠给 Eclipse 基金会但 Java 仍然属于 Oracle。 因为 Oracle 拥有 “Java” 商标权。按照法律要求Eclipse 基金会需要对 Java EE 进行更名。经过社区的投票选择Java EE 被更名为 Jakarta EE。 虽然 Oracle 开源了 Java 源代码但却并未开源所有的文档。同样令人奇怪的是 Eclipse 基金会还不能使用 javax 的命名空间来创建新的 Java 包但是可以在现有包的下面创建新的类和子类这就是 jakarta.* namespace 的来源 //感觉挺那个啥啥的 2方式二使用 maven 方式 要在 Maven 项目中使用 logback-classic只需要在项目的 pom.xml 文件中声明以下依赖项即可。
dependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.3.8/version
/dependency 但是logback 不是需要三个包吗怎么只有一个依赖呢 这是因为除了 logback-classic.jar 之外上述声明还会根据 Maven 的传递性规则自动将 slf4j-api.jar 和 logback-core.jar 拉入你的项目中。 引入相关依赖后方式一和方式二任意选一种就可以使用 Logback 日志了你没有看错就是这么简单just do it
2、使用logback日志 现在让我们开始尝试使用 logback
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class Example {private static final Logger logger LoggerFactory.getLogger(self4.Example); //or Example.classpublic static void main(String[] args) {logger.info(Example log from {}, Example.class.getSimpleName());}
} 输出内容//使用 IntelliJ IDEAJDK:17.0.9 进行项目构建
11:08:39.641 [main] INFO self4.Example -- Example log from Example 至此logback 框架就被成功引入到项目中了这确实是一件非常简单的事对不对 注意从版本 1.3.x 开始logback 需要 Java 9 来构建。但是它可以在 Java 8 或更高版本上运行。 不知道你有没有发现上面的示例没有引用到任何的 logback 的类。Example 类中的 Logger 和 LoggerFactor 都是 slf4j 包中的 API。这是因为在大多数情况下就日志记录而言你的类只需要引入 slf4j 的类所以绝大多数的类将使用 slf4j 的API并且不会注意到 logback 的存在。//这就好比接口和实现类的情况在java项目中我们一般引入的是接口类的对象类型而不是其具体实现类的对象类型 Example 应用程序非常简单并没有配置任何的配置文件当 logback 没有找到配置文件时就会执行默认配置策略logback 会向根记录器(Logger)添加一个默认的 ConsoleAppender。//与Springboot 的思想不谋而合 下边我们就来引入一个 logback 的配置文件显示的声明一些配置信息。
3、引入logback配置文件 logback 的配置文件名称为 logback.xml该文件放置在项目的资源根目录(resources)下即可简单的配置内容如下
configurationappender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoderpattern%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n/pattern/encoder/appenderroot leveldebugappender-ref refSTDOUT //root
/configuration 启动 Example 应用程序输出内容如下
13:08:14.919 [main] INFO self4.Example - Example log from Example logback.xml 配置文件的内容是使用 logback 框架非常重要的一部分这部分的详细内容将在后续详细介绍。
4、打印logback内部状态信息 Logback 可以使用内置状态系统跟踪其内部状态的信息。可以通过名为 StatusManager 的组件来访问 logback 生命周期内发生的重要事件。 现在让我们通过调用 StatusPrinter 类的静态 print() 方法来指示 logback 打印其内部状态。
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.core.util.StatusPrinter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class Example {private static final Logger logger LoggerFactory.getLogger(self4.Example);//or Example.classpublic static void main(String[] args) {logger.info(Example log from {}, Example.class.getSimpleName());//打印内部状态信息LoggerContext lc (LoggerContext) LoggerFactory.getILoggerFactory();StatusPrinter.print(lc);}
} 输出信息如下所示
13:14:37.935 [main] INFO self4.Example - Example log from Example
13:14:37,619 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.4.14 #1、日志版本信息
13:14:37,651 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] #2、寻找logback-test.xml配置文件
13:14:37,652 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/D:/IDEA_WORKSPACE/demo/demo/target/classes/logback.xml] #3、找到logback.xml配置文件
13:14:37,860 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [STDOUT] #4、appender附加器信息
13:14:37,861 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] #5、附加器类型
13:14:37,877 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property #6、PatternLayoutEncoder类型
13:14:37,930 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to DEBUG #7、日志级别
13:14:37,930 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [STDOUT] to Logger[ROOT] #8、添加附加器
13:14:37,931 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor11e21d0e - End of configuration. #9、结束配置
13:14:37,932 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator1dd02175 - Registering current configuration as safe fallback point 在上面的示例中指示 logback 通过调用 StatusPrinter.print() 方法来打印其内部状态。 Logback 的内部状态信息对于诊断与 logback 相关的问题非常有用。 以下是在应用程序中启用日志记录所需的三个步骤//框架使用的基本思路
配置 logback 环境可以通过 logback.xml 文件进行配置。获取 Logger 实例通过调用 org.slf4j.LoggerFactory 类的 getLogger() 方法传递当前类名或类本身作为参数来获取 Logger 实例。使用 Logger 实例通过调用 Logger 的打印方法即 debug()、info()、warn() 和 error() 方法来使用此记录器实例。这将在配置的附加程序上生成日志输出。 有关日志框架的其他信息这篇文章写得也非常不错可以进行参考。 logback 的官方文档地址点击这里。 非常不错的 baeldung 教程点击这里。 至此全文结束。