首页 > 其他 > 详细

日志架构log4j基本使用

时间:2018-03-29 15:48:17      阅读:215      评论:0      收藏:0      [点我收藏+]
[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, 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=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

log4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.File = ./logs/spider.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

### 输出到日志文件 ###
# 每天生成一个新的日志文件
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = ./logs/log.log
log4j.appender.R.Append = true
# DEBUG级别及以上的日志信息输出到./logs/log.log中
log4j.appender.R.Threshold = DEBUG
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] - %m%n

### 保存异常信息到单独文件 ###
# 每天生成一个新的日志文件
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ./logs/error.log
log4j.appender.E.Append = true
# ERROR级别及以上的日志信息输出到./logs/log.log中
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.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

日志架构log4j基本使用

原文:http://blog.51cto.com/xpleaf/2092496

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!