slf4j导入那个依赖_slf4j的使用:常规使用、注解、存储到数据库

目录

一、应用示例

二、注解@Slf4j

三、将日志保存至数据库

slf4j是外观模式的典型应用。slf4j只是一个日志标准,并不是日志系统的具体实现。slf4j能够提供日志接口,提供获取具体日志对象的方法。

slf4j-simple、logback都是slf4j的具体实现,log4j虽然不直接实现slf4j,但是有专门的一层桥接slf4j-log412来实现slf4j。

一、应用示例

1、引入依赖

junit

junit

4.13-beta-3

org.slf4j

slf4j-api

1.7.30

slf4j-simple、logback应用比较简单,不需要配置,log4j需要进行配置。

ch.qos.logback

logback-classic

1.2.3

org.slf4j

slf4j-simple

2.0.0-alpha1

2、测试

@Test

public void test(){

Logger logger = LoggerFactory.getLogger(Object.class);

logger.info("123");

}

打印出:

[main] INFO java.lang.Object - 123

二、注解@Slf4j

使用注解,不需要每次都生成Logger对象。

1、安装lombok依赖

可以在线安装,File->Settings->Plugins->Marketplace,搜索安装即可。下图是已经安装了。

也可以去IDEA的插件网下载。下载后将其解压放到IDEA安装文件的plugins目录下,比如:C: \IntelliJ IDEA 2020.1\plugins,重启IDEA。

2、引入lombok依赖

org.projectlombok

lombok

1.16.20

3、使用log进行日志打印

@Slf4j

public class Slf4jTest {

@Test

public void test(){

log.info("123");

}

}

打印出:

[main] INFO com.laosun.test.Slf4jTest – 123

三、将日志保存至数据库

1、添加依赖

ch.qos.logback

logback-core

1.2.3

mysql

mysql-connector-java

5.1.45

com.mchange

c3p0

0.9.5.4

2、创建数据库logback_test,以及三个表logging_event_property, logging_event_exception, logging_event:

建表的SQL语句在图中位置可以找到

CREATE DATABASE logback_test;

USE logback_test;

BEGIN;

DROP TABLE IF EXISTS logging_event_property;

DROP TABLE IF EXISTS logging_event_exception;

DROP TABLE IF EXISTS logging_event;

COMMIT;

BEGIN;

CREATE TABLE logging_event

(

timestmp BIGINT NOT NULL,

formatted_message TEXT NOT NULL,

logger_name VARCHAR(254) NOT NULL,

level_string VARCHAR(254) NOT NULL,

thread_name VARCHAR(254),

reference_flag SMALLINT,

arg0 VARCHAR(254),

arg1 VARCHAR(254),

arg2 VARCHAR(254),

arg3 VARCHAR(254),

caller_filename VARCHAR(254) NOT NULL,

caller_class VARCHAR(254) NOT NULL,

caller_method VARCHAR(254) NOT NULL,

caller_line CHAR(4) NOT NULL,

event_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY

);

COMMIT;

BEGIN;

CREATE TABLE logging_event_property

(

event_id BIGINT NOT NULL,

mapped_key VARCHAR(254) NOT NULL,

mapped_value TEXT,

PRIMARY KEY(event_id, mapped_key),

FOREIGN KEY (event_id) REFERENCES logging_event(event_id)

);

COMMIT;

BEGIN;

CREATE TABLE logging_event_exception

(

event_id BIGINT NOT NULL,

i SMALLINT NOT NULL,

trace_line VARCHAR(254) NOT NULL,

PRIMARY KEY(event_id, i),

FOREIGN KEY (event_id) REFERENCES logging_event(event_id)

);

COMMIT;

3、在src/main/resources目录下创建logback.xml和mchange-log.properties。

logback.xml

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

com.mysql.cj.jdbc.Driver

jdbc:mysql://127.0.0.1:3306/logback_test

root

123

mchange-log.properties

com.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog

com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=OFF

4、测试

@Slf4j

public class Slf4jTest {

@Test

public void test(){

log.info("123");

log.debug("456");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值