首先在pom文件中加入 log4j的maven依赖, 还需要log4j的版本加在前面

<log4j.version>1.2.17</log4j.version>
<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>${log4j.version}</version>
</dependency>

在src下创建一个 resource(mark directory as resource root),然后把log4j.properties放在resource下面

#设置日志的级别,定义日志信息的输出目的 console
log4j.rootLogger=INFO,console
#表示Logger会在父Logger的appender里输出,默认为true。
log4j.additivity.org.apache=true
#定义输出目的地为控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
#设定日志记录的最低级别为ERROR
#常用级别:ERROR、WARN、INFO、DEBUG
log4j.appender.console.Threshold=INFO
#表示所有消息都会被立即输出,设为false则不输出,默认值是true。
log4j.appender.console.ImmediateFlush=true

log4j.appender.console.target=System.err
#布局为 PatternLayout 可以灵活地指定布局模式。
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#设置输出格式
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

#要把日志级别设置一致才可以,log4j.rootLogger和log4j.appender.console.Threshold这两个的日志级别设置一致就OK了

设置日志级别为ERROR,就会把info隐藏

idea不打印debug级别日志java idea控制台日志打印级别_apache

Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。

1、Loggers

Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。

2、Appenders

禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等

3、Layouts

有时用户希望根据自己的喜好格式化自己的日志输出,Log4j可以在Appenders的后面附加Layouts来完成这个功能。Layouts提供四种日志输出样式,如根据HTML样式、自由指定样式、包含日志级别与信息的样式和包含日志时间、线程、类别等信息的样式。