log4j 通用类

本文介绍了一个名为CliffLog的日志工具类,该工具类使用Apache Commons Logging API进行不同级别的日志记录,并展示了其构造方法及各种日志级别方法的实现。此外,还提供了一份详细的log4j配置文件,用于说明如何配置日志记录的输出方式。

package com.citi.common;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class CliffLog {

    public Log logger = null;

    public CliffLog(String className) {
        logger = LogFactory.getLog(className);
    }

    public void info(Object message) {
        if (logger.isInfoEnabled()) {
            logger.info(message);
        }
    }

    public void debug(Object message) {
        if (logger.isDebugEnabled()) {
            logger.debug(message);
        }
    }

    public void warn(Object message) {
        if (logger.isWarnEnabled()) {
            logger.warn(message);
        }
    }

    public void error(Object message, Exception e) {
        if (logger.isErrorEnabled()) {
            logger.error(message + "/n" + e);
        }
    }

    public void fatal(Object message) {
        if (logger.isFatalEnabled()) {
            logger.fatal(message);
        }
    }
}

 

配置文件:

log4j.rootCategory=info, stdout, mylog
log4j.category.com.citi=info, stdout, mylog

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]: %m%n

log4j.appender.mylog=org.apache.log4j.RollingFileAppender
log4j.appender.mylog.File=c://tmp//cliff.log
log4j.appender.mylog.MaxFileSize=100KB
log4j.appender.mylog.MaxBackupIndex=10
log4j.appender.mylog.layout=org.apache.log4j.PatternLayout
log4j.appender.mylog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]: %m%n

 

### 关于 Log4j通用配置方法 #### 日志级别设定 在 Log4j 中,可以通过配置文件来定义不同记录器的日志级别。常见的日志级别有 `TRACE`、`DEBUG`、`INFO`、`WARN`、`ERROR` 和 `FATAL`。这些级别的优先级依次升高。 ```properties log4j.rootLogger=DEBUG, CONSOLE, FILE ``` 此行表示根记录器的日志级别被设为 DEBUG,并且会将日志输出到控制台(CONSOLE)和文件(FILE)[^2]。 #### 输出目标 (Appender) 为了指定日志应该写入哪里,需要配置 Appenders。以下是两个常用的 Appender 型: - **ConsoleAppender**: 将日志信息打印至标准输出流。 ```properties log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender ``` - **FileAppender**: 把日志追加到特定路径下的文件中。 ```properties log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=/path/to/logfile.log ``` 还可以使用 RollingFileAppender 来实现当达到一定大小时自动滚动并备份旧日志的功能[^3]。 #### 布局(Layouts) 布局决定了每条日志的具体格式。PatternLayout 是最灵活的一种方式之一,允许自定义模板字符串来自动生成所需格式的日志条目。 ```properties log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n ``` 上述设置使得每次向控制台输出一条新日志时都会按照给定模式显示时间戳、日志等级、名以及具体的日志消息。 #### 完整示例配置文件 (`log4j.properties`) 下面给出了一份完整的基于 properties 文件形式的 Log4j 配置实例: ```properties # 设置默认日志级别及附加项 log4j.rootLogger=DEBUG, CONSOLE, ROLLING_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=[%t] %-5p %c - %m%n # 滚动文件输出配置 log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender log4j.appender.ROLLING_FILE.File=./logs/app.log log4j.appender.ROLLING_FILE.MaxFileSize=10MB log4j.appender.ROLLING_FILE.MaxBackupIndex=10 log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n ``` 该配置指定了两种型的 appender —— ConsoleAppender 和 RollingFileAppender;同时还设置了各自对应的 layout 样式。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值