java slf4j_java-slf4j的使用

本文详细介绍了使用日志系统而非System.out.println的优势,如通过配置文件控制日志开关和分级日志。重点讲解了SLF4J作为日志抽象层的概念,允许灵活切换底层日志实现。同时,展示了如何使用Maven配置SLF4J,并给出了log4j.properties的示例配置。最后,通过代码示例展示了如何在Java程序中使用SLF4J进行日志记录。
摘要由CSDN通过智能技术生成

使用log日志系统而不是使用System的意义:

1,打印不可控制

如果不需要日志,那么使用system需要删除或者删除所有的相关代码,而log可以通过配置文件控制开关.

2,没有分级

log至少有5级,可以分层显示日志,而system一股脑打印出来.

slf4j介绍:

slf4j不是一个真正的日志实现,而是一个抽象层,它允许你在后台使用任意一个日志类库。这样在扩展功能时,你真不会希望使用你扩展代码必须使用你选择的日志类库。

本文使用maven完成slf4j的配置,之所以使用maven是为了只需要提供slf4j的依赖,maven会自动下载关联的依赖.

Maven project->create a simple project->输入group id和artifact id->补全残缺的目录(如果完整的就不需要了)

这部分可以参考http://blog.csdn.net/fengsigaoju/article/details/75003651

接下去提供log.properties配置文件控制日志系统

在src/main/resources下新建log.properties

log4j.rootLogger=INFO, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.

log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB

# Keep one backup file

log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

在src/main/java 新建logTest 类

import java.text.MessageFormat;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class logTest {

private static final Logger logger = LoggerFactory.getLogger(logTest.class);

public static void main(String[] args) {

// 直接打印字符串

logger.info("姓名:凤思高举,密码:******");

String username = "凤思高举";

String password = "******";

// 拼接字符串写法

logger.info("姓名:" + username + ",密码:" + password);

// 使用MessageFormat的写法

logger.info(MessageFormat.format("姓名:{0},密码:{1}", username, password));

}

}

最终结果:

INFO [main] (logTest.java:10) - 姓名:凤思高举,密码:******

INFO [main] (logTest.java:16) - 姓名:凤思高举,密码:******

INFO [main] (logTest.java:19) - 姓名:凤思高举,密码:******

可以在项目的根目录下找到输入到文件中的配置文件example.log

————————————————

版权声明:本文为CSDN博主「fengsigaoju」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/fengsigaoju/java/article/details/76945937

Maven web 项目中日志记录

1.pom.xml中引用

48304ba5e6f9fe08f3fa1abda7d326ab.png

org.slf4j

slf4j-api

1.7.25

org.slf4j

slf4j-log4j12

1.7.25

48304ba5e6f9fe08f3fa1abda7d326ab.png

2.日志配置log4j.properties

48304ba5e6f9fe08f3fa1abda7d326ab.png

log4j.rootLogger=CONSOLE,FILE

log4j.addivity.org.apache=true

# 应用于控制台

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.Threshold=INFO

log4j.appender.CONSOLE.Target=System.out

log4j.appender.CONSOLE.Encoding=UTF-8

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

# 每天新建日志

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender

log4j.appender.A1.File=D:/log4j/log

log4j.appender.A1.Encoding=UTF-8

log4j.appender.A1.Threshold=DEBUG

log4j.appender.A1.DatePattern='.'yyyy-MM-dd

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n

#应用于文件

log4j.appender.FILE=org.apache.log4j.FileAppender

log4j.appender.FILE.File=E:/log4j/file.log

log4j.appender.FILE.Append=false

log4j.appender.FILE.Encoding=UTF-8

log4j.appender.FILE.layout=org.apache.log4j.PatternLayout

log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

48304ba5e6f9fe08f3fa1abda7d326ab.png

3.代码中使用

48304ba5e6f9fe08f3fa1abda7d326ab.png

private static final Logger log = LoggerFactory.getLogger(AppLog.class);

public static void main(String[] args) {

log.debug("debug");

log.info("info");

log.error("error");

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值