log4j日志入门

日志对任何一个项目都是必不可少的,虽然每一个项目都有在使用,可是历来没有具体了解过,反正就知道,想要打印日志就在代码上写:log.info(""),估计很多人和我差很少,说知道也知道,说不知道也可谓一点都不知道,因为最近日志输出上出现了小问题,就学习了下,究竟日志怎么用,如何配置的,在此记录下,以便往后回顾!spring

日志输入有不少,这里介绍log4japache

先附上我项目中使用的log4j的配置内容:app

log4j.rootLogger=info, console,logfile

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

内容不多,很简单,对上面的稍做解释:学习

log4j.rootLogger 是配置文件的根节点,这个指定了你的日志要以什么级别,输出到哪里去,例子中级别是:info,输出到console,logfile去。须要注意的是日志级别:有Error、warn、info、debug等四个(其余忽略)。你的级别只能从这四个里选一个,想本身随便造一个是不可能的。后面两个参数,console,logfile是输出到哪里,这两个你能够随便写,也能够写多个,如:A,B,C,D,D这样写均可以,可是由于这样没有任何意义,因此通常写不这么写。我这么说明一下,是怕有些童鞋不知道,觉得console,logfile是写死的,特别是喜欢钻牛角尖的小伙伴,好比我就是,老是感受,啊呀,这个是否是要写死,为何要这样啊,什么的,看过这篇文章的你但愿不用再有这个烦恼,输出文件名,随便写,想怎么写怎么写。接下来看后面的内容。spa

log4j.appender 这个是配置输出日志添加到哪去,这个就须要配合上面的console,logfile这个了;好比:debug

log4j.appender.console=org.apache.log4j.ConsoleAppender日志

这个就指定了输出到console日志,是输出到控制台的日志,这个就保证了你在代码中输入的log.info()的内容能在控制台看见了,没有这个,你log.info的内容就不可能出现控制台上get

log4j.appender.logfile=org.apache.log4j.FileAppenderio

这个和上面同样,只是指定的目的地变了,这个表示输出到logfile的日志,是添加到文件中去。这个就是日常咱们在日志文件中查看日志,就是由于这个,才能让日志输出到咱们指定的文件,console

log4j.appender.logfile.File=target/spring.log

这个就指定了日志的目录以及日志文件名

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n

这两个指定了日志格式,具体每一个表明什么意思,这个要纠结下去,我的以为没什么意义了,能够自行百度,这里不作解释