log4j总结

package log;

import org.apache.log4j.Logger;

public class Log4j {
 //在property文件中注释用#
 //【Log4j核心组成】
 //Logger 主要完成日志信息的处理,可以设置级别等
 //Appender 设置日志信息的去向,可以输出到控制台,文件,数据库
 //Layout设置日志信息的输出样式,包含信息的行号,时间等

 private static Logger logger = Logger.getLogger(Log4j.class);//静态

 public static void main(String[] args) {
  // 【1】级别依次增高(8种级别)
  //all<trace<debug<info<warn<error<fatal<off如果在配置文件中设置了级别为
  // debug则此三行都输出,如果设置的级别为info,则只输出后两条
  // 说明只能输出高于等于当前级别的信息才能输出
  /*【2】配置文件
   * log4j.rootLogger=debug级别,appender1
   * log4j.appender.appender1=org.apache.log4j.ConsoleAppender输出类型:控制台
   * log4j.appender.appender1=org.apache.log4j.FileAppender输出类型:文件格式
   * 【***】
   * log4j.appender.appender1.File=C:/testlog4.log 输出的文件位置
   * log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout信息输出的样式
   * 【3】如果要想以html格式输出可以设置
   * * log4j.appender.appender1.File=C:/testlog4.html 输出位置
   * log4j.appender.appender1.layout=org.apache.log4j.HtmlLayout输出的样式
   * 【4】将程序再次运行发现原来的文件并没有被覆盖,而是附加到了原来的信息后面
   * 【5】可以同时在控制台输出和文件中保存,需要如下设置
   * log4j.rootLogger=debug,appender1,appender2(需要增加一个参数appender2)
   log4j.appender.appender2=org.apache.log4j.ConsoleAppender
   log4j.appender.appender1=org.apache.log4j.FileAppender
   log4j.appender.appender1.File=C:/testlog4.html
   log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
   log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout(SimpleLayout)
   * 【6】Appender常用的有以下几个
   * org.apache.log4j.ConsoleAppender(控制台)
   * org.apache.log4j.FileAppender(文件)
   * org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
   * org.apache.log4j.RollingFileAppender(文件大小到达制定的尺寸产生一个新的的文件)
   * org.apache.log4j.WriterAppender(将日志讯息以流的格式发送到任意制定的地方)
   * org.apache.log4j.JdbcAppender(将日志讯息保存到数据库中)
   * 【7】log4j提供的layout有以下几种
   * org.apache.log4j.HTMLLayout(以html表格的形式布局)
   * org.apache.log4j.SimpleLayout(包含日志讯息的级别和讯息字符串)
   * org.apache.log4j.TTCCLayout(包含日志产生的时间,执行绪,类别等等信息)
   * org.apache.log4j.PatternLayout(可以灵活的制定布局模式)
   *
   * 【7-1】PatternLayout的定制
   * %p输出优先级
   * %r输出自应用启动到输出该日志讯息所耗费的毫秒数
   * %t输出产生日志事件的线程数
   * %f输出日志讯息所属的类别的类别名
   * %c输出日志讯息所属的类的全名
   * %d输出日志时间点的日期或时间,制定格式的的方式:%d{yyyy-MM-dd HH:mm:ss}
   * %l输出日志事件的发生位置,即输出日志讯息的语句处于它所在的类别的第几行
   * %m输出代码中制定的讯息,如log(message)中的message
   * %n输出一个换行符号
   *例子:
   *log4j.rootLogger=debug,appender1,appender2
   *log4j.appender.appender2=org.apache.log4j.ConsoleAppender
   *log4j.appender.appender1=org.apache.log4j.FileAppender
   *log4j.appender.appender1.File=C:/testlog4.html
   *log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
   *log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
   *log4j.appender.appender2.layout.ConversionPattern=%r %p %m  %d{yyyy-MM-dd HH:mm:ss} %n
   *
   * 【8】RootLogger
   * log4j.rootLogger=[level级别],appender1...appendern
   *
   * 【9】可以为不同的包下的类指定log
   *  log4j.rootLogger=debug,appender1(默认)
   * log4j.logger.log1(包名)=info,appender2(可以理解为自定义,分别运行可看到效果)
   *
   * log4j.appender.appender1=org.apache.log4j.ConsoleAppender
   *  log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
   *
         *
   *  log4j.appender.appender2=org.apache.log4j.FileAppender
      *  log4j.appender.appender2.File=C:/testlog4.log
   * log4j.appender.appender2.layout=org.apache.log4j.HTMLLayout
   * 【10】也可以用xml文件的形式此时应该把原来的文件修改或重命名在此重命名为 log4j.properties.bak,然后添加一个xml文件
   * <?xml version="1.0" encoding="UTF-8"?>
   * <!DOCTYPE log4j:configuration  SYSTEM "log4j.dtd">
   * <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
   * <appender name="appender1" class="org.apache.log4j.RollingFileAppender">(文件大小到达制定的尺寸产生一个新的的文件)
   * <param name="File" value="logfile.html" />(文件名)
   * <param name="MaxFileSize" value="1MB" />(大小为1mb,超过1mb将转向下一个文件)
   * <param name="MaxBackupIndex" value="5"/>(表示有5个备份文件)
   * <layout class="org.apache.log4j.HTMLLayout"/>(输出形式)
   * </appender>
   * <root>
   * <priority value="debug"/>(级别)
   * <appender-ref ref="appender1"/>
      * </root>
   * </log4j:configuration>
   *
   *
   */
  logger.debug("this is debug message");
  logger.info("this is info message");
  logger.error("this is error message");

 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值