log4j.properties配置_log4j加载多个配置文件[通俗易懂]

log4j.properties配置_log4j加载多个配置文件[通俗易懂]说明:以下开发工具使用的是idea一:打开idea,创建一个Maven管理的web项目1.File->New->Module2.Maven->勾选Createfromarchetype->选中maven-archetype-webapp3.填入GroupId和ArtifactId(这儿的内容随意),然后一路点默认的Next4.创建好……_log4j配置文件

说明:以下开发工具使用的是idea

一:打开idea,创建一个Maven管理的web项目

1. File->New->Module

log4j.properties配置_log4j加载多个配置文件[通俗易懂]

2.Maven->勾选Create from archetype->选中maven-archetype-webapp

log4j.properties配置_log4j加载多个配置文件[通俗易懂]

3.填入GroupId 和ArtifactId (这儿的内容随意),然后一路点默认的Next

log4j.properties配置_log4j加载多个配置文件[通俗易懂]

4.创建好的项目结构如下图所示

log4j.properties配置_log4j加载多个配置文件[通俗易懂]

二:导入相关的jar,为了简洁我们只引用了两个jar

<!--单元测试相关jar-->
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
</dependency>
<!--log4j相关jar-->
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.6.1</version>
</dependency>

 三:添加log4j的配置文件

在src->main下新建resources文件夹,并在resources上右键,找到Mark Directory as 选中Resources Root,然后新建log4j.properties配置文件,”log4j.properties”这个名字不要改动,否则会报错,无需在web.xml里做任何配置

四:配置文件解读

log4j.rootLogger=DEBUG,console,file
#----------------输出为控制台-------------------#
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.ImmediateFlush=true
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n
#----------------输出为文件-------------------#
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log/log.txt
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=ERROR
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n

 1.配置文件中 log4j.rootLogger=debug,console,file,AAA,BBB,CCC,…

 其中第一个单词为日志的输出级别(输出级别共有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL),

后面的console,file,AAA,BBB,CCC,…为输出端,输出端可以自定义,以”,”做分割

2.常用的输出端有控制台(ConsoleAppender)、文件(FileAppender、DailyRollingFileAppender、RollingFileAppender)、数据库(JDBCAppender )

3.现在以输出到控制台、文件、数据库为例进行说明

  • 输出到控制台console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.ImmediateFlush=true
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n

log4j.appender.console.Target 的选项有System.error、System.out,常用后者;

log4j.appender.console.Threshold 输入级别有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,需要说明的是这儿的输出级别尽量要大于等于log4j.rootLogger 后面填写的级别,否则不会有相应的输出;

log4j.appender.console.ImmediateFlush 默认为true,可以不加这一行;

log4j.appender.console.layout 可渲染的输出类型

log4j.appender.console.layout.ConversionPattern 输出样式 [%p][%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n

    %m 输出代码中指定的消息 
 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
 %r 输出自应用启动到输出该log信息耗费的毫秒数 
 %c 输出所属的类目,通常就是所在类的全名  
 %t 输出产生该日志事件的线程名 
 %n 输出一个回车换行符,Windows平台为”rn”,Unix平台为”n” 
 %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921   %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。 
    %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 
    %%: 输出一个”%”字符 
    %F: 输出日志消息产生时所在的文件名称 
    %M: 输出执行方法 
    %L: 输出代码中的行号 

  • 输出到文件简洁配置
log4j.appender.file =org.apache.log4j.FileAppender
log4j.appender.file.File=logs/doctorLog.txt
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}[%c]-%m%n

其中log4j.appender.file 常用的有

   org.apache.log4j.FileAppender(文件)

   org.apache.log4j.DailyRollingFileAppender(每天都产生一个日志文件)

   org.apache.log4j.RollingFileAppender(文件大小达到指定尺寸时产生一个新的日志文件,文件名称上会自动添加数字序号。)

log4j.appender.file.File 指定的是文件的输出路径,上面的写法是相对项目的路径,也可以配置成绝对路径 例如D:/log。txt,推荐使用相对路径;

  • 输出到数据库的配置(以MySQL为例) 
log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.jdbc.driver=com.mysql.jdbc.Driver
log4j.appender.jdbc.URL=jdbc:mysql://localhost:3306/school
log4j.appender.jdbc.user=root
log4j.appender.jdbc.password=123456
log4j.appender.jdbc.sql=insert into log (time,level,location,message) values ('%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')  
log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout

log4j.appender.jdbc = org.apache.log4j.jdbc.JDBCAppender 是log4j提供的数据库连接,参数需要自己配置

今天的文章log4j.properties配置_log4j加载多个配置文件[通俗易懂]分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58683.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注