log4j 学习

log4j 学习

使用

①程序需要打印日志,必须先声明一个Logger。
②调用Logger,使用不同的级别打印日志。
 FATAL: 打印致命错误信息
 ERROR: 打印错误信息
 WARN: 打印警告信息
 INFO: 打印普通信息
 DEBUG: 打印调试信息
 TRACE: 打印追踪信息
③在配置文件中编写Appender(决定日志输出到哪里及格式)。
④在配置文件中编写策略(哪些Logger使用什么Appender打印)。

配置文件

配置文件名称:
log4j.xml
log4j.properties

配置文件编写的内容: 参考PropertyConfigurator

示例

#配置Appender
#用OGNL语法解析配置文件
# Appender a = new org.apache.log4j.ConsoleAppender()
# 固定前缀 + 自定义的内容
log4j.appender.a=org.apache.log4j.ConsoleAppender


#a.setTarget("System.err")
log4j.appender.a.target=System.err

# a.setLayout(new org.apache.log4j.PatternLayout())
#默认样式: %m%n
# %m: 输出的内容消息
# %n: 换行
log4j.appender.a.layout=org.apache.log4j.PatternLayout


#输出的格式:   日期:yyyy-MM-dd HH:mm:ss空10格(全类名:方法名)==级别==>消息 换行
#%d{yyyy-MM-dd HH:mm:ss}%-10(%c:%M)==%p==>%m%n
log4j.appender.a.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss}          (%c:%M)==%p==>%m%n

#指定策略: 把logger和appender关联起来
# 固定前缀.Logger所在的全类名=打印日志的级别(输出指定级别以上的日志),Appender1,Appender2
log4j.logger.com.atguigu.log4j.demos.Log4jDemo1=trace,a

代码中使用:

public class Log4jDemo1 {

    public static void main(String[] args) {

        //声明一个Logger
        Logger logger = Logger.getLogger(Log4jDemo1.class);

        //级别打印日志
        logger.trace("trace:haha");
        logger.debug("debug:haha");
        logger.info("info:haha");
        logger.warn("warn:haha");
        logger.error("error:haha");
        logger.fatal("fatal:haha");

        //做了修改

    }
}

输出结果:
在这里插入图片描述

properties文件例2

log4j.properties文件:

#定义了一个ConsoleAppender 向控制台输出日志,红色打印,
log4j.appender.a=org.apache.log4j.ConsoleAppender
log4j.appender.a.target=System.err
log4j.appender.a.layout=org.apache.log4j.PatternLayout

# 年-月-日 时:分:秒  10个占位符  日志级别  (全类名:方法名) - 消息 换行
log4j.appender.a.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %10p (%c:%M) - %m%n


#定义了一个DailyRollingFileAppender 将日志写入到一个按照日期滚动的文件中。 当天的数据,会写入到app.log中,
# 过一天后,app.log会滚动,滚动的旧文件 以 app.log.昨天的日期 ,滚动的新文件还叫app.log
log4j.appender.b=org.apache.log4j.DailyRollingFileAppender
log4j.appender.b.file=/opt/module/applogs/app.log
log4j.appender.b.DatePattern='.'yyyy-MM-dd
log4j.appender.b.layout=org.apache.log4j.PatternLayout
log4j.appender.b.layout.ConversionPattern=%m%n


#代表指定哪个类的logger使用什么级别和appender进行日志输出  全类名可能需要修改
log4j.logger.com.atguigu.gmall_logger.controllers.LogController=info,b,a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值