[toc]
日志架构log4j基本使用
配置文件
################################################ 以下的配置文件都是以log4j.开头# 最最重要就是第一个log4j.rootLogger,指定log4j日志的输出级别(目的地)# log4j.rootLogger=INFO,stdout,file意思为:# 日志可以输出INFO级别以上的数据,将日志输出到stdout标准控制输出(控制台),输出到file## 常见的日志输出级别:DEBUG(调试) < INFO(信息) < WARN(警告) < ERROR(错误) < FATAL(致命错误)# 日志输出的顺序:和日志输出级别一致,即配置为一个级别,输出的内容只能是该级别及其以上级别的信息# INFO(输出的包括 INFO WARN ERROR FATAL)# ERROR(ERROR FATAL)# 所以,一般情况下:在开发,测试环境中,日志的级别为DEBUG;在生产环境中,日志级别为INFO## 输出目的地:# 日志输出的各种各样的目的地,都是通过Appender来进行实现追加的# 我们在appender中看到的PatternLayout的格式如下:##%m 输出代码中指定的消息#%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”#%p 输出优先级,即日志级别:DEBUG,INFO,WARN,ERROR,FATAL#%r 输出自应用启动到输出该log信息耗费的毫秒数#%c 输出所属的类目,通常就是所在类的全名#%t 输出产生该日志事件的线程名#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 28 , 921#%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 ) log4j配置详解 - stone - stonexmx 的博客# 常见的Appender# ConsoleAppender# FileAppender#################################################log4j.rootLogger=INFO,stdout,R, Elog4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%nlog4j.appender.file = org.apache.log4j.FileAppenderlog4j.appender.file.File = ./logs/spider.loglog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n### 输出到日志文件 #### 每天生成一个新的日志文件log4j.appender.R = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File = ./logs/log.loglog4j.appender.R.Append = true# DEBUG级别及以上的日志信息输出到./logs/log.log中log4j.appender.R.Threshold = DEBUGlog4j.appender.R.layout = org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] - %m%n### 保存异常信息到单独文件 #### 每天生成一个新的日志文件log4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File = ./logs/error.loglog4j.appender.E.Append = true# ERROR级别及以上的日志信息输出到./logs/log.log中log4j.appender.E.Threshold = ERRORlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] - %m%n
程序代码
package com.uplooking.bigdata.spider;import org.junit.Test;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * 使用Log4j步骤: * 1.引入maven的依赖 * 2.将log4j.properties或log4j.xml配置文件添加进项目的classpath下面 * * log4j的入口类就是Logger */public class Log4jTest { @Test public void testLog4j() { Logger logger = LoggerFactory.getLogger(Log4jTest.class); logger.debug("日志-debug信息"); logger.info("日志-info信息"); logger.warn("日志-warn信息"); logger.error("日志-error信息"); }}
测试
执行程序代码,输出如下:
2018-03-29 15:31:51,164 [main] [com.uplooking.bigdata.spider.Log4jTest] [INFO] - 日志-info信息2018-03-29 15:31:51,165 [main] [com.uplooking.bigdata.spider.Log4jTest] [WARN] - 日志-warn信息2018-03-29 15:31:51,165 [main] [com.uplooking.bigdata.spider.Log4jTest] [ERROR] - 日志-error信息
同时也可以看到生成的日志文件log.log
和error.log
。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