Java使用SLF4J (log4j)

博主正在学习日志的东西,但是网上的教程真实惨不忍睹,跳了许多坑
今天博主就要告诉你怎么使用SLF4J
首先

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

ps: 只需要引入这个包
ps:从maven仓库有个scope,内容为test,需要把这个去掉,不然报错
!!!

也许有人会问,网上引用的包不是更多吗,怎么只需要引用一个包.
在这里需要添一个图

在这里插入图片描述
再看那个引入包里面的依赖码:::

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </dependency>
    
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <type>test-jar</type>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

这个包已经引用好了其他的包了,已经不需要引用其他包了…

那知道这些,之后,你需要写一个配置文件
但是,疑问就来了,这需要写到哪里呢…
这个问题,如果大家了解的话,如果用过读取配置文件是怎么
Thread.currentThread().getContextClassLoader().getResourceAsStream(“xxxx”);

这一句码到底是读取哪里的文件时,
我只需要告诉你,
在eclipse中,

在这里插入图片描述
只需在项目中创建一个source floder(名字任意!!!)
但是,那个配置文件的名字不能乱起 …

配置文件如下

log4j.rootLogger=debug,stdout,R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d (%F:%L) - %m%n

#%-d{MM-dd HH:mm:ss.SSS} %-5p - [%c{1}.%t] %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log/log.txt
log4j.appender.R.MaxFileSize=100000KB
log4j.appender.R.MaxBackupIndex=200
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] - %m - %l %n

log4j.rootCategory=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss:SSS} %5p %t %c{2}:%L - %m%n

本人配置文件,你也可以自己设计好自己的配置文件 !!!

App方法实现


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

/**
 * Hello world!
 *
 */
public class App {
	private static final Logger logger = LoggerFactory.getLogger(App.class);

	public static void main(String[] args) {
		// 记录debug级别的信息
		logger.debug("This is debug message.");
		// 记录info级别的信息
		logger.info("This is info message.");
		// 记录error级别的信息
		logger.error("This is error message.");
		
		Thread.currentThread().getContextClassLoader().getResourceAsStream("xxxx");
	}
}

在这里插入图片描述Log日志的表示方法 !!!

如果想需要其他的日志格式

这里还有许多 !!!
在这里插入图片描述

https://mvnrepository.com/search?q=slf4j 链接

但是,只要换成导入其他有binding结尾的maven的配置,但是请把那个scope去掉.

实现可以使用logback等格式的日志格式 !!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章