Log4j 2.0在开发中的高级使用详解—配置简单的控制台输出(三)

Log4j 2.0在最近迎来了重大的版本升级。解决了1.x中死锁bug之外,性能也有10倍的提升。
同样的在最新版本中的新特性中。配置文件也不仅仅局限于xml和java特性文件properties。更是支持json和yaml的配置文件。
日志的使用在我们日常开发中经常用到。也有很多的高手遇到过日志死锁问题。在2.0中引入了异步日志处理。死锁问题得以解决。
好吧,介绍了这么多,进入它的helloworld吧。
今天看看它的简单配置。配置输出到console的日志记录器,并且为info级别的输出。
看java代码:

package com.herman.log4j2.test;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * @see log4j 2.0 简单的配置使用控制台Appender
 * @author Herman.Xiong
 * @date 2014年7月21日 14:32:55
 */
public class Test1 {
	/**
	 * 配置日志级别为info,输出位置为控制台
	 */
	private static Logger log = LogManager.getLogger(Test0.class);
	public static void main(String[] args) {
		log.trace("trace");
		log.debug("debug");
		log.info("info");
		log.warn("warn");
		log.error("error");
		log.fatal("fatal");
	}
}

Log4j 2.0的配置文件,名称为log4j2.x的格式。看xml配置文件代码:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Appenders>
  	<!-- 标准输出 -->
    <Console name="STDOUT" target="SYSTEM_OUT">
      <!-- 输出格式 -->
      <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <!-- 配置记录器级别 -->
    <Root level="debug">
      <!-- 输出设置 -->
      <AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
</Configuration>

欢迎大家关注我的个人博客!!!!

如有不懂,疑问或者欠妥的地方,请加QQ群:135430763   进行反馈,共同学习!

时间: 2024-10-28 00:11:04

Log4j 2.0在开发中的高级使用详解—配置简单的控制台输出(三)的相关文章

Log4j 2.0在开发中的高级使用详解—默认级别(二)

Log4j 经过几年的发展之后,终于迎来了它的姊妹版本Log4j 2.0 .在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j.重大的升级必须带来重大的特性.对于2.0的颠覆性特性,我们将在之后一一讲解.今天我们就来看它的特性之一,默认级别. 在使用log4j 1.x当中,我们都需要自己提供它的配置文件.如果不提供就会报错,在2.0的版本当中,配置文件已经不是必须的了.至于我们没有提供它的配置文件,它会默认的打印e

Log4j 2.0在开发中的高级使用详解—SocketAppender的远程输出(五)

Log4j2的Appenders充分考虑了日志事件的输出.包装以及过滤转发的可能,包括最基本的输出到本地文件.输出到远程主机, 对文件进行封装.注入,并且还能按照日志文件的时间点.文件大小等条件进行自动封存. 例如,想要将几个不同源的日志汇集到一起,可以用FlumeAppender:想要在LogEvent中注入信息, 可以用RewriteAppender:想要让系统按照设定的时间间隔自动封存日志信息,可以用RollingFileAppender (每隔一定时间自动保存一份新增的日志文件,并按照时

Log4j 2.0在开发中的高级使用详解—介绍篇(一)

Log4j终于迎来了首个apache版本.Log4j 2 是 Log4j 的升级版本,该版本比起其前任来说有着显著的改进,包含很多在 Logback 中的改进以及Logback 架构中存在的问题. 这是 Log4j 2 的首次发行的版本,值得关注的改进包括: API 分离 – Log4j 的 API 和其实现进行分类(注:我讨厌这样,本来一个jar包搞定的,要变成好几个,跟 slf4j 似的的) 为日志审计而设计,与 Log4j 1.x 和 Logback 不同的是 Log4j 2 将不会在重新

Log4j 2.0在开发中的高级使用详解—读取配置文件(六)

log4j中配置日志文件存放的位置不一定在src下面,即根目录下.这个时候我们需要解决如何加载配置文件的问题.在log4j1.x中解决的方法就比较多了.如:PropertyConfigurator.configure();和DOMConfigurator.configure ();这两种方法读取.而在log4j2.x当中,这两个类都已经不存在了.这个时候我们该如何去加载配置文件呢? 答案也很简单,就是log4j2.x的版本给我提供了ConfigurationSource和Configurator

iOS开发中UIPopoverController的使用详解_IOS

一.简单介绍 1.什么是UIPopoverController 是iPad开发中常见的一种控制器(在iPhone上不允许使用) 跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewController 它只占用部分屏幕空间来呈现信息,而且显示在屏幕的最前面 2.使用步骤 要想显示一个UIPopoverController,需要经过下列步骤 (1)设置内容控制器 由于UIPopoverController直接继承自NSObject,不具备可视化的能力.因此UIPopover

javascript移动开发中touch触摸事件详解_javascript技巧

事件对象是用来记录一些事件发生时的相关信息的对象.事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁! W3C DOM把事件对象作为事件处理函数的第一个参数传入进去 IE将事件对象作为window对象的一个属性(相当于全局变量) originalEvent对象 在一次偶然的使用中,我发现当使用on()函数并且传入第二个选择器参数时,e.touches[0]的访问为undefined,打印e发现,它的事件对象不是原生的事件对象.经查阅发现

PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)_php技巧

浅谈Php安全和防Sql注入,防止Xss攻击,防盗链,防CSRF 前言: 首先,笔者不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记.细心总结文章,里面有些是我们phper不易发现或者说不重视的东西.所以笔者写下来方便以后查阅.在大公司肯定有专门的web安全测试员,安全方面不是phper考虑的范围.但是作为一个phper对于安全知识是:"知道有这么一回事,编程时自然有所注意". 目录: 1.php一些安全配置(1)关闭php提示错误功能(2)关闭一些"坏

Python中的高级数据结构详解_python

数据结构 数据结构的概念很好理解,就是用来将数据组织在一起的结构.换句话说,数据结构是用来存储一系列关联数据的东西.在Python中有四种内建的数据结构,分别是List.Tuple.Dictionary以及Set.大部分的应用程序不需要其他类型的数据结构,但若是真需要也有很多高级数据结构可供选择,例如Collection.Array.Heapq.Bisect.Weakref.Copy以及Pprint.本文将介绍这些数据结构的用法,看看它们是如何帮助我们的应用程序的. 关于四种内建数据结构的使用方

Discuz!7.0后台管理中论坛帮助功能详解

http://www.aliyun.com/zixun/aggregation/29799.html">Discuz!7.0是康盛创想(Comsenz)公司于2008年12月份发布的一款论坛BBS建站产品.在Discuz!7.0中,论坛帮助是站长为会员提供的,方便会员能快捷地找到自己需要的内容.站长可以根据站点情况,随意添加帮助信息. Discuz!7.0.0 后台 => 扩展 => 论坛帮助 本文从下面三个部分讲解论坛帮助功能: 一.系统默认的帮助信息 如果要编辑某一篇主题,