weblogs配置(如何快速实现SLF4J和logback框架的Web项目整合配置)
weblogs配置(如何快速实现SLF4J和logback框架的Web项目整合配置)闲话少说,下面就分步来通过简单项目来完成这一任务。如果你使用的是一个Maven型的 web-app项目,那么用logback实现SLF4J的应用过程,将可让你超快的完成配置并实现日志应用。 针对Java的简单日志外观(Simple Logging Facade for Java,即SLF4J)框架,其用作或说充当各种日志框架的简单门面或抽象接口。这些日志框架如Jjava.util.logging、 log4j和logback等,允许终端用户在部署时插入其所希望用的日志框架。
作者:老崔,牛旦教育原创,头条首发。
简介
用来用去,虽然现在日志框架很多,但还是觉得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目下。目录结构如下:
第1步:添加项目的maven依赖
在你的Maven项目下的pom.xml中声明以下依赖项,然后Maven将在构建期间为获对应的库包。添加依赖如下:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
注意:这个依赖会自动导入它所需的其它依赖的。而在我们这个教程中,自动导入了另外两个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/35488048/35618832/1/1261291177000/logback.xml
https://wiki.base22.com/btg/files/35488048/35618833/1/1261291177000/logback-test.xml
为了避免网路问题,二个配置文件对应的内容分别提供如下:
Logback.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<logger name="com.base22" level="TRACE"/>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Logback-test.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
这里,可以自己直接建立相应的xml文件,再把上面的配置内容复制过去,然后再定制内容。
第3步:定制配置文件的内容以便于测试
编辑打开的logback.xml文件。如果你使用了上面的链接中提供的启动配置,你会发现以下内容(跟我给出的内容一致):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<logger name="com.base22" level="TRACE"/>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
你会注意到在包级别("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中加入如下依赖即可:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
</dependency>
总结:
最后,看下整个示例项目结构图,如下所示:
至此,通过5个步骤就搞定了这个优秀的日志框架的整合与应用。当然还有更高级的东西,下次有机会跟大家继续分享。
点个赞,分享出去吧。^_^