博主正在学习日志的东西,但是网上的教程真实惨不忍睹,跳了许多坑
今天博主就要告诉你怎么使用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等格式的日志格式 !!!