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

JavaEE 之 log4j的更多相关文章

  1. [Log4j使用教程] JavaSE/JavaEE/SpringMVC中使用Log4j

    要想使用Log4j, 首先需要下载到Log4j的jar, Download: http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log ...

  2. JavaEE Log4j

    1.Log4j是Apache的一个开放源代码项目,可以通过一个配置文件来灵活的进行配置,而不需要修改应用的代码. 2.Log4j有三个主要部件组成: 记录器:按照布局中指定的格式把日志信息写入一个或多 ...

  3. JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j [转]

    1. 加入log4j和slf4j的jar包 2. web.xml: <context-param> <!--log4j配置地址 --> <param-name>lo ...

  4. 【JavaEE】SSH+Spring Security基础上配置AOP+log4j

    Spring Oauth2大多数情况下还是用不到的,主要使用的还是Spring+SpringMVC+Hibernate,有时候加上SpringSecurity,因此,本文及以后的文章的example中 ...

  5. JavaEE开发基础

    1 JavaEE简介 Java平台有三个版本,分别是JavaSE(Java Platform, Standard Edition),JavaEE(Java Platform, Enterprise E ...

  6. Log4j框架

    一.Log4j基本使用方法 Log4j由三个重要的组件构成:日志信息的优先级 Loggers,日志信息的输出目的地 Appenders,日志信息的输出格式 Layouts .日志信息的优先级从高到低 ...

  7. 转:Log4j使用

    转:https://my.oschina.net/kkrgwbj/blog/638780 日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录. ...

  8. 【转载】Log4j详细使用教程

    本文由林炳文Evankaka创作,出处http://blog.csdn.net/evankaka 日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日 ...

  9. 最详细的Log4j使用教程

    日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...

随机推荐

  1. Java位运算符浅析

    在学习源码中,发现有大量使用位运算符,这样做的目的是为了节约内存开销和加快计算效率. 位运算符,这个”位”代表这什么? 位:二进制位简称“位”,是二进制记数系统中表示小于2的整数的符号,一般用1或 0 ...

  2. Oracle 数据库导入与出

    Oracle 数据库导入与出 导出( EXPORT )是用 EXP 将数据库部分或全对象的结构和导出 . 导入( 导入( IMPORT )是用 )是用 IMP IMP将 OS 文件中的对象结构和数据装 ...

  3. 【深度学习】吴恩达网易公开课练习(class1 week3)

    知识点梳理 python工具使用: sklearn: 数据挖掘,数据分析工具,内置logistic回归 matplotlib: 做图工具,可绘制等高线等 绘制散点图: plt.scatter(X[0, ...

  4. 《剑指offer》 链表中倒数第k个节点

    本题来自<剑指offer> 链表中倒数第k个节点 题目: 输入一个链表,输出该链表中倒数第k个结点. 思路: 倒数第k个节点,而且只能访问一遍链表,定义两个节点,两者之间相差k个距离,遍历 ...

  5. WinHex数据恢复笔记(二)

    续写上次笔记: 1.Winhex数据恢复软件的界面上的所有功能已经介绍了一遍,最主要的还是编程恢复的能力. 今天主要看看记事本的编辑恢复及其相关的一些问题,记事本的 编辑值是ASCII值,所以没有文件 ...

  6. 小学生都看得懂的C语言入门(2): 判别 循环的一些应用实例

    1.bool 类型 定义bool类型之前需要导入#include <stdbool.h> #include <stdio.h> #include <stdbool.h&g ...

  7. poj3162 树形dp|树的直径 + 双单调队列|线段树,好题啊

    题解链接:https://blog.csdn.net/shiqi_614/article/details/8105149 用树形dp是超时的,, /* 先求出每个点可以跑的最长距离dp[i][0|1] ...

  8. C++ 使用LockWorkStation()的过程遇到的问题

    关于函数“LockWorkStation()”,参见:https://msdn.microsoft.com/en-us/library/windows/desktop/aa376875.aspx Ho ...

  9. C++ GetSystemDirectory()

    关于GetSystemDirectory function,参考:https://msdn.microsoft.com/en-us/library/windows/desktop/ms724373(v ...

  10. Python学生信息管理系统的开发

    # 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...