log4j 打印日志

 

 

 

 

 

# Set log levels #     设置日志级别

log4j.rootLogger = INFO, DebugFile,Console, LogFile, ErrorFile   

 

## Disable other log     禁用其他日志

#log4j.logger.org.mybatis=DEBUG

log4j.logger.cn.vfinance.open.esb.appmanage.dao=ON

log4j.logger.cn.vfinance.open.job.dao=OFF

log4j.logger.cn.vfinance.open.job.schedule=OFF

log4j.logger.cn.vfinance.open.esb.core=OFF

log4j.logger.org.springframework.jdbc.datasource=OFF

 

 

# Output the log info to the Java Console #   将日志信息输出到Java控制台

log4j.appender.Console = org.apache.log4j.ConsoleAppender    输出日志和信息到控制台

log4j.appender.Console.Target = System.out   默认情况下是:System.out,指定输出控制台 

log4j.appender.Console.ImmediateFlush = true  默认值是true,所有的消息都会被立即输出

log4j.appender.Console.Threshold = INFO 输出INFO级别以上的日志  

log4j建议只使用4个级别,它们从上到下分别为ERRORWARNINFODEBUG,假设你定义的级别是info,那么errorwarn的日志可以显示而比他低的debug信息就不显示了。

log4j.appender.Console.layout = org.apache.log4j.PatternLayout  //灵活地指定布局模式

log4j.appender.Console.layout.ConversionPattern = %d{MM-dd HH:mm:ss} [%p] [%t] [%c(%r)] %m%n

设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n

 

 

# Save the log debug to the log file #   将日志调试保存到日志文件

log4j.appender.DebugFile = org.apache.log4j.RollingFileAppender   

文件大小到达指定尺寸的时候产生一个新的文件  

log4j.appender.DebugFile.File = /data/logs/laser/paas/laser/debug/debug.log   

定义名为DebugFile的输出端的文件名为D:///data/logs/laser/paas/laser/error/error.log可以自行修改

log4j.appender.DebugFile.Append = true   默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

log4j.appender.DebugFile.ImmediateFlush = true  默认值是true,所有的消息都会被立即输出

log4j.appender.DebugFile.MaxFileSize = 8MB   指定文件的最大 

log4j.appender.DebugFile.MaxBackupIndex = 256  日志最大备份数目

log4j.appender.DebugFile.Threshold = INFO     输出INFO级别以上的日志  

log4j.appender.DebugFile.layout = org.apache.log4j.PatternLayout   灵活地指定布局模式

log4j.appender.DebugFile.layout.ConversionPattern = %d{MM-dd HH:mm:ss} [%p] [%t] [%c(%r)] %m%n

设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:20021018221028921

 

 

# Save the log debug to the log file#   将日志调试保存到日志文件

log4j.appender.LogFile = org.apache.log4j.RollingFileAppender   文件大小到达指定尺寸的时候产生一个新的文件

log4j.appender.LogFile.File = /data/logs/laser/paas/laser/info/log.log   定义名为LogFile的输出端的文件名为/data/logs/laser/paas/laser/error/error.log可以自行修改。 

log4j.appender.LogFile.Append = true  默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

log4j.appender.LogFile.ImmediateFlush = true  默认值是true,所有的消息都会被立即输出

log4j.appender.LogFile.MaxFileSize = 8MB   指定文件的最大 

log4j.appender.LogFile.MaxBackupIndex = 256  日志最大备份数目

log4j.appender.LogFile.Threshold = INFO     输出INFO级别以上的日志  

log4j.appender.LogFile.layout = org.apache.log4j.PatternLayout   灵活地指定布局模式

log4j.appender.LogFile.layout.ConversionPattern = %d{MM-dd HH:mm:ss} [%p] [%t] [%c(%r)] %m%n

设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n

 

 

# Save the error info to the error file. A file one day. #   

将错误信息保存到错误文件中。一天的文件

log4j.appender.ErrorFile = org.apache.log4j.DailyRollingFileAppender   

定义名为ErrorFile的输出端的类型为每天产生一个日志文件。

log4j.appender.ErrorFile.File = /data/logs/laser/paas/laser/error/error.log  

