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
JavaEE 之 log4j的更多相关文章
- [Log4j使用教程] JavaSE/JavaEE/SpringMVC中使用Log4j
		
要想使用Log4j, 首先需要下载到Log4j的jar, Download: http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log ...
 - JavaEE Log4j
		
1.Log4j是Apache的一个开放源代码项目,可以通过一个配置文件来灵活的进行配置,而不需要修改应用的代码. 2.Log4j有三个主要部件组成: 记录器:按照布局中指定的格式把日志信息写入一个或多 ...
 - JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j [转]
		
1. 加入log4j和slf4j的jar包 2. web.xml: <context-param> <!--log4j配置地址 --> <param-name>lo ...
 - 【JavaEE】SSH+Spring Security基础上配置AOP+log4j
		
Spring Oauth2大多数情况下还是用不到的,主要使用的还是Spring+SpringMVC+Hibernate,有时候加上SpringSecurity,因此,本文及以后的文章的example中 ...
 - JavaEE开发基础
		
1 JavaEE简介 Java平台有三个版本,分别是JavaSE(Java Platform, Standard Edition),JavaEE(Java Platform, Enterprise E ...
 - Log4j框架
		
一.Log4j基本使用方法 Log4j由三个重要的组件构成:日志信息的优先级 Loggers,日志信息的输出目的地 Appenders,日志信息的输出格式 Layouts .日志信息的优先级从高到低 ...
 - 转:Log4j使用
		
转:https://my.oschina.net/kkrgwbj/blog/638780 日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录. ...
 - 【转载】Log4j详细使用教程
		
本文由林炳文Evankaka创作,出处http://blog.csdn.net/evankaka 日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日 ...
 - 最详细的Log4j使用教程
		
日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...
 
随机推荐
- PHP 转义
			
函数名 释义 介绍 htmlspecialchars 将与.单双引号.大于和小于号化成HTML格式 &转成&"转成"' 转成'<转成<>转成> ...
 - iOS 横屏模态进入下一级界面, 竖屏退出
			
首先 Deployment Info 设置 除了 Upside Down 都勾选 然后,在AppDelegate.h 文件中 添加属性 @property(nonatomic,assign)NSI ...
 - Java中关于string的些许问题及解析
			
问题一:String 和 StringBuffer 的区别JAVA 平台提供了两个类: String 和 StringBuf fer ,它们可以储存和操作字符串,即包含多个字符的字符数据.这个 Str ...
 - Oracle12c Release1 安装图解(详解)
			
Oracle12c Release1 安装图解(详解) Oracle12c 终于发布了,代号为 c,即为 Cloud(云),替代了网格 (Grid)运算. 我的机器基础环境:Windows8(x64) ...
 - Confluence 6 XML 备份失败的问题解决
			
XML 站点备份仅仅被用于整合到一个新的数据库.设置一个测试服务器 或者 创建一个可用的备份策略 相对 XML 备份来说是更合适的策略. 相关页面: Enabling detailed SQL log ...
 - Confluence 6 从你的 JDBC 连接中直接启用校验查询
			
确定 Confluence 在数据库连接池中校验数据库连接: 停止 Confluence. 编辑 <home-directory>confluence.cfg.xml 文件. 针对你特定的 ...
 - SpringCloud注册中心(Eureka)
			
注册中心的作用就是用来方便接口暴露出来的一个管理工具,如果所有的接口只是暴露出来,没有一个同一的管理工具,又有谁知道你暴露了哪些接口了,Eureka是一个springcloud的服务注册和发现模块 搭 ...
 - Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO
			
我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动 ...
 - QuerySet中添加Extra进行SQL查询
			
select参数接受一个映射到SQL的字符串标识字典,让你可以根据SQL select子句里的选择进行对模型实例添加属性,或者查询. from blog.models import BlogPost& ...
 - 原创 《算法》java第四版,标准输入
			
<算法>学习过程中,在eclipse里调试时,对于官方提供的源码中标准输入的操作,没有搞懂 自己改了一下,直接读取本地测试数据测试数据可在http://algs4.cs.princet ...