JavaEE 之 log4j
1.log4j
a.概念:一个非常优秀的开源日志记录工具
b.配置:
①src同目录下建立log4j.properties文件,书写:
log4j.rootLogger=debug,appender1 <!-- appender1是自己指定的名字 -->
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
log4j.appender.appender1.layout=org.apache.log4j.SimpleLayout
②Loggers
Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL
DEBUG < INFO < WARN < ERROR < FATAL
③Appenders
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)隔一段时间 layout
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
④Layout
org.apache.log4j.HTMLLayout (以 HTML 表格形式布局)
org.apache.log4j.PatternLayout (可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout (包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout (包含日志产生的线程、类别等等信息)
c.使用:
private static Logger logger = Logger.getLogger(TestLogger.class); public static void main(String[] args) {
// 记录 debug 级别的信息
logger.debug("This is debug message.");
// 记录 info 级别的信息
logger.info("This is info message.");
// 记录 error 级别的信息
logger.error("This is error message.");
try{
int i=1/0;
}catch(Exception e){
logger.error(e.getMessage());
}
}
d.例子:
①将错误信息输出到html文件中
log4j.rootLogger=debug,appender1
log4j.appender.appender1=org.apache.log4j.FileAppender
log4j.appender.appender1.File=c:\\myLog4J.html
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
②输出日志信息到文件中
log4j.appender.appender2=org.apache.log4j.FileAppender
log4j.appender.appender2.File=c:\\myLog4J.txt
log4j.appender.appender2.layout=org.apache.log4j.SimpleLayout
③自定义输出样式
log4j.appender.appender3=org.apache.log4j.ConsoleAppender
log4j.appender.appender3.layout=org.apache.log4j.PatternLayout
log4j.appender.appender3.layout.ConversionPattern =%d{yyyy-MM-dd hh:mm:ss} %r %t %p - %c -%l -%m%n
%m 输出代码中指定的消息
%p 输出优先级,即 DEBUG , INFO , WARN , ERROR , FATAL
%r 输出自应用启动到输出该 log 信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符, Windows 平台为 “rn” , Unix 平台为 “n”
%d 输出日志时间点的日期或时间,默认格式为 ISO8601 ,也可以在其后指定格式,比如: %d{yyy MMM dd HH:mm:ss,SSS} ,输出类似: 2002 年 10 月 18 日 22 : 10 : 28 , 921
%l 输出日志事件的发生位置,包括类目名、发生的线程
④按一定的频度滚动日志记录文件
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.file.File=c:\\run.log
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%c %x - %m%n
在DailyRollingFileAppender中可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为:
'.'yyyy-MM,对应monthly(每月)
'.'yyyy-ww,对应weekly(每周)
'.'yyyy-MM-dd,对应daily(每天)
'.'yyyy-MM-dd-a,对应half-daily(每半天)
'.'yyyy-MM-dd-HH,对应hourly(每小时)
'.'yyyy-MM-dd-HH-mm,对应minutely(每分钟)
e.简单解决中文
log4j.appender.appender3.encoding=GBK
最新文章
- hihocoder #1178 : 计数 暴力
- visual studio 2013 配置 ef+pgsql
- mvn命令安装jar包--转
- Android 使用XmlSerializer生成xml文件
- [leetcode-617-Merge Two Binary Trees]
- qwe 简易深度框架
- JS刷题总结
- postgresql分析函数
- macOS 安装 Java (Homebrew)
- oracle 的 exp 和imp命令
- ROS tf
- Oracle FM FM09999999 确保8位数字 即使全是0
- 在IIS7上导出所有应用程序池的方法批量域名绑定(网站绑定)
- 连续子数组最大和(python)
- (转)WebSocket学习
- 009.KVM配置调整
- Robot Framework分层、开发系统关键字
- 如何学好Java大数据并快速提升
- Eclipse安装教程
- 【10.11校内测试】【优先队列(反悔贪心)】【莫队】【stl的应用??离线处理+二分】
热门文章
- Hbase理论&;&;hbase shell&;&;python操作hbase&;&;python通过mapreduce操作hbase
- js基础学习
- WebSocket异步通讯,实时返回数据
- Confluence 6 生产环境备份策略
- Linux 用户(user)和用户组(group)管理概述
- js 图片转换base64 base64转换为file对象
- 论文阅读笔记一:Tutorial on Gabor Filters
- Python模块的导入以及软件开发规范
- python---冒泡和短冒泡排序
- JSP中三大指令