log4j

作者: kanaSki | 来源:发表于2019-07-26 13:06 被阅读0次

log4j是日志输出插件,专门用于进行日志管理。
日志是系统运行过程中的后台输出信息。
传统方式获取日志:
System.out.println() 进行后台打印
问题:
1.日志信息无法保存
2.无法显示完整日志信息
3.日志显示没有级别,所有日志混杂在一起,无法进行日志筛选
4.日志格式不友好

使用log4j进行日志管理:
1.日志可以单独保存在文件中
2.可以获取完整的日志信息
3.可以进行日志显示的筛选
4.格式友好

log4j.properties放在src下(可以拷贝eclipse中的log4j.properties文件)

log4j的使用流程:
1.导入log4j的jar包
2.配置log4j的配置文件
3.在使用log4j的类中声明全局的Logger对象
public static Logger logger=Logger.getLogger(类名.class)
使用Logger对象调用日志方法进行日志输出

log4j的配置文件解释:
注意:配置文件一定要存放在src下,并命名为log4j.properties
// 设置全局默认配置:
log4j.rootCategory=INFO, CONSOLE, LOGFILE 分别指默认级别,输出到控制台,输出到文件
// 设置某个包或者类或者某个方法的日志级别及输出位置:
log4j.logger.包名=FATAL, CONSOLE
log4j.logger.包名.类名=FATAL, CONSOLE
log4j.logger.包名.类名.方法名=DEBUG, CONSOLE
// 设置控制台输出配置: log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
// 设置文件输出位置:
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
常用输出格式:
%p-%d{yyyy/MM/dd hh:mm:ss}-%l-%m%n

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
import org.apache.log4j.Logger;

public class TestLog {
    public static void main(String[] args) {
        // 创建log4j对象,logger进入内存,直接读取log4j.properties文件
        Logger logger = Logger.getLogger(TestLog.class);
        logger.debug("debug");  // 一般在方法内部使用
        logger.info("info");  // 一般在方法调用时使用
        logger.warn("warn");  // 一般在警告时使用
        logger.error("error");  // 一般在catch代码块使用
        logger.fatal("fatal");  // 一般在catch代码块中使用
    }
}

log4j的日志级别:
FATAL 致命的错误
ERROR 异常错误
WARN 警告
INFO 信息(方法级别)
DEBUG 调试(代码级别)

log4j格式:
%C 包名+类名
%d{YYYY-MM-dd HH:mm:ss} 时间
%L 行号
%m 信息
%n 换行符

相关文章

网友评论

      本文标题:log4j

      本文链接:https://www.haomeiwen.com/subject/zmhqrctx.html