[1]. Log4J2入门:

<1>. 导入Jar包
log4j-api-2.0-beta9.jar
log4j-core-2.0-beta9.jar

<2>. 编写代码:

//注意导包:log4j.
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; public class HelloWorld {
private static Logger logger = LogManager.getLogger(HelloWorld.class.getName()); public static void main(String[] args) {
logger.info("Hello World !");
logger.error("Hello World !"); // 默认优先级为error(即仅打印ERROR级别的日志信息).
}
}

[2]. 配置文件:

<1>. 默认的配置文件如下.(src下文件名:log4j2.xml)

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<!--1. 控制台输出 -->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
<!--2. 输出格式 -->
</Console>
</appenders>
<loggers> <!-- 可修改其为trace级别. -->
<root level="error">
<!--3. 引用输出方式. -->
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>

<2>. 深入:修改其为...

# xml文件:

<loggers>
<!-- 全局error级别. -->
<root level="error">
<appender-ref ref="Console" />
</root>
<!-- 包com.foo.Tip是trace级别. -->
<logger name="com.foo.Tip" level="trace" additivity="false">
<!-- additivity:false,确保仅打印一次. -->
<appender-ref ref="Console" />
</logger>
</loggers>

# Java:

public class Tip {
private static Logger logger = LogManager.getLogger(Tip.class.getName()); public boolean showTip() {
logger.entry(); // 日志(Log)进入一个方法.
logger.error("Somethind wrong !"); // ERROR级别的日志.(默认仅打印ERROR级别)
// 可以被替换做...
return logger.exit(false);
}
}
public class TestTip {
private static Logger logger = LogManager
.getLogger(TestTip.class.getName()); public static void main(String[] args) {
// 显式地跟踪程序的执行流程.
logger.trace("Enter app ...");
Tip tip = new Tip();
if (!tip.showTip()) {
logger.error("Didn't do it !");
}
logger.trace("Exit app ...");
}
}

<3>.

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<!-- 1. 将日志信息输出到"文件"中. -->
<File name="File" fileName="logs/app.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</File>
</appenders>
<loggers>
<root level="error">
<appender-ref ref="File" />
<!--输出到“文件”.—> </root> <!-- "trace"“以上”的级别都可以显示出来. -->
<logger name="com.foo.Tip" level="trace" additivity="false">
<appender-ref ref="File" />
</logger>
</loggers>
</configuration>

<4>. 输出的格式说明:

<File name="File" fileName="logs/app.log">
<!-- %d:日期时间,%t:当前线程,%level:日志级别, %logger:日志发生的包名,%msg:信息,%n:换行. -->
<!-- 不能出现中文. -->
<PatternLayout
pattern="[Time: %d{yyyy-MM-dd HH:mm:ss:SSS}] [Thread: %t] [Level: %level] [Pos: %logger] [msg: %msg]%n" />
</File>

【补充】

<1>. 两种配置方式:节点|属性.PatternLayout作为Console的"节点/属性".

<2>. 也可以使用JSON语法进行配置.

Log4J2基本配置的更多相关文章

  1. log4j2的配置及使用

    log4j2与log4j1的不同点(不完整): 前者配置文件格式多样性.log4j2的配置文件可以是xml,也可以是json. 在不修改web.xml的前提下,前者配置文件的命名可以为log4j2.x ...

  2. log4j2高级配置(1)

    一.Log4j2高级配置介绍(1)    (1)日志输出到文件配置 <!-- 将日志输出到指定位置的文件中 --> <RollingFile name="RollingFi ...

  3. slf4j+log4j2的配置

    昨天自己测试了一下slf4j+log4j2的配置,可以正常使用,虽然配置十分简单,但好记性不如烂笔头,想想还是记录下来吧. 运行的环境:jdk1.7.tomcat7.Maven的web项目 1.在新建 ...

  4. Log4j2日志配置详解(2)

    Log4j2日志配置系列之2 1.Configuration 在应用程序代码中插入日志请求需要相当多的计划和工作.观察显示,大约4%的代码用于日志记录.因此,即使是中等大小的应用程序也会在其代码中嵌入 ...

  5. log4j2.xml 配置

    动态生成日志, 日志路径: log4j2.xml 配置如下: <?xml version="1.0" encoding="UTF-8"?> < ...

  6. log4j2.xml配置使用

    jar包: log4j-api-2.10.0.jar log4j-core-2.10.10.jar log4j-1.2-api-2.10.0.jar log4j-slf4j-impl-2.10.10. ...

  7. SpringBoot—整合log4j2入门和log4j2.xml配置详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...

  8. SpringBoot + Log4j2使用配置 (转)

    前言 后台程序开发及上线时,一般都会用到Log信息打印及Log日志记录,开发时通过Log信息打印可以快速的定位问题所在,帮助我们快捷开发.程序上线后如遇到Bug或错误,此时则需要日志记录来查找发现问题 ...

  9. log4j2日志配置

    背景 log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量.可配置的审计型日志.基于插件架构的各种灵活配置等. 1. ...

随机推荐

  1. 虚拟机linux下使用cuteftp

    操作系统  redhat9.0 一.主机配置 1.查看主机是否安装了ftp服务器,如果没有,安装它 在终端上输入setup,在弹出的界面中选择system services.查看弹出的界面中是否有vs ...

  2. 关于android app两次点击返回键退出的处理

    现在的android app在开发时,引入了两次点击返回键退出app的设计 为了避免用户误触,这个设计很人性化 中文网上社区有些同学贴了一些实现的例子,我觉得不是很好 代码如下 public bool ...

  3. UFLDL教程之(一)sparseae_exercise

    下面,将UFLDL教程中的sparseae_exercise练习中的各函数及注释列举如下 首先,给出各函数的调用关系 主函数:train.m (1)调用sampleIMAGES函数从已知图像中扣取多个 ...

  4. [转]DOS命令

    windows dos命令 - 知识天地 - 博客园http://www.cnblogs.com/mfryf/archive/2012/02/13/2348685.html

  5. http server v0.1_http_webapp.c

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ...

  6. Origin null is not allowed by Access-Control-Allow-Origin

    http://www.cnblogs.com/accessking/archive/2012/05/12/2497000.html http://bbs.csdn.net/topics/3903099 ...

  7. Js 表单序列化

    http://www.w3cmm.com/javascript/serialize-form.html

  8. LeetCode_3 sum closet

    Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...

  9. Extjs4开发中的一些问题

    1.  子frame刷新的问题 一般在jsp里面,要实现界面跳转,有很多方法,最典型的就是window.location.href="href",但是在嵌套有iframe框架的页面 ...

  10. 【转】ByteBuffer 到底怎么用?网络编程中一点总结!--不错

    原文网址:http://cuisuqiang.iteye.com/blog/1443212 做tcp网络编程,要解析一批批的数据,可是数据是通过Socket连接的InputStream一次次读取的,读 ...