定义名为ErrorFile的输出端的文件名为/data/logs/laser/paas/laser/error/error.log可以自行修改。

log4j.appender.ErrorFile.DatePattern='.'yyyy-MM-dd     

每天滚动一次文件,即每天产生一个新的文件。当然也可以指定按月、周、天、时和分

log4j.appender.ErrorFile.Append = true   

默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

log4j.appender.ErrorFile.ImmediateFlush = true  默认值是true,所有的消息都会被立即输出

log4j.appender.ErrorFile.Threshold = ERROR    输出INFO级别以上的日志  

log4j.appender.ErrorFile.layout = org.apache.log4j.PatternLayout   灵活地指定布局模式

log4j.appender.ErrorFile.layout.ConversionPattern =%d{MM-dd HH\:mm\:ss} [%p] [%t] [%c(%r)] %m%n

 

如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:

 

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

 

%p 输出优先级,即DEBUGINFOWARNERRORFATAL

 

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

 

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

 

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

 

%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n

 

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:20021018221028921

 

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。*/

 

 

 

 

 

 

 

 

 

 

 

配置信息解释:

 

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。

日志信息的优先级从高到低有ERRORWARNINFODEBUG,分别用来指定这条日志信息的重要程度;

日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容

 

logger是进行记录的主要类,appender是记录的方式,layout是记录的格式

 

 

此句为定义名为ErrorFile的输出端的layout是哪种类型,可以是

 

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

 

org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

 

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

 

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

 

log4j.rootLogger = [ level ], appendName1, appendName2, appendNameN。同一个记录器可有多个输出端。

 

 

1level的级别(此级别可以自定义,系统默认提供了以下级别):

 

 

debug//调试信息

info//一般信息

warn//警告信息

error//错误信息

fatal//致命错误信息

    上面列出的就是所谓log4j的输出级别,log4j建议只使用4个级别,它们从上到下分别为ERRORWARNINFODEBUG,假设你定义的级别是info,那么errorwarn的日志可以显示而比他低的debug信息就不显示了。

 

 

2log4j.appender.appenderName = fully.qualified.name.of.appender.classlog4j提供了以下几种常用的输出目的地:

    org.apache.log4j.ConsoleAppender,将日志信息输出到控制台

    org.apache.log4j.FileAppender,将日志信息输出到一个文件

    org.apache.log4j.DailyRollingFileAppender,将日志信息输出到一个,并且每天输出到一个新的日志文件

    org.apache.log4j.RollingFileAppender,将日志信息输出到一个文件,通过指定文件的的尺寸,当文件大小到达指定尺寸的时候会自动把文件改名,如名为example.log的文件会改名为 example.log.1,同时产生一个新的example.log文件。如果新的文件再次达到指定尺寸,又会自动把文件改名为 example.log.2,同时产生一个example.log文件。依此类推,直到example.log. MaxBackupIndexMaxBackupIndex的值可在配置文件中定义。

 

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

 

org.apache.log4j.jdbc.JDBCAppender,通过JDBC把日志信息输出到数据库中。

 

3Log4j提供了一下几种布局:

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

org.apache.log4j.PatternLayout,可以灵活地指定布局模式

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

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

 

定义一个PatternLayout布局的语句为:

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

4log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1} - %m%n

 

ConversionPattern参数的格式含义

 

格式名 含义

%c 输出日志信息所属的类的全名

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 221028

%f 输出日志信息所属的类的类名

%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行

%m 输出代码中指定的信息,如log(message)中的message

%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n

%p 输出优先级,即DEBUGINFOWARNERRORFATAL。如果是调用debug()输出的,则为DEBUG,依此类推

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

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

 

 

DatePattern='.'yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下:

 

1)'.'yyyy-MM: 每月  

2)'.'yyyy-ww: 每周

3)'.'yyyy-MM-dd: 每天

4)'.'yyyy-MM-dd-a: 每天两次

5)'.'yyyy-MM-dd-HH: 每小时

6)'.'yyyy-MM-dd-HH-mm: 每分钟

 

 

 

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

org.apache.log4j.FileAppender(文件)

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

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

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

posted on 2018-06-21 18:05  shenhaha  阅读(451)  评论(0编辑  收藏  举报

有用的话麻烦点个推荐哈