log4j配置文件详解

log4jMaven地址

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

slf4jMaven地址

<dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.25</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.25</version>
      <scope>compile</scope>
    </dependency>

log4j级别

ALL	所有级别包括自定义级别。
DEBUG	调试消息日志。
ERROR	错误消息日志,应用程序可以继续运行。
FATAL	严重错误消息日志,必须中止运行应用程序。
INFO	信息消息。
OFF	最高可能的排名,旨在关闭日志记录。
TRACE	高于DEBUG。
WARN	用于警告消息。

#Appender(输出端)
#Appender 用来指定日志输出到哪个地方,可以同时指定日志的输出目的地。Log4j 常用的输出目的地有以下几种:
#Layout(日志格式化器)

设置###info, ServerDailyRollingFile, stdout

log4j.rootLogger =info,trace,debug,warn,error,stdout,I,T,D,W,E

输出信息到控制抬

log4j.appender.stdout = org.apache.log4j.ConsoleAppender  (控制台)
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

warn级别以上的日志到=E://logs/warn.log

log4j.appender.W =org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
log4j.appender.W.File = logs/warn.log
log4j.appender.W.Append = true
log4j.appender.W.Threshold = warn
log4j.appender.W.layout = org.apache.log4j.PatternLayout
log4j.appender.W.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

info级别以上的日志到=E://logs/info.log

log4j.appender.I =org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File = logs/info.log
log4j.appender.I.Append = true
log4j.appender.I.Threshold = info
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

trace级别以上的日志到=E://logs/trace.log

log4j.appender.T =org.apache.log4j.DailyRollingFileAppender
log4j.appender.T.File = logs/trace.log
log4j.appender.T.Append = true
log4j.appender.T.Threshold = trace
log4j.appender.T.layout = org.apache.log4j.PatternLayout
log4j.appender.T.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

debug级别以上的日志到=E://logs/debug.log

log4j.appender.D =org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

输出error级别以上的日志到=E://logs/error.log

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

配置根 ###,MAIL,DATABASE

log4j.rootLogger = debug,console,fileAppender,dailyRollingFile,ROLLING_FILE

设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名

log4j.logger.org.apache=dubug
log4j.logger.java.sql.Connection=dubug
log4j.logger.java.sql.Statement=dubug
log4j.logger.java.sql.PreparedStatement=dubug
log4j.logger.java.sql.ResultSet=dubug

配置输出到控制台

log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n

配置输出到文件

log4j.appender.fileAppender = org.apache.log4j.FileAppender
log4j.appender.fileAppender.File = logs/log.log
log4j.appender.fileAppender.Append = true
log4j.appender.fileAppender.Threshold = DEBUG
log4j.appender.fileAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.fileAppender.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

配置输出到文件,并且每天都创建一个文件

log4j.appender.dailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyRollingFile.File = logs/log.log
log4j.appender.dailyRollingFile.Append = true
log4j.appender.dailyRollingFile.Threshold = DEBUG
log4j.appender.dailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.dailyRollingFile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

配置输出到文件,且大小到达指定尺寸的时候产生一个新的文件

log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新的文件)
log4j.appender.ROLLING_FILE.Threshold=ERROR 
log4j.appender.ROLLING_FILE.File=rolling.log 
log4j.appender.ROLLING_FILE.Append=true 
log4j.appender.ROLLING_FILE.MaxFileSize=10KB 
log4j.appender.ROLLING_FILE.MaxBackupIndex=1 
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

配置输出到邮件

log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=FATAL
log4j.appender.MAIL.BufferSize=10
log4j.appender.MAIL.From=xxx@xxxx.com
log4j.appender.MAIL.SMTPHost=mail.hollycrm.com
log4j.appender.MAIL.Subject=Log4J Message
log4j.appender.MAIL.To=xxxxx@xxxxxx.com
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

配置输出到数据库

log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=xxxx
log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=SampleMessages.log4j
log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'
log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout

rootLogger后面跟着输出日志的级别:

           ERROR 为严重错误 主要是程序的错误
             WARN 为一般警告,比如session丢失
             INFO 为一般要显示的信息,比如登录登出
             DEBUG 为程序的调试信息

stdout, logfile 指定日志输出的目的地。 这两个名字可以随便取,比如 A, 或B都可以

appender.moder1定义的是Log输出的地方:

        org.apache.log4j.ConsoleAppender(控制台)
        org.apache.log4j.FileAppender(文件)
        org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
       org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
        org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

appender.moder1.Layout定义的是日志信息的格式:

      org.apache.log4j.HTMLLayout(以HTML表格形式布局),
      org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
       org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
        org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知青先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值