Log4j资料整合(1)

Log4j重点总结

log4j简介

log4j是由java编写的一个日志框架,使用Apache软件许可证,由开源倡议认证一个完全成熟的开源许可证下发布。
log4j是高度可配置的,可根据开发人员的配置来控制日志的输出,目的地包括很多例如:数据库、控制台、储存为文件、或是UNIX的系统日志中。

其主要包括三部分:
- loggers : 负责捕获记录信息
- appenders : 控制日志的发布信息,供其选择不同的目的地
- layout : 控制日志输出的一些格式信息

例如配置文件信息:

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out

log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=logs/ssm.log 
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n

log4j语法

  • Appender X 附加器的使用:
# Define the root logger with appender X
log4j.rootLogger = [Level], X

# Set the appender named X to be a File appender
log4j.appender.X=org.apache.log4j.FileAppender

# Define the layout for X appender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.conversionPattern=%m%n

X可以任意定义,代表coder为其所取得附加器名称。

Level指:Filter 对象可以分析超出级别的匹配记录信息,并决定是否记录的请求应该由一个特定 Appender 或忽略处理。level分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

下面是一段代码示例:

log4j.rootLogger = DEBUG,Console,File

#控制台日志
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n

#普通文件日志
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=logs/ssm.log
log4j.appender.File.MaxFileSize=10MB

#输出日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold=ALL
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n

根记录器rootLogger绑定了两个附加器Console和File,之后为名为Console和File的Appender配置其他属性。

Appender的属性及其作用:

属性作用
layoutAppender对象和Layout对象布局管理器格式的对应
target日志输出的目的地,默认值为:System.out,将日志输出到标准输出设备上,设置其他值是无效的
level日志的级别,当日志级别大于设置时,才会交给Appender来处理
threshold临界值过滤器,过滤掉低于指定临界值的日志。当日志级别等于或高于临界值时,过滤器返回NEUTRAL;当日志级别低于临界值时,日志会被拒绝。
filterFilter 对象可以分析超出级别的匹配记录信息,并决定是否记录的请求应该由一个特定 Appender 或忽略处理

可选Appender

上部分列出的代码中:Console使用的Appender为ConsoleAppender,File使用的为FileAppender,以下为其他可选的Appender,供使用者选择不同目的地时使用:

  • AppenderSkeleton

  • AsyncAppender

  • ConsoleAppender

  • DailyRollingFileAppender

  • ExternallyRolledFileAppender

  • FileAppender

  • JDBCAppender

  • JMSAppender

  • LF5Appender

  • NTEventLogAppender

  • NullAppender

  • RollingFileAppender

  • SMTPAppender

  • SocketAppender

  • SocketHubAppender

  • SyslogAppender

  • TelnetAppender

  • WriterAppender

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值