重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文小编为大家详细介绍“Java中Log4j日志如何用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中Log4j日志如何用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
创新互联公司一直在为企业提供服务,多年的磨炼,使我们在创意设计,网络营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过十载以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务重庆服务器托管、重庆APP开发公司、手机移动建站、网页设计、网络整合营销。
Log4J是Apache公司的开源项目,用于日志处理。
下载完成后,我们可以得到一个后缀名为jre的包。
可以新建一个项目,然后在项目内新建一个lib包,把log4j.jar这个包放进去。
然后在src内创建一个类:
按照图的步骤即可:
在这里把jre的包添加即可:
当完成上述操作后,即可在类里面建立对象:
注意:这里选择的Logger包是要来自apache的包,这里一定不要选错!
import org.apache.log4j.Logger; public class logTest { public static void main(String[] args) { //导入对象: Logger log = Logger.getLogger(logTest.class); log.error("用于记录error级别的信息"); //记录严重错误 log.warn("用于记录warn级别的信息"); //记录警告 log.info("用于记录info级别的信息"); //记录信息 log.debug("用于记录debug级别的信息"); //记录debug } }
接着我们需要创建配置文件:
新建一个文件file,文件后缀名一定要是properties
然后新建一个文件,名字可以设为:resources,并且把格式改为如下图:
然后把刚刚建的配置文件放入这个文件内即可:
我们需要在log.properties内配置以下三个最要信息:
配置你的程序将什么级别的日志记录到日志文件中
指定日志输出的目的地,是将日志记录到程序的控制台(瞬时状态的)还是在磁盘的某个文件中(持久化保存)
指定输出到控制台或者文件中的日志信息的输出格式,或者说以什么样的格式记录这些日志信息。
设置的模板如下:
直接复制到log.properties内即可:
# 1.设置输出级别info,可以将info以及更高级别的记录到日志文件中,但其更低的比如debug级别就不会记录到日志文件中
# stdout是设置的日志记录的目的地(名字可以随便起的当时要对应上)
log4j.rootLogger=info,stdout#2.设置日志记录的目的地(ConsoleAppender是记录到控制台)
log4j.appender.stdout=org.apache.log4j.ConsoleAppender#3.设置记录的格式或样式(System.err是红色样式、System.out是黑色样式)
log4j.appender.stdout.Target=System.err
# 设置记录的格式
#PatternLayout是按照我们自定义规则布局 (%d %l %m %n就是指定的规则布局)
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %l %m %n
这个配置信息我们可以先不看,完成上面的配置,我们先运行一下上面的那段代码:
如果出现这样,说明是正确的。 我们重新写一段代码来看看这个日志的功能:
import org.apache.log4j.Logger; import java.util.Scanner; public class test2 { public static void main(String[] args) { Logger logger = Logger.getLogger(test2.class); Scanner input = new Scanner(System.in); try{ System.out.println("请输入除数:"); int a = input.nextInt(); logger.debug("bug:输入除数"+a); logger.info("info:输入除数"+a); System.out.println("请输入被除数:"); int b = input.nextInt(); logger.debug("bug:输入除数"+b); logger.info("info:输入除数"+b); int c = a/b; //把结果记录到日志文件中 logger.debug("bug:结果"+c); logger.info("info:结果"+c); System.out.println("结果是:"+c); } catch (Exception e) { e.printStackTrace(); System.out.println(e.getMessage()); }finally { System.out.println("程序结束!!"); } } }
这是一段除法的运算,先运行,看效果:
我们发现,我们在程序内执行的每一步,日志都记录了下来,因为在配置文件内设置的是输出至控制台,所以直接在控制台显示了日志信息,如果需要输出至指定文件,需要配置如下:
然后再运行除法的程序:
在控制台没有显示日志信息了,因为已经设置成输出至指定的文件内: 根据设置的路径,我们可以看到:
这样的记录有时间信息,有程序名信息,还有在程序的第几行发生了什么的信息全部被记录了下来。 当然输出的格式还有很多很多,可以根据需要去另外设置即可!
日志的输出等级:
1.off:最高等级,用于关闭所有日志记录
2.fatal 指出每个严重的错误时间将会导致应用程序的退出
3.error 指虽然发送错误事件,但仍然不影响系统的运行
4.warn 指明会出现潜在的错误情形
5.info 一般用户记录程序的运行过程
6.debug 一般用于调试的信息记录
7.all 最低级别,用于打开所有的日志记录
读到这里,这篇“Java中Log4j日志如何用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。