使用maven完成slf4j的配置

来源:互联网 发布:java不是方法的特征 编辑:程序博客网 时间:2024/06/16 08:23

使用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, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.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%nlog4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=example.loglog4j.appender.R.MaxFileSize=100KB# Keep one backup filelog4j.appender.R.MaxBackupIndex=1log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.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




原创粉丝点击