slf4j日志的最优使用方式

slf4j简介

即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。

Spring中slf4j的使用

所需依赖jar:

 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
 <dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-log4j12</artifactId>
     <version>1.7.25</version>
 </dependency>

配置文件为固定写法log4j.properties

#console, file自定义 附加器  Spring自动去查找此配置文件 名字不能随便写
log4j.rootLogger=INFO, console, file

#console输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n

#file让日志生成文件到指定位置、如某个盘,系统目录下等等
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logs/log.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.MaxFileSize=1024KB
log4j.appender.A3.MaxBackupIndex=10
log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n

级别

log4j定义了8个级别:优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL
ALL 最低等级的,用于打开所有日志记录,很低的日志级别,一般不会使用,OFF 最高等级的,用于关闭所有日志记录,一般不会使用。

测试使用、org.slf4j.Logger包别导错

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

public class MyTest {

    //Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG,并且,log4j默认的优先级为ERROR。
    private static final Logger logger = LoggerFactory.getLogger(MyTest.class); //知道哪个类报异常,跟踪日志 MyTest.class)

    public static void main(String[] args) {
        //优先级从高到低最常用的四种级别:ERROR、WARN、INFO、DEBUG
        logger.error("error 级别日志");
        logger.warn("warn 级别日志");
        logger.info("INFO 级别日志");
        logger.debug("debug 级别日志");
    }
}

正确的打印字符串方式

public static void main(String[] args) {
        String message1 = "测试";
        String message2 = "测试1";
        logger.info("message is:"+message1); //增加了系统开销
        logger.info("message is: {},{}",message1,message2);  //优化,正确的输出方式
        //在我们打印测试信息的时候,另外也可以这样写,java向控制台输出
        System.out.println(String.format("message is: %s,%s",message1,message2));  //String.format字符相串格式化
    }

输出结果:

2020-05-10 17:17:57,246 INFO [com.funtl.hello.spring.MyTest] - message is:测试
2020-05-10 17:17:57,248 INFO [com.funtl.hello.spring.MyTest] - message is: 测试,测试1
message is: 测试,测试1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小严

你的鼓励是我创作的源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值