slf4j配置详解_5步轻松搞定SLF4J和logback框架与应用整合

slf4j配置详解_5步轻松搞定SLF4J和logback框架与应用整合作者 老崔 牛旦教育原创 头条首发 简介用来用去 虽然现在日志框架很多 但还是觉得 SLF4J logback 最为黄金组合 本篇内容 就来快速的介绍如何在 web 项目中快速配置和使用这个日志框架 slf4jLogback 意欲成为流行的 log4j 项目的 后浪 项目 它是由 log4j 的创始人 CekiGulcu 和许多个人贡献者共同设计的 可追溯到 1999 年 它构建于建设工业级日志系统的经验基础上 L

f1a17a73a30fcc3c9d4521a22332011d.png

作者:老崔,牛旦教育原创,头条首发。

简介

用来用去,虽然现在日志框架很多,但还是觉得SLF4J + logback最为黄金组合。本篇内容,就来快速的介绍如何在web项目中快速配置和使用这个日志框架。

slf4j

Logback意欲成为流行的log4j项目的“后浪”项目。它是由log4j的创始人Ceki Gulcu和许多个人贡献者共同设计的。可追溯到1999年,它构建于建设工业级日志系统的经验基础上。Logback-classic 原生级实现了SLF4J API,因此因此你可轻松地在logback和其他日志框架,如log4j或ava.util.logging 之间来回切换。。

针对Java的简单日志外观(Simple Logging Facade for Java,即SLF4J)框架,其用作或说充当各种日志框架的简单门面或抽象接口。这些日志框架如Jjava.util.logging、 log4j和logback等,允许终端用户在部署时插入其所希望用的日志框架。

如果你使用的是一个Maven型的 web-app项目,那么用logback实现SLF4J的应用过程,将可让你超快的完成配置并实现日志应用。

闲话少说,下面就分步来通过简单项目来完成这一任务。

注:详解可查阅该日志组合框架官网为http://logback.qos.ch/

第0步 :为项目导入日志包

如果你没用Maven构建项目,需要在你的项目中导入如下几个相关jar包(如果使用maven,跳过此步),把它们放到你的web项目的lib目下。目录结构如下:

f65069dceca6eaf385289bfa98760dd6.png

第1步:添加项目的maven依赖

在你的Maven项目下的pom.xml中声明以下依赖项,然后Maven将在构建期间为获对应的库包。添加依赖如下:

       ch.qos.logback       logback-classic       1.2.3

注意:这个依赖会自动导入它所需的其它依赖的。而在我们这个教程中,自动导入了另外两个jar包:

Logback-core-1.2.3.jar以及sl4j-api-1.7.25.jar . 具体版本取决于我们上面的依赖版本。

第2步:导入xml配置文件

你可能希望从一个已有基本配置文件开始构建。通常在Maven项目中,你为主源代码实现日志配置,同时也可为测试配置另一个日志配置。这里你可通过单击下面层次结构中的链接,可以下载项目的启动器配置文件。根据所示的层次结构所指示的位置将它们放入您的项目中。

|-src

|-main

|-resources

|-logback.xml

|-test

|-resources

|-logback-test.xml

两个文件地址分别如下:

https://wiki.base22.com/btg/files///1/00/logback.xml

https://wiki.base22.com/btg/files///1/00/logback-test.xml

为了避免网路问题,二个配置文件对应的内容分别提供如下:

Logback.xml 文件: 
                %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n                    Logback-test.xml 文件: 
                %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n               

这里,可以自己直接建立相应的xml文件,再把上面的配置内容复制过去,然后再定制内容。

第3步:定制配置文件的内容以便于测试

编辑打开的logback.xml文件。如果你使用了上面的链接中提供的启动配置,你会发现以下内容(跟我给出的内容一致):

 
                %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n                     

你会注意到在包级别(“com.base22”)定义了一个日志程序。你可简单地更改它以匹配你的应用程序的包基(package base)。如果需要,还可以声明其他日志器(其它包和/或类级别的)。

这里我简单定制修改一下,把“com.base22”改为“com.aistudying” 。

改天,我在把logback.xml配置详细讲解一下。

第4步:在类中编写日志相关代码

你需要做的最后一件事是在类中添加一些日志代码并测试整个配置。

将以下内容添加到java代码的导入部分:

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

在全局部分的类顶部(在声明类public class XXX extends XXX的行下面)添加以下内容。当然,你可以在getLogger方法调用中更改类的名称(MyClassName)。将其命名为与编写此代码所在的类名称相同。

static final Logger LOG = LoggerFactory.getLogger(MyClassName.class);
package com.aistudying.examples.logging; import org.slf4j.Logger;import org.slf4j.LoggerFactory; public class LogBackExample {    static final Logger LOG = LoggerFactory.getLogger(LogBackExample.class);     public static void main(String[] args) {     } }

