Log4j笔记--log4j的各种输出控制的权限
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Log4j笔记
●为什么要使用日志
⏹开发阶段可以发现程序的问题,排错
⏹产品阶段可以记录程序运行的状况
⏹Log4j就是一个简便的日志管理工具
●System.out.println()的问题
⏹不能在运行过程中打开或者关闭
⏹不能有针对性地选择
⏹输出的信息没有分级
⏹只能输出文本信息
⏹不能改变输出的位置
Log4j可以解决以上的所有问题
●log4j简介
⏹是最流行的Java日志处理框架
⏹Apache的子项目
⏹开源
●log4j的使用
⏹需要从Apache官方网站上下载jar包
⏹添加到项目的Build Path里
⏹使用示例
运行这个程序,需要log4j.properties文件
warn是指输出的日志级别;大于等于这个级别的输出才会执行,小于此级别的不会输出;级别有8种,名称固定
Console:输出的位置或者目的地,这个名字是别名,可以任意起名字
在第二行针对这个目的地进行设置
如果上面叫aaa
第二行就是log4j.appender.aaa
第三行可以设置输出目的地的一些配置信息,最常用的是输出的布局格式
对于输出到文件,还需要在这个位置指定文件的路径
log4j的核心
●Logger
完成日志信息的处理,可以定义输出的层次和决定信息是否输出
输出的优先级顺序:
ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF
ALL ●Appender 设置日志信息的去向,可以同时指定多个目的地。 log4j.appender.appenderName=Appender.class log4j.appender.appenderName.optiona1=value1 … log4j.appender.appenderName.optionaN=valueN 常用的有如下: org.apache.log4j.ConsoleAppender 控制台 org.apache.log4j.FileAppender 文件 org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件 org.apache.log4j.RollingFileAppender 文件尺寸到一定大小产生新文件 org.apache.log4j.WriterAppender 将日志以流的方式发送 org.apache.log4j.JdbcAppender 将日志保存到数据库 ●Layout 设置日志信息的输出样式 配置格式: yout=Layout.class yout.option=value 常用: org.apache.log4j.HTMLLayout 以HTML表格形式布局 org.apache.log4j.SimpleLLayout 包含日志级别和信息字符串 org.apache.log4j.TTCCLayout 包含日志产生的时间,执行者,类别等 org.apache.log4j.PatternLayout 灵活指定 %p 输出优先级 %r 输出自应用启动到输出信息所耗费的毫秒数 %t 输出产生该日志事件的线程名 %f 输出所属类名 %c 输出类的全名称 %d 输出日志产生时间或者日前,后面用{yyyy-MM-dd HH-mm-ss}指定 %l 输出所处行号 %m 具体信息 %n 换行 ●配置文件 ⏹log4j.properties log4j.rootLogger=级别,去向。。。级别只能有一个,去向可以有多个 log4j.appender.去向= log4j.appender.去向.layout= ⏹log4j.xml 基本思路同上 示例:输出到文件 log4j.rootLogger=debug,aa log4j.appender.aa=org.apache.log4j.FileAppender log4j.appender.aa.File=c:\\log.html yout=org.apache.log4j.HTMLLayout 这个概念和C语言里面的预编译指令很类似 总结: 使用方法:导包,在SRC下编写log4j.properties属性文件(级别,去向,去向配置),在程序里面输出 属性文件里面的注释:#