Java-Log4j日志入门

本文介绍了Java中Log4j日志框架的使用,包括日志记录的好处、日志输出级别、配置文件log4j.properties的设置以及如何在代码中使用Log4j进行日志打印。通过实例展示了不同级别的日志输出,并提供了日志文件的存储路径和内容格式。文章强调了合理使用日志级别以区分问题的重要性,并提供了详细的日志格式说明。
摘要由CSDN通过智能技术生成

Java-Log4j日志入门

概述

项目开发中,记录错误日志有以下好处:

  1. 方便调试
  2. 便于发现系统运行过程中的错误
  3. 存储业务数据,便于后期分析

日志输出级别

logger.debug(); //指出信息事件

logger.info(); 程序运行过程

logge.warn(); 表名会出现潜在错误的情形(未知的错误)

logger.error(); 指出虽然发生错误事件,但是不影响程序的运行

logger.fatal(); 指出严重的错误事件将会导致程序退出,

debug<info<warn<error<fatal

通过修改日志文件器log4j.properties 将只输出高于或者等于他级别信息

例如log4j.rootLogger= debug,console,logfile

如果设置info 那么只会打印info,warn,error,fatal级别内容 而debug不会打印

根据实际情况进行使用 主要区分 不同情况出现的问题

虽然 随便使用不会有问题 但是 这影响到 看日志的人 这到底是bug 还是 正常执行时进行的操作 还是什么 ??

实现日志的步骤

需要的依赖

log4j-1.2.17.jar

下载地址:

http://download.huitoushian.cn/index.jsp?path=D%3A\wwwroot\doc.huitoushian.cn\jar\&filename=log4j-1.2.17.jar

Maven

  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
  </dependency>

log4j.properties配置文件

## 设置Logger输出级别和输出目的地(可以指定多个目的地) ###
### 一般在开发的时候使用debug,开发完成后使用error ###
### 他们对应的是输出信息的级别,级别越低信息输出越详细,使用debug级别的时候,info中的信息也能输出,使用info的时候,debug对应的信息显示不出来 ###
### 日志记录器输出级别:fatal>error>warn>info>debug ###
### 后面的两个对应下方的两处 一处打印在控制台 另一处打印在日志文件里
log4j.rootLogger=debug,console,logFile

#############################################################################################
### 把日志信息输出到控制台 ###
log4j.appender.console=org.apache.log4j.ConsoleAppender
### 信息打印到System.err上,红色 ###
log4j.appender.console.Target=System.out
### 指定日志在控制台上输出的布局类型  采用指定格式的类型 ###
log4j.appender.console.layout=org.apache.log4j.PatternLayout
### %r:输出自应用启动到输出该 log信息耗费的毫秒数    %x表示信息输出时左对齐 
### %5p:%p表示输出日志信息优先级,即 DEBUG, INFO, WARN, ERROR, FATAL 中间的5控制最小的宽度为5
### %F:%L %F:输出日志消息产生时所在的文件名称   %L:输出代码中的行号
### %l:输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及行数
### %m:输出代码中指定的消息,产生的日志具体信息  %n:输出一个回车换行符, Windows 平台为"\r\n", Unix 平台为"\n"输出日志信息换行
log4j.appender.console.layout.ConversionPattern= -> (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
#############################################################################################

#############################################################################################
### 把日志信息输出到文件:logt.log 注意:如果有路径\符号一定要写成\\ 否则会被转义  ###
log4j.appender.logFile=org.apache.log4j.FileAppender
### 指定日志输出的文件名 ###
log4j.appender.logFile.File=D:\\log.log
### 指定转换模式 ###
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
### 指定日志布局类型 ###
###log4j.appender.logFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%l %F %p %m%n
###log4j.appender.logFile.layout.ConversionPattern= -> (%r ms) - %d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n
log4j.appender.logFile.layout.ConversionPattern= -> (%r ms) - %d{yyyy-MM-dd HH:mm:ss}%x[%5p]%l %m%n
#############################################################################################

这里注意 log4j.appender.logFile.File= 这里是你日志存放的地方

其他的几乎不用动

  1. 添加log4j依赖和log4j配置文件

    依赖要放在lib目录下并且解析

    配置文件要放在resource目录下

  2. 然后修改 文件 的log4j.appender.logFile.File=路径

    路径格式不要是中文 不然会找不到路径 路径分割符一定要\\

    log4j.appender.logFile.File=C:\\Users\\log.log

  3. 在使用的时候 导入import org.apache.log4j.Logger;

    特别注意不要导入错误了

  4. 添加静态成员属性

    public static Logger logge=Logger.getLogger(当前类.class);

然后就可以通过logge.xxx来写日志了

测试:

package cn.htsa.www.test;
import org.apache.log4j.Logger;
import org.junit.Test;
public class test {
public static Logger logge=Logger.getLogger(test.class);

    @Test
    public void showriz() {
        logge.debug("debug");
        logge.info("info");
        logge.warn("warn");
        logge.error("error");
        logge.fatal("fatal");
    }

}


本地D:下的,log.log文件内显示结果

-> (0 ms) - 2020-06-22 18:04:43[DEBUG]cn.htsa.www.test.test.showriz(test.java:19) debug
-> (7 ms) - 2020-06-22 18:04:43[ INFO]cn.htsa.www.test.test.showriz(test.java:20) info
-> (8 ms) - 2020-06-22 18:04:43[ WARN]cn.htsa.www.test.test.showriz(test.java:21) warn
-> (8 ms) - 2020-06-22 18:04:43[ERROR]cn.htsa.www.test.test.showriz(test.java:22) error
-> (8 ms) - 2020-06-22 18:04:43[FATAL]cn.htsa.www.test.test.showriz(test.java:23) fatal

打印的日志信息 格式

输出日志毫秒 日期时间 日志级别 文件路径.文件位置.方法 输出日志的行号

(行号有可能发生轻度偏移和实际位置不一致 ,但是就在那一片找找就能找到)

点赞 -收藏-关注-便于以后复习和收到最新内容
有其他问题在评论区讨论-或者私信我-收到会在第一时间回复
如有侵权,请私信联系我
感谢,配合,希望我的努力对你有帮助^_^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡安民

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值