解决引用slf4j中Logger.info只打印出文字没有数据的问题

 更新时间:2021年12月27日 15:52:15   作者:薛思远的csdn  
这篇文章主要介绍了解决引用slf4j中Logger.info只打印出文字没有数据的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

slf4j Logger.info只打印出文字没有数据

引的是 slf4j 包

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static Logger logger = LoggerFactory.getLogger(TsfTest.class);
logger.info("打印参数:",map);

只能打印出:

2019-06-14 17:52:07.246 [http-apr-8080-exec-10] INFO c.q.m.p.b.rest.test - 打印参数:

解决方案

在第一个参数中加入花括号{ }即可。

logger.info("打印参数:{}",map);

解决!

启用设置org.slf4j.Logger打印并输出日志

在resouces目录下面新建logback.xml(此为Logback推荐目录)

内容配置如下

logback 分为两种设置:

1. 输出到控制台 STDOUT

2. 输出到文件 FILE

pom.xml配置

<properties>
    <slf4j.version>1.7.25</slf4j.version>
</properties>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
</dependency>

logback.xml配置

下面的配置同时配置输出到文件和输出到控制台

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="3 seconds">
    <!--设置日志输出为控制台-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%X{userId}] [%X{requestId}] %logger - %msg%n</pattern>
        </encoder>
    </appender>

    <!--设置日志输出为文件-->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>logFile.log</File>
        <rollingPolicy  class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>logFile.%d{yyyy-MM-dd_HH-mm}.log.zip</FileNamePattern>
        </rollingPolicy>

        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss,SSS} [%thread] %-5level %logger{32} - %msg%n</Pattern>
        </layout>
    </appender>

    <root>
        <level value="DEBUG"/>
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>

程序调用

1.申明 logger 变量

private Logger logger = LoggerFactory.getLogger(LoginLogDao.class);

2.在程序中调用日志

logger.debug(INSERT_LOGIN_LOG_SQL);

官方介绍网址:https://logback.qos.ch/demo.html

下面为官网介绍

logback-classic with two appenders: a ConsoleAppender and a RollingFileAppender. The RollingFileAppender sends logging events to a file called logFile.log and will rollover the active file every minute. The old file will be renamed and compressed to a zip file. The ConsoleAppender will output the logging requests to the console, and shorten the logger names to gain space on the console window, without loss of legibility. For example, ch.qos.logback.demo.prime.NumberCruncherImpl will be abbreviated as c.q.l.d.prime.NumberCruncherImpl.

输出结果如下

isDebugEnabled true
2017-04-23 23:58:35,502 DEBUG [http-nio-8080-exec-6] (LoginLogDao.java:32) - INSERT INTO t_login_log(user_id,ip,login_datetime) VALUES(?,?,?)
2017-04-23 23:58:35,503 DEBUG [http-nio-8080-exec-6] (JdbcTemplate.java:869) - Executing prepared SQL update
2017-04-23 23:58:35,503 DEBUG [http-nio-8080-exec-6] (JdbcTemplate.java:616) - Executing prepared SQL statement [INSERT INTO t_login_log(user_id,ip,login_datetime) VALUES(?,?,?)]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot热重启配置详解

    SpringBoot热重启配置详解

    在本篇文章里小编给大家分享的是关于SpringBoot热重启配置知识点内容,需要的朋友们可以学习下。
    2020-02-02
  • Spring事务管理的使用细则浅析

    Spring事务管理的使用细则浅析

    事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就 回退到事务开始未进行操作的状态。事务管理是Spring框架中最为常用的功能之一,我们在使用Spring开发应用时,大部分情况下也都需要使用事务
    2023-02-02
  • java编程实现获取服务器IP地址及MAC地址的方法

    java编程实现获取服务器IP地址及MAC地址的方法

    这篇文章主要介绍了java编程实现获取机器IP地址及MAC地址的方法,实例分析了Java分别针对单网卡及多网卡的情况下获取服务器IP地址与MAC地址的相关技巧,需要的朋友可以参考下
    2015-11-11
  • Java构建乘积数组的方法

    Java构建乘积数组的方法

    这篇文章主要为大家详细介绍了Java构建乘积数组的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • java 中冒泡、二分、快速算法详解

    java 中冒泡、二分、快速算法详解

    这篇文章主要介绍了java 中冒泡、二分、快速算法详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • idea在用Mybatis时xml文件sql不提示解决办法(提示后背景颜色去除)

    idea在用Mybatis时xml文件sql不提示解决办法(提示后背景颜色去除)

    mybatis的xml文件配置的时候,有时候会没有提示,这让我们很头疼,下面这篇文章主要给大家介绍了关于idea在用Mybatis时xml文件sql不提示的解决办法,提示后背景颜色去除的相关资料,需要的朋友可以参考下
    2023-03-03
  • java检查数组是否有重复元素的方法

    java检查数组是否有重复元素的方法

    这篇文章主要介绍了java检查数组是否有重复元素的方法,涉及java针对数组元素的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Spring Boot整合Spring Data Jpa代码实例

    Spring Boot整合Spring Data Jpa代码实例

    这篇文章主要介绍了Spring Boot整合Spring Data Jpa代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • SpringBoot + Disruptor实现特快高并发处理及使用Disruptor高速实现队列的过程

    SpringBoot + Disruptor实现特快高并发处理及使用Disruptor高速实现队列的过程

    Disruptor是一个开源的Java框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟,这篇文章主要介绍了SpringBoot + Disruptor 实现特快高并发处理,使用Disruptor高速实现队列,需要的朋友可以参考下
    2023-11-11
  • java实现工资管理简单程序

    java实现工资管理简单程序

    这篇文章主要为大家详细介绍了java实现工资管理简单程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论