版本区别

Log4j 2 与 log4j 1.x 最大的区别在于,新版本的 log4j 2 只支持 json 与 xml,不再支持以前的 properties 资源文件

下载 log4j 的jar 包


可在 apache 官网下载,地址:http://logging.apache.org/log4j/2.x/download.html
下载完解压,需要导入项目的jar包有:
log4j-api-2.0-beta8.jar
log4j-core-2.0-beta8.jar

简单的测试
 测试代码:
package com.ysq.test;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; public class MyTest {
private static Logger logger = LogManager.getLogger(MyTest.class.getName()); public static void main(String[] args){
logger.debug("debug Hello World!");
logger.info("info Hello World!");
logger.error("Error Hello World!");
}
}

默认配置下,执行结果:

17:19:58.953 [main] ERROR com.ysq.test.MyTest - Error Hello World!

添加自定义配置


log4j 2 支持的配置文件名称(应放在 classPath 下,我们这里直接放在项目的 src 下面):
log4j2-test.json
log4j2-test.jsn
log4j2-test.xml
log4j2.json
log4j2.jsn
log4j2.xml
以上任选其一,我们这里使用log4j2.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<Console name="consolePrint" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</appenders>
<loggers>
<root level="info">
<appender-ref ref="consolePrint" />
</root>
</loggers>
</configuration>

执行结果:

17:26:01.375 [main] INFO  com.ysq.test.MyTest - info Hello World!
17:26:01.375 [main] ERROR com.ysq.test.MyTest - Error Hello World!

log4j 输出等级由高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。在此,我们定义了
level 为 info,表示打印等级为 info 或者info 以上的输出。


log4j
2 与 log4j 1.X 配置详细区别
官网对此作出了详细的比较,在此不再列出,地址:http://logging.apache.org/log4j/2.x/manual/migration.html

推荐实际应用配置
在实际环境中,我们可能需要在控制台输出一些
debug 信息,并且将错误信息写入日志,可采用如下配置:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appenders>
<RollingFile name="outErrorFile" fileName="logs/exception.log"
filePattern="logs/$${date:yyyy-MM}/exception-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />
<SizeBasedTriggeringPolicy size="10MB" />
</RollingFile> <Console name="consolePrint" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy.MM.dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />
</Console>
</appenders>
<loggers>
<root level="DEBUG">
<appender-ref level="DEBUG" ref="consolePrint"/>
<appender-ref level="ERROR" ref="outErrorFile"/>
</root>
</loggers>
</configuration>

输出结果如下:
2013.07.29 17:37:10 CST DEBUG com.ysq.test.MyTest 10 main - debug Hello World!
2013.07.29 17:37:10 CST INFO com.ysq.test.MyTest 11 main - info Hello World!
2013.07.29 17:37:10 CST ERROR com.ysq.test.MyTest 12 main - Error Hello World!

并且会在项目的 logs 文件夹下生产异常文件,而且文件达到一定的大小会自动压缩,按照日期生产历史日志。












Log4j 2 配置的更多相关文章

  1. commons-logging和Log4j 日志管理/log4j.properties配置详解

    commons-logging和Log4j 日志管理 (zz) 什么要用日志(Log)? 这个……就不必说了吧. 为什么不用System.out.println()? 功能太弱:不易于控制.如果暂时不 ...

  2. springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置

    Log4j由三个重要的组件构成: 日志信息的优先级 日志信息的输出目的地 日志信息的输出格式 日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度 ...

  3. Log4J实用配置指南

    转自:http://www.cnblogs.com/licheng/archive/2008/08/23/1274566.html 1         概述 本文档是针对Log4j日志工具的使用指南. ...

  4. Log4j XML配置

    问题描述:     Log4j  XML配置 问题解决:     (1)编写log4j.xml配置文件 注:     如上的XML文件必须以log4j.xml文件命名,否则无法读取配置文件,同样的如果 ...

  5. Hibernate4搭建Log4J日志管理(附Log4j.properties配置详解)

    1.首先加入slf4j的jar包,即slf4j-api-1.6.1.jar 在hibernate官网下载hibernate-release-4.2.2.Final.zip并解压,在hibernate- ...

  6. java之log4j的配置

    java之log4j的配置 log4j有很多的优点,用起来很方便,就是配置起来有些麻烦,下面我介绍一下log4j的配置方法. log4j是用来记录日志的. 软件的运行过程离不开日志.日志主要用来记录系 ...

  7. Log4j.properties配置详细解读

    Log4j.properties配置 Log4j有三个主要的组件:Loggers(记录器),Appenders  (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以 ...

  8. 热切换Log4j级别配置

    欢迎和大家交流技术相关问题:邮箱: jiangxinnju@163.com博客园地址: http://www.cnblogs.com/jiangxinnjuGitHub地址: https://gith ...

  9. java日志框架log4j详细配置及与slf4j联合使用教程

    最后更新于2017年02月09日 一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到“build path” <d ...

  10. springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用

    log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n  ---internationalization  不就是i和n之间有18个字母... http://logging.a ...

随机推荐

  1. 常用的方法论-SMART

  2. UESTC 1324:卿学姐与公主(分块)

    http://acm.uestc.edu.cn/#/problem/show/1324 题意:…… 思路:卿学姐的学习分块例题. 分块是在线处理区间问题的类暴力算法,复杂度O(n*sqrt(n)),把 ...

  3. flask模板语言 jinja2 以及render_template 深度用法

    是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符 ...

  4. 【POJ - 1979 】Red and Black(dfs+染色)

    -->Red and Black Descriptions: 有个铺满方形瓷砖的矩形房间,每块瓷砖的颜色非红即黑.某人在一块砖上,他可以移动到相邻的四块砖上.但他只能走黑砖,不能走红砖. 敲个程 ...

  5. C#常用正则表达式回顾

    项目中有些时候需要用到正则表达式,但是自己对正则表达式不熟悉,每次学习完,过一段时间(长时间)不用,就又忘了,每次需要用到的时候都需要百度下,比较麻烦,这里把C#中经常用到的正则表达式做下总结. 正则 ...

  6. Spring IoC控制反转创建实例

    Spring IoC控制反转创建实例写一个配置文件beans.xml,配置文件的约束可以访问:完整链接:https://repo.spring.io/libs-release-local/org/sp ...

  7. 剑指offer第二版-3.数组中重复的数

    面试题3:数组中重复的数 题目要求: 在一个长度为n的数组中,所有数字的取值范围都在[0,n-1],但不知道有几个数字重复或重复几次,找出其中任意一个重复的数字. 解法比较: /** * Copyri ...

  8. [记录]优化Linux 的内核参数来提高服务器并发处理能力

    优化Linux 的内核参数来提高服务器并发处理能力PS:在服务器硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题.要提高Linux 系统下的负载 ...

  9. 自定义SSL证书实现单双向ssl认证记录

    自定义SSL证书: 1.ca证书 #openssl genrsa -out ca.key 2048 #openssl req -new -key ca.key -out ca.csr #openssl ...

  10. getlasterror() 输出错误信息,

    得自http://bbs.csdn.net/topics/390416234 LPVOID lpMsgBuf;  FormatMessage(      FORMAT_MESSAGE_ALLOCATE ...