log4j

1、Log4J以时间命名日志文件名
  1. Appender appender = LogManager.getLoggerRepository().getRootLogger().getAppender("A2");
  2. if(appender instanceof FileAppender)
  3. {
  4. FileAppender fileAppender = (FileAppender)appender;
  5. fileAppender.setFile( "log/" + DateUtil.getFormatDate() + ".log");
  6. fileAppender.activateOptions();
  7. }
2、指定日志信息的输出设备。Log4J 目前支持的输出设备有以下几种:
  • org.apache.log4j.ConsoleAppender(控制台)
  • org.apache.log4j.FileAppender(文件)
  • org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
  • org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
  • org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
  • org.apache.log4j.SocketAppender (Socket)
  • org.apache.log4j.NtEventLogAppender (NT的Event Log)
  • org.apache.log4j.JMSAppender (电子邮件)
3、指定日志输出的格式。Log4J 提供的 Layout 有以下几种:
  • org.apache.log4j.HTMLLayout(以 HTML 表格形式布局)
  • org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
  • org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
  • org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)   

4、指定灵活布局模式下日志的格式

  • #%c 输出所属类的全名
  • #%d 输出日志时间其格式为 可指定格式 如 %d{HH:mm:ss}等
  • #%n 换行符
  • #%m 输出代码指定信息,如info(“message”),输出message
  • #%p 输出日志的优先级,即 FATAL ,ERROR,INFO 等
  • log4j.appender.OPAL.layout.ConversionPattern=%d %p %c - %m%n
5、在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(每分钟)
  • DatePattern中不用处理的文字要放到单引号(‘)中

你可能感兴趣的:(log4j)