20190306——log for java Log4J

什么是日志,在项目中的日志就是用来记录我们程序运行的情况,当程序发生异常的时候,让你能迅速的找到出现问题的地方,从而节约时间。对于一个大型项目来说,日志记录是必不可少的,它记录了程序的每一次操作,以及当程序发生异常时的记录,对于开发人员后期的维护,提供了有用的第一手资料。

我们在对java程序进行调试的时候,经常会用到Sout语句,虽然它也能起到调制的作用,但是很不方便,比如说,有一个调试信息输出,我只要测试一下就不用了,这样我们得把这一行删掉,如果下次想用了,那还得加上去,这样会很麻烦。别担心,用了日志管理技术,只需要将日志的输出级别调高,那些低级别的日志就不会输出了,如果以后我又想再看看那些日志的话,再把级别调低。


什么是Log4j

log for java 是我们日常日志管理的小能手,它是Apache的一个开源项目,我们可以通过这个小助手很方便的将日志信息输出到控制台,文件、UI组件。而且也能控制每一条日志的输出格式,并且设置每一条日志信息的级别,这样我们就能够细致的控制日志的生成过程。最令人兴奋的是,这些所有的位置都可以通过一个配置文件来灵活进行配置,而不需要修改应用的代码,


实例

项目结构
在这里插入图片描述

log4j的配置文件

# 设置日志级别和输出端别名
log4j.rootLogger=INFO,console,file

# 设置输出端为“控制台”,以下是此输出端的具体定义
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 设置布局模式为“灵活布局”
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# 设置日志信息的输出格式
log4j.appender.console.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n

# 设置输出端为“日志文件”,以下是此输出端的具体定义
log4j.appender.file=org.apache.log4j.FileAppender
# 设置日志文件存放的路径
log4j.appender.file.File=src/log.txt
# 设置日志文件最大容量为2KB,最好结合RollingFileAppender使用
#log4j.appender.file.MaxFileSize=2KB
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n

实验结果

在这里插入图片描述

src下面会多出一个log.txt的文件,里面记录了一些信息。


配置文件中的常用属性说明

日志管理级别

log4j.rootLogger=INFO,console,file

这句话表明了日志管理的级别为INFO,他要将日志信息输出到console和file两个地方,console和file只是两个别名。它们具体定义在下面的代码中,它们是可以任意起名的

级别(Level) 描述 级别
ALL 将显示全部级别的信息 1
DEBUG 用于应用程序的调试 2
INFO 用于应用程序运行情况信息的消息 3
WARN 用于警告具有潜在危害的情况 4
ERROR 用于应用程序中产生的错误信息 5
FATAL 用于应用程序中产生的非常严重或可能导致应用程序中止的错误信息 6
OFF 这是最高日志等级,为了关闭日志记录,将不显示所有的信息 7

log4j默认的几个级别:
trace<debug<info<warn<error<fatal
级别是互相包含的关系,意思是如果你设置日志级别是trace,则大于等于这个级别的日志都会输出

基本上默认的级别没差多少,就是一个默认的设定,你可以通过它的API自己定义级别,你可以随意调用这些方法,不过你要在配置文件中里面好好处理,否则就起不到日志的作用了,而且也不易读,相当于一个规范。

trace :是追踪,就是在程序推进下,你就可以写个trace输出。所以trace应该会特别多, 不过没关系,我们可以设置最低级别日志不让他输出

debug:调试,我一般就只用这个作为最低级别,trace根本不用,

info:输出一下你感兴趣的或者重要的信息,

warn:有些信息不是错误信息,但是也要给程序员的一些提示,

error: 错误信息,

fatal:级别比较高,重大错误,

输出端

log4j.appender.console =org.apachelog4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.FileAppender

这两句话表示输出端是控制台和日志文件

输出端(Appender) 说明 值
控制台 只会在控制台上显示 org.apache.log4j.ConsoleAppender
日志文件 只会产生一个日志文件 org.apache.log4j.FileAppender
日志文件 每天产生一个日志文件(新文件以XXX.20XX-XX-XX命名) org.apache.log4j.DailyRollingFileAppender
日志文件 文件大小到达指定尺寸的时候产生一个新的文件(新文件以XXX.1命名) org.apache.log4j.RollingFileAppender

如果输出端是日志文件的话,则需要指定存放文件的位置,如下面这句话,它指定生成了日志文件的位置。

log4j.appender.file.File=src/log.txt

如果输出端是日志文件的话,则需要对日志文件设置最大存储,不仅需要指定存放文件的位置,还需要设置文件的最大存储大小,如下面两句话,它制定了生成日志文件的位置和大小

log4j.appender.file.File=src/log.txt

log4j.appender.file.MaxFileSize=2KB

输出端布局类型

log4j.appender.console.layout=org.apache.log4j.PattenLayout
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值