JAVA日志框架log4j和slf4j
Posted 神跳跳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA日志框架log4j和slf4j相关的知识,希望对你有一定的参考价值。
简单总结下:
1.log4j基本用法
1)导包;
2)配置log4j.properties文件;
3)java类中写Logger。
2.properties文件内容
1)logger
2)appender(5种,每种都有若干配置项)
1 org.apache.log4j.ConsoleAppender(控制台) 2 org.apache.log4j.FileAppender(文件) 3 org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) 4 org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) 5 org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3)layout(4种,制定logger输出格式及内容)
1 org.apache.log4j.htmlLayout(以HTML表格形式布局) 2 org.apache.log4j.PatternLayout(可以灵活地指定布局模式) 3 org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串) 4 org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)
3.log4j局部日志配置
比如数据库访问日志、用户登录日志、操作日志,分开到不同的日志中。
4.不同类型工程中properties文件的位置,及其它配置
1)普通java或spring工程
2)springmvc工程(另外需要配置web.xml)
3)普通web工程(另外需要配置web.xml)
5.log4j与slf4j的配合使用
(摘)slf4j只是定义了一组日志接口,但并未提供任何实现。
(摘)如果你的代码使用slf4j的接口,具体日志实现框架你喜欢用log4j,其他人的代码也用slf4j的接口,具体实现未知,那你依赖其他人jar包时,整个工程就只会用到log4j日志框架,这是一种典型的门面模式应用,与jvm思想相同,我们面向slf4j写日志代码,slf4j处理具体日志实现框架之间的差异,正如我们面向jvm写java代码,jvm处理操作系统之间的差异,结果就是,一处编写,到处运行。况且,现在越来越多的开源工具都在用slf4j了。
1 <dependency> 2 <groupId>org.slf4j</groupId> 3 <artifactId>slf4j-log4j12</artifactId> 4 <version>1.7.21</version> 5 </dependency>
当然了,slf4j-log4j12这个包肯定依赖了slf4j和log4j,所以使用slf4j+log4j的组合只要配置上面这一个依赖就够了。
--------------------------------------------------
昨天简单使用了slf4j的部分内容,这里暂时先了解一下,还未具体操作。
以上是关于JAVA日志框架log4j和slf4j的主要内容,如果未能解决你的问题,请参考以下文章
Log4j,Log4j2,Logback,Slf4J日志框架你真的了解吗?阿里巴巴Java开发手册为什么强制推荐使用Slf4j?
Java日志框架SLF4J和log4j以及logback的联系和区别
Java日志框架SLF4J和log4j以及logback的联系和区别