Java——使用slf4j打印日志时无法打印多个参数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whm18322394724/article/details/85225821

*前言

   近来在项目中使用slf4j打印日志时发现最多只能打印两个参数,打印多了就报错,有的时候还会提示参数类型不对等,后来转换了类型也不行,再后来才发现原来是版本在作怪。下面小菜就来分享一下slf4j不能打印多个参数的版本该如何解决,以及如何查看输出的日志文件。

*打印日志

1、问题
   后来发现我们pom文件中slf4j的版本号是1.6.1,把org.slf4j.version换成1.7.21然后就可以打印多个参数了
<!--不能打印多个参数的版本-->
<org.slf4j.version>1.6.1</org.slf4j.version>
<project.slf4j.version>1.6.6</project.slf4j.version>
<!--能打印多个参数的版本-->
<org.slf4j.version>1.7.21</org.slf4j.version>
<project.slf4j.version>1.6.6</project.slf4j.version>

2、非要用1.6.1的slf4j打印多个参数怎么办?——拼接

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

public class Test{
    private static final Logger LOGGER = LoggerFactory.getLogger(Test.class);
   
    @Override
    public List<Test> selectPage(String id,String companyId,String departmentId) {
         LOGGER.info("selectPage方法的入参:id,companyId,departmentId={}",id+","+companyId+","+departmentId);
        return null;
    }
}

3、用1.7.21的slf4j打印多个参数

public class Test{
    private static final Logger LOGGER = LoggerFactory.getLogger(Test.class);
   
    @Override
    public List<Test> selectPage(String id,String companyId,String departmentId) {
         LOGGER.info("selectPage方法的入参:id={},companyId={},departmentId={}",id,companyId,departmentId);
        return null;
    }
}

*查看日志

  用slf4j输出的日志可以通过日志文件查看也可以通过控制台,也可以只通过日志文件不通过控制台,也可以只通过控制台不通过日志文件,那就看怎么配置了,,小菜分享一下在哪里查看其输出的日志文件。

1、查看log4j.properties中的log4j.appender.LOGFILE.File写的日志文件路径。(PS:可以自己修改路径)

log4j.appender.LOGFILE.File=/logs/debug.log

2、在电脑本地查看搜索logs

在这里插入图片描述

3、修改日志输出到指定的文件

log4j.appender.LOGFILE.File=C:/lll/debug.log

猜你喜欢

转载自blog.csdn.net/whm18322394724/article/details/85225821