Java项目日志记录(log4j使用)

Log4j由三个重要的组成构成:

日志记录器(Loggers)

输出端(Appenders)

日志格式化器(Layout)

每个Logger都被了一个日志级别(log level),用来控制日志信息的输出。日志级别从高到低分为:
A:off         最高等级,用于关闭所有日志记录。
B:fatal       指出每个严重的错误事件将会导致应用程序的退出。
C:error      指出虽然发生错误事件,但仍然不影响系统的继续运行。
D:warm     表明会出现潜在的错误情形。
E:info         一般和在粗粒度级别上,强调应用程序的运行全程。
F:debug     一般用于细粒度级别上,对调试应用程序非常有帮助。
G:all           最低等级,用于打开所有日志记录。

如果使用了某个优先级,那么低于这个优先级的log都不会打印。

Log4j提供的appender有以下几种:

 org.apache.log4j.ConsoleAppender(控制台)

 org.apache.log4j.FileAppender(文件)

 org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)

 org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件)

 org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)


log4j提供以下4种布局样式:

 org.apache.log4j.HTMLLayout(以HTML表格形式布局)

 org.apache.log4j.PatternLayout(可以灵活地指定布局模式,就是可以自定义输出样式),

 org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

 org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.CONSOLE.layout.ConversionPattern=%d{MM-ddHH:mm:ss}[%c-%L][%t][%-4r] - %m%n

打印参数, Log4J采用的是类似C语言中的printf函数的打印格式格式化日志信息的

   %m 输出代码中指定的消息

  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

  %r 输出自应用启动到输出该log信息耗费的毫秒数

  %c 输出所属的类目,通常就是所在类的全名

  %t 输出产生该日志事件的线程名

  %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”,也就是一跳消息占用一行

  %d 输出日志时间点的日期或时间,紧跟一对花括号进行自定义格式

      %c 输出所属的类目,通常就是所在类的全名

      %l 精确到行

      %x 输出对齐


配置文件log4j.properties(样例):

//log4j.rootLogger=日志级别,appender1, appender2, ….
log4j.rootLogger=DEBUG, CONSOLE, FILE_1, FILE_2,....
## for console
//定义这个为控制台输出。其中有2种:org.apache.log4j.ConsoleAppender org.apache.log4j.FileAppender
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender	
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{MM-ddHH:mm:ss}[%c-%L][%t][%-4r] - %m%n
## for file
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=D:/logs/log4j.log
log4j.appender.FILE.MaxFileSize=1MB
log4j.appender.FILE.Append = true
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-ddHH\:mm\:ss} [%t] %-5p %c(line-%L) %-4r %x - %m%na


你可能感兴趣的:(Java,web,java,log4j)