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

最新文章

  1. hihocoder #1178 : 计数 暴力
  2. visual studio 2013 配置 ef+pgsql
  3. mvn命令安装jar包--转
  4. Android 使用XmlSerializer生成xml文件
  5. [leetcode-617-Merge Two Binary Trees]
  6. qwe 简易深度框架
  7. JS刷题总结
  8. postgresql分析函数
  9. macOS 安装 Java (Homebrew)
  10. oracle 的 exp 和imp命令
  11. ROS tf
  12. Oracle FM FM09999999 确保8位数字 即使全是0
  13. 在IIS7上导出所有应用程序池的方法批量域名绑定(网站绑定)
  14. 连续子数组最大和(python)
  15. (转)WebSocket学习
  16. 009.KVM配置调整
  17. Robot Framework分层、开发系统关键字
  18. 如何学好Java大数据并快速提升
  19. Eclipse安装教程
  20. 【10.11校内测试】【优先队列(反悔贪心)】【莫队】【stl的应用??离线处理+二分】

热门文章

  1. Hbase理论&amp;&amp;hbase shell&amp;&amp;python操作hbase&amp;&amp;python通过mapreduce操作hbase
  2. js基础学习
  3. WebSocket异步通讯,实时返回数据
  4. Confluence 6 生产环境备份策略
  5. Linux 用户(user)和用户组(group)管理概述
  6. js 图片转换base64 base64转换为file对象
  7. 论文阅读笔记一:Tutorial on Gabor Filters
  8. Python模块的导入以及软件开发规范
  9. python---冒泡和短冒泡排序
  10. JSP中三大指令