配置日志输出到指定位置的文件,单独报错error级别以上的日志,按日志类别打印日志

工具:log4j的jar包、配置文件log4j.properties(文件名自定义)、eclipse或IDEA
更多参考:https://www.cnblogs.com/ITtangtang/p/3926665.html

1.配置文件

新建一个配置文件log4j.properties(我把它放在了C:\Users\YCKJ\IdeaProjects\mavendemo\src\main\resource目录下):

### set log levels ###
log4j.rootLogger = debug ,  stdout ,  D,R

### 1.输出到控制台 ###
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 =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n

### 2.输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true

## 输出DEBUG级别以上的日志
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 3.保存异常信息到单独文件 ###
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
## 异常日志文件名
log4j.appender.R.File = logs/error.log 
log4j.appender.R.Append = true

## 只输出ERROR级别以上的日志!!!
log4j.appender.R.Threshold = ERROR 
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

注意:

  1. 此配置文件的注释一定要独占一行,不要像eclipse中单行注注释一样写在当前行代码后面,那样会报错

  2. 其中的stdout是标准输出流,更多详情百度试试。

  3. 这样输出配置到三个位置:控制台(console)、当前项目下logs文件下 的log.log和error.log 。其中debug和error信息都会输出到控制台,debug以上的包括debug、error都会写进log.log里,error以上的才会写进error.log里。一般调试,就看error.log文件更省事省力。

2.测试程序:

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class main {

    public static void main(String[] args) {
        PropertyConfigurator.configure( "C:\\Users\\YCKJ\\IdeaProjects\\mavendemo\\src\\main\\resource\\log4j.properties" );
        Logger logger  =  Logger.getLogger(main.class );
        logger.debug( " debug " );
        logger.error( " error " );
    }
}

测试结果:

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值