为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 日志架构log4j基本使用

日志架构log4j基本使用

2018.09.09 18:39 790浏览

[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.logerror.log

点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
66
获赞与收藏
384

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

50篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

145篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消