在你的代码中添加一些日志记录语句,这样当你运行你的应用程序时,它们就会被立即触发。比如我在类中添加一个方法,如下所示::

LOG.trace("Hello World! 我记录下如下日志:");LOG.debug("新冠疫情下世界,我们要更加努力。");LOG.info("I am fine.");LOG.warn("上海华群置业有限公司 非法 扣押数明公司的租赁押金及办公设备。");LOG.error("在不可抗力因素下,华群公司的行为是丧失企业道德与良知的错误行为。");

为了体验和检查我们的任务,你可以下载这个简单的控制台测试应用程序,然后从命令行把它作为一个Java应用运行或从你的IDE运行。

全部代码如下:

package com.aistudying.examples.logging; import org.slf4j.Logger;import org.slf4j.LoggerFactory; public class LogBackExample {    static final Logger LOG = LoggerFactory.getLogger(LogBackExample.class);     public static void main(String[] args) {       LogBackExample log = new LogBackExample();       log.executeLogging();    }    //记录日志    public  void executeLogging() {       LOG.trace("Hello World! 我记录下如下日志:");       LOG.debug("新冠疫情下世界,我们要更加努力。");       LOG.info("I am fine.");       LOG.warn("上海华群置业有限公司 非法 扣押数明公司的租赁押金及办公设备。");       LOG.error("在不可抗力因素下,华群公司的行为是丧失企业道德与良知的错误行为。");    } }

第5步:运行应用,确保日志配置成功

最后,运行你的应用程序并确保它能工作。正常的话,应该在控制台中可看到日志行。如果它不起作用,只需更仔细地回顾这些步骤并修改它。

注意问题:在运行的是,控制台应该会输出类似如下信息:

“……Could NOT find resource [logback-test.xml]”

要解决此问题,需要在pom中加入如下依赖即可:

                   org.slf4j           slf4j-simple           1.7.25       

总结:

最后,看下整个示例项目结构图,如下所示:

2c929c490258bbb9b2a1804ef6803250.png

至此,通过5个步骤就搞定了这个优秀的日志框架的整合与应用。当然还有更高级的东西,下次有机会跟大家继续分享。

点个赞,分享出去吧。^_^

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212590.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午7:42
下一篇 2026年3月18日 下午7:43


相关推荐

  • Vue(6)v-on指令的使用[通俗易懂]

    Vue(6)v-on指令的使用[通俗易懂]v-on监听事件可以用v-on指令监听DOM事件,并在触发时运行一些JavaScript代码。事件代码可以直接放到v-on后面,也可以写成一个函数。示例代码如下:<divid

    2022年7月29日
    12
  • linux查看python环境变量_Linux中的Python环境变量

    linux查看python环境变量_Linux中的Python环境变量Python 对环境变量的访问不能准确反映操作系统对流程环境的看法 os getenv 和 os environ 在特定情况下不能正常运行 有没有办法正确地获得运行过程的环境 为了演示我的意思 采用两个大致相同的程序 C 中的第一个 python 中的另一个 include include includeintma intargc char argv char env for

    2026年3月17日
    2
  • PyCharm安装配置教程

    PyCharm安装配置教程PyCharm 安装配置教程一 PyCharm 下载二 PyCharm 环境安装三 PyCharm 环境配置一 PyCharm 下载下载链接 http www jetbrains com pycharm download section windows 官网中有两个可供下载的版本 一个是 professional 版本 另一个是 community 版本 学习 Python 推荐使用 community 版本 因为是免费的 有其他要求的话就选择 professional 版本 二 PyCharm 环境安装 1 双击 PyChar

    2026年3月27日
    2
  • matlab怎么输出插值,matlab插值方法0.ppt「建议收藏」

    matlab怎么输出插值,matlab插值方法0.ppt「建议收藏」matlab插值方法0*数学建模暑期培训数据插值*实验目的实验内容2、掌握用数学软件包求解插值问题。1、了解插值的基本内容。[1]一维插值[2]二维插值[3]实验作业*拉格朗日插值分段线性插值三次样条插值一维插值一、插值的定义二、插值的方法三、用Matlab解插值问题返回*返回二维插值…

    2022年6月3日
    42
  • java 取余和取模运算之间的区别「建议收藏」

    java 取余和取模运算之间的区别「建议收藏」转自lee371042https://blog.csdn.net/lee371042/article/details/102553342packageOperator;importjava.math.BigInteger;/***假如有两个数:*amod(b)与a%b,b为正整数,*一种叫a对b取模,另一个叫a对b取余,两种叫法有什么区别呢?*通常情况下,取模运算也叫取余运算,*它们返回的结果都是一个数对另一个数的余数,**区别在于当a是一

    2022年6月3日
    39
  • c#输出心形图片

    c#输出心形图片

    2021年9月28日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号