jvm参数 log4j 日志路径_Java日志体系(log4j)

log4j

1.1 简介

Log4j是一个由Java编写可靠、灵活的日志框架,是Apache旗下的一个开源项目;现如今,Log4j已经被移植到了C、C++、Python等语言中,服务更多的Developer;

使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容格式;通过定义不同的日志级别,可以更加精确的控制日志的生成过程,从而达到我们应用的需求;这一切,都得益于一个灵活的配置文件,并不需要我们更改代码。

1.2 log4j结构

在Log4j中,主要由三个重要组件构成:

Logger:日志对象,负责捕捉日志记录信息;

Logger对象是用来取代System.out或者System.err的日志输出器,负责日志信息的输出;其中,log4j日志框架提供了info、error、debug等API供Developer使用;

与commons-logging相同,log4j也有日志等级的概念;每一个logger对象都会分配一个等级,未被分配等级的logger则继承根logger的级别,进行日志的输出;每个日志对象方法的请求也有一个等级,如果方法请求的等于大于当前logger对象的等级,则该请求会被处理输出,否则该请求被忽略;

log4j在Level类中定义了7个等级,关系如下:

Level.ALL < Level.DEBUG < Level.INFO < Level.WARN < Level.ERROR < Level.FATAL < Level.OFF

每个等级,具体含义如下:

ALL:打开所有日志;

DEBUG:适用于代码调试期间;

INFO:适用于代码运行期间;

WARN:适用于代码会有潜在错误事件;

ERROR:适用于代码存在错误事件;

FATAL:适用于严重错误事件;

OFF:关闭所有日志;

Appender:日志输出目的地,负责把格式好的日志信息输出到指定地方,可以是控制台、磁盘文件等;

每个日志对象,都有一个对应的appender,每个appender代表着一个日志输出目的地;

其中,log4j有以下几种appender可供选择:

ConsoleAppender:控制台;

FileAppender:磁盘文件;

DailyRollingFileAppender:每天产生一个日志磁盘文件;

RollingFileAppender:日志磁盘文件大小达到指定尺寸时产生一个新的文件;

Layout:日志格式化器,负责发布不同风格的日志信息;

每个appender和一个Layout相对应,appende负责把日志信息输出到指定的地点,而Layout则负责把日志信息按照格式化的要求展示出来;

其中,log4j有以下几种Layout可供选择:

HTMLLayout:以html表格形式布局展示;

PatternLayout:自定义指定格式展示;

SimpleLayout:包含日志信息的级别和信息字符串;

TTCCLayout:包含日志产生的时间、线程、类别等等信息;

1.3 使用

首先,需要在应用的pom.xml中添加依赖:

log4j

log4j

1.2.17

其次,声明测试代码:

public class log4jDemo {

Logger log= Logger.getLogger(log4jDemo.class);

@Test

public void test(){

log.trace("Trace Message!");

log.debug("Debug Message!");

log.info("Info Message!");

log.warn("Warn Message!");

log.error("Error nihao 你好!");

log.fatal("Fatal Message!");

}

}

最后,在classpath下声明配置文件:log4j.properties 或者 log4j.xml;

例1:log4j.properties:

log4j.rootLogger = INFO, FILE, CONSOLE

log4j.appender.FILE=org.apache.log4j.FileAppender

log4j.appender.FILE.File=e:/log.out

log4j.appender.FILE.ImmediateFlush=true

log4j.appender.FILE.Threshold = DEBUG

log4j.appender.FILE.Append=true

log4j.appender.FILE.layout=org.apache.log4j.PatternLayout

log4j.appender.FILE.layout.conversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值