log4的配置和使用
2016-07-18 16:14
363 查看
理论部分:
Log4J是Apache的一个开放源代码的项目。
作用:使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程
组成:
日志记录器(Loggers):控制要启用或禁用哪些日志记录语句,并对日志信息进行级别限制
输出端(Appenders):指定日志信息输出到哪个地方,可同时指定多个输出目的地。
日志格式化器(Layout):控制日志信息的显示格式。
日志级别:每个Logger都被了一个日志级别(log
level),用来控制日志信息的输出。日志级别从高到低分为:
A:off 最高等级,用于关闭所有日志记录。
B:fatal 指出每个严重的错误事件将会导致应用程序的退出。
C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
D:warm 表明会出现潜在的错误情形。
E:info 一般和在粗粒度级别上,强调应用程序的运行全程。
F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
G:all 最低等级,用于打开所有日志记录。
日志级别说明:
上面这些级别是定义在org.apache.log4j.Level类中,Log4j只建议使用4个级别,优先级从高到低分别是error,warn,info和debug。
应用场景:通过使用日志级别,可以控制应用程序中相应级别日志信息的输出。
使用举例:如果使用info级别,则应用程序中所有低于info级别的日志信息(如debug)将不会被打印出来。
实践部分:
首先将log4j-1.2.17.jar包放在项目下,
在src同级创建log4j.properties
文件内容如下:
设置日志的内容:
日志文件:
参考:http://www.jb51.net/article/74475.htm
Log4J是Apache的一个开放源代码的项目。
作用:使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程
组成:
日志记录器(Loggers):控制要启用或禁用哪些日志记录语句,并对日志信息进行级别限制
输出端(Appenders):指定日志信息输出到哪个地方,可同时指定多个输出目的地。
日志格式化器(Layout):控制日志信息的显示格式。
日志级别:每个Logger都被了一个日志级别(log
level),用来控制日志信息的输出。日志级别从高到低分为:
A:off 最高等级,用于关闭所有日志记录。
B:fatal 指出每个严重的错误事件将会导致应用程序的退出。
C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
D:warm 表明会出现潜在的错误情形。
E:info 一般和在粗粒度级别上,强调应用程序的运行全程。
F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
G:all 最低等级,用于打开所有日志记录。
日志级别说明:
上面这些级别是定义在org.apache.log4j.Level类中,Log4j只建议使用4个级别,优先级从高到低分别是error,warn,info和debug。
应用场景:通过使用日志级别,可以控制应用程序中相应级别日志信息的输出。
使用举例:如果使用info级别,则应用程序中所有低于info级别的日志信息(如debug)将不会被打印出来。
实践部分:
首先将log4j-1.2.17.jar包放在项目下,
在src同级创建log4j.properties
文件内容如下:
### \u8BBE\u7F6E### log4j.rootLogger = debug,stdout,D,E ### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n ### \u8F93\u51FADEBUG \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = D://logs/log.log log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### \u8F93\u51FAERROR \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=E://logs/error.log ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File =D\://logs/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m%n
设置日志的内容:
package com.mucfc; import org.apache.log4j.Logger; public class Test { //1.获取日志记录器,该日志记录器将负责控制日志信息 private static Logger logger = Logger.getLogger(Test.class); /** * @param args */ public static void main(String[] args) { // System.out.println("This is println message."); // 记录debug级别的信息 logger.debug("This is debug message."); // 记录info级别的信息 logger.info("This is info message."); // 记录error级别的信息 logger.error("This is error message."); } }
日志文件:
参考:http://www.jb51.net/article/74475.htm
相关文章推荐
- leetcode_c++:链表:Remove Linked List Elements(203)
- HDU 1564 考虑奇偶性的变化
- java数组遍历——iterator和for方法
- 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
- 第二周实习总结
- Hadoop 中文编码相关问题 -- mapreduce程序处理GBK编码数据并输出GBK编码数据(转)
- 【HDU 2717】Catch That Cow(BFS)
- 如何解决Win10 Win7 无法通过\\访问winxp文件
- JavaScript强化教程——JavaScript 运算符
- ubuntu16.04 SVN的安装与使用
- 关于TextView 中设置一行显示字数的两个属性: maxEms 与 maxLength
- Oracle意外删除数据文件恢复方法
- Comparator 与Comparable 异同
- HDOJ 1236 排名
- Ubuntu 开机自启动工具 update-rd.d 使用详解
- Mysql 安装-操作-备份
- android:windowSoftInputMode属性使用
- nyoj 927部分求和问题
- 如何正确地写出单例模式
- sql学习---datepart函数的使用