六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 92|回复: 0

log4j 1.3的配置和主要应用

[复制链接]

升级  14.67%

18

主题

18

主题

18

主题

秀才

Rank: 2

积分
72
 楼主| 发表于 2013-2-7 19:51:56 | 显示全部楼层 |阅读模式
一.Log4j的基本概念
1.Logger: 日志记录器.
日志的级别 级别越低 日志记录将更详细
级别有(由高到底)off,fatal,error,warn,info,debug,all 级别高的可覆盖级别低的日志输出
2.Appender: 输出端 指定日志输出到那个地方.一个Logger可以有多个Appender输出端,每个Appender输出端也可以被多个Logger使用.
常用的输出端有:
ConsoleAppender 将日志输出到控制台
org.apache.log4j.rolling.RollingFileAppender 可指定文件和日期的输出端
WriterAppender 将日志以流格式发送到任何指定的地方
JDBCAppender 通过JDBC把日志输出到数据库中
3.Layout: 日志格式化
log4j有三种Layout:
HTMLLayout 格式化日志输出为HTML表格;
PatternLayout 根据指定的格式(ConversionPattern)格式化日志输出(常用)
SimpleLayout 以非常简单的方式输出

二.配置
1. log4j的配置文件 log4j.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration ><configuration xmlns='http://logging.apache.org/' debug="true"><!-- 把日志输出到控制台中 --><appender name="console" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L)  %m%n" /></layout></appender><!-- 把日志按日期输出到日期日志文件中 --><appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender"><rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"><param name="FileNamePattern" value="${catalina.home}/log4jlogs/mywebsite.%d{yyyy-MM-dd}.log.zip" /></rollingPolicy><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{MM-dd HH:mm:ss} %p [%t] %C{2} (%F:%L) - %m%n" /></layout></appender><!-- 终端日志文件 --><appender name="terminal-logger" class="org.apache.log4j.DailyRollingFileAppender"><param name="File" value="${catalina.home}/logs/kiosks/TerminalService.log" /><param name="Append" value="true" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{MM-dd HH:mm:ss} [%p] [%t] (%F:%L): %m%n" /></layout><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="levelMin" value="INFO" /><param name="AcceptOnMatch" value="true" /></filter></appender><logger name="com.macaufly.kiosks"><level value="INFO" /><appender-ref ref="terminal-logger" /></logger><!-- 设置接收所有输出的通道(但在logger中定义的级别在这里不起作用) --><root><level value="debug" /><!-- 设置级别 --><appender-ref ref="console" /></root><!--设置域名限制,即 com.dchaoxiong.studentmanage.servlets包及以下的日志均输出到下面指定的通道(appender-ref)中--><logger name="com.dchaoxiong.studentmanage.servlets"><level value="debug" /> <!-- 设置级别 --><appender-ref ref="ROLL" /><!-- 与前面的通道id相对应 --></logger></configuration>
2. 把该配置文件放在工程的类路径下
3.private Logger logger = Logger.getLogger(ClassName.class);取得loger类
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表