Log4J日志配置详解

http://www.cnblogs.com/ITtangtang/p/3926665.html

http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html

http://blog.csdn.net/anlina_1984/article/details/5313023

log4j分级别打印日志+通过socket将日志传输至日志服务器

 

  • 指定输出日志级别
package test.log;

import org.apache.log4j.FileAppender;
import org.apache.log4j.Priority;

public class MyAppender extends FileAppender {
    @Override
    public boolean isAsSevereAsThreshold(Priority priority) {
        // 只判断是否相等,而不判断优先级
        return this.getThreshold().equals(priority);
    }
}
  •  自定义日志配置
#log4j.properties
###自定义通用设置
#日志根目录
mylog.path = D://logs
#写文件方式
#mylog.appender = org.apache.log4j.MyAppender
mylog.appender = test.log.MyAppender
#true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容
mylog.append = true
#自定义总级别:DEBUG < INFO < WARN < ERROR < FATAL
mylog.level = TRACE
#false表示只输出到自定义日志,true表示也同时输出到rootLogger
mylog.additivity = true
#指定布局模式
mylog.layout = org.apache.log4j.PatternLayout
#设定以怎样的格式显示消息
mylog.layout.ConversionPattern = %d|%m%n

### 设置###
log4j.rootLogger = DEBUG,stdout

### 输出信息到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

#自定义debug日志
log4j.logger.myDebug = ${mylog.level}, debug, info, warning, error, trace

log4j.appender.trace = ${mylog.appender}
log4j.appender.trace.File = ${mylog.path}/trace.log
log4j.appender.trace.Append = ${mylog.append}
log4j.appender.trace.Threshold = TRACE
log4j.appender.trace.layout = ${mylog.layout}
log4j.appender.trace.layout.ConversionPattern = ${mylog.layout.ConversionPattern}

log4j.appender.debug = ${mylog.appender}
log4j.appender.debug.File = ${mylog.path}/debug.log
log4j.appender.debug.Append = ${mylog.append}
log4j.appender.debug.Threshold = DEBUG
log4j.appender.debug.layout = ${mylog.layout}
log4j.appender.debug.layout.ConversionPattern = ${mylog.layout.ConversionPattern}

log4j.appender.info = ${mylog.appender}
log4j.appender.info.File = ${mylog.path}/info.log
log4j.appender.info.Append = ${mylog.append}
log4j.appender.info.Threshold = INFO
log4j.appender.info.layout = ${mylog.layout}
log4j.appender.info.layout.ConversionPattern = ${mylog.layout.ConversionPattern}

log4j.appender.warning = ${mylog.appender}
log4j.appender.warning.File = ${mylog.path}/warning.log
log4j.appender.warning.Append = ${mylog.append}
log4j.appender.warning.Threshold = WARN
log4j.appender.warning.layout = ${mylog.layout}
log4j.appender.warning.layout.ConversionPattern = ${mylog.layout.ConversionPattern}

log4j.appender.error = ${mylog.appender}
log4j.appender.error.File = ${mylog.path}/error.log
log4j.appender.error.Append = ${mylog.append}
log4j.appender.error.Threshold = ERROR
log4j.appender.error.layout = ${mylog.layout}
log4j.appender.error.layout.ConversionPattern = ${mylog.layout.ConversionPattern}

log4j.additivity.myDebug = ${mylog.additivity}

#使用名称myDebug的logger,根据log4j.additivity.myDebug定义判定是否输出到rootLogger
#LoggerFactory.getLogger("myDebug");
#使用XXYY的classs全名的logger,如果没有定义,自动输出到rootLogger
#LoggerFactory.getLogger(XXYY.class);

 注意slf4j-log4j12需要直接引入jar文件,不要通过maven引入,否则会出现如下报错,无法正常记录日志

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值