log4j+slf4j log系统配置

1 篇文章 0 订阅

开发一个系统,log日志系统应该是重要的一部分。今天学习了log4j+slf4j的log日志系统配置,集成在eclipse中。下面仔细讲解:

1. 概念介绍:

slf4j: SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。【摘自百度百科】可以看出SLF4J为以后跨log日志平台提供了很大的方便。

log4j:Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。【同样摘自百度百科,上面还有详细的配置,仔细看】http://baike.baidu.com.cn/view/25347.htm

2. 关系,SLF4J相当于是个外部封装,而真正的log系统是Log4j,SLF4J作为一个工厂类,可以封装很多的log日志,因此才能集合不同的日志,跨平台。下载到SLF4J的工程也能发现,里面有对各种log系统的支持。

3. 针对java的开发环境,log日志系统的配置方法

1) 下载SLF4J,log4j

http://www.slf4j.org/download.html

http://logging.apache.org/log4j/1.2/download.html

2) 解压并导入eclipse:slf4j-api-1.5.11.jar,slf4j-log4j12-1.5.11.jar,log4j-1.2.15.jar。

导入方法是在工程上点击右键-> build path -> configure build path -> libraries -> add external jars 选择相应的路径,将上述包导入

3) 编辑log4j.properities :

log4j.rootLogger=DEBUG,console,r
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
# file
log4j.appender.r=org.apache.log4j.RollingFileAppender  
log4j.appender.r.layout=org.apache.log4j.PatternLayout  
log4j.appender.r.layout.ConversionPattern=%p [%t] [%c] %d {%m%n}  
log4j.appender.r.File=./logs/log.log  
log4j.appender.r.MaxFileSize=100KB  
log4j.appender.r.MaxBackupIndex=100

然后将该文件放在对应工程的根目录下

4)编辑代码

在main函数中添加


PropertyConfigurator.configure("log4j.properties");

这样程序在执行的时候就能够加载log4j的配置文件。

5)示例代码

import org.apache.log4j.PropertyConfigurator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class Virtual {
	public static final Logger log = LoggerFactory.getLogger(Virtual.class);
	public static void main(String[] args){
		PropertyConfigurator.configure("log4j.properties");
		Shape cricle = new Circle();
		Shape line = new Line();
		cricle.draw();
		line.draw();
		log.info("hello world");
	}
}


来个参考资料,以后会有用的:http://blog.csdn.net/vector03/article/details/6419199


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值