Log4J2基本配置
[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基本配置的更多相关文章
- log4j2的配置及使用
log4j2与log4j1的不同点(不完整): 前者配置文件格式多样性.log4j2的配置文件可以是xml,也可以是json. 在不修改web.xml的前提下,前者配置文件的命名可以为log4j2.x ...
- log4j2高级配置(1)
一.Log4j2高级配置介绍(1) (1)日志输出到文件配置 <!-- 将日志输出到指定位置的文件中 --> <RollingFile name="RollingFi ...
- slf4j+log4j2的配置
昨天自己测试了一下slf4j+log4j2的配置,可以正常使用,虽然配置十分简单,但好记性不如烂笔头,想想还是记录下来吧. 运行的环境:jdk1.7.tomcat7.Maven的web项目 1.在新建 ...
- Log4j2日志配置详解(2)
Log4j2日志配置系列之2 1.Configuration 在应用程序代码中插入日志请求需要相当多的计划和工作.观察显示,大约4%的代码用于日志记录.因此,即使是中等大小的应用程序也会在其代码中嵌入 ...
- log4j2.xml 配置
动态生成日志, 日志路径: log4j2.xml 配置如下: <?xml version="1.0" encoding="UTF-8"?> < ...
- 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. ...
- SpringBoot—整合log4j2入门和log4j2.xml配置详解
关注微信公众号:CodingTechWork,一起学习进步. 引言 对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...
- SpringBoot + Log4j2使用配置 (转)
前言 后台程序开发及上线时,一般都会用到Log信息打印及Log日志记录,开发时通过Log信息打印可以快速的定位问题所在,帮助我们快捷开发.程序上线后如遇到Bug或错误,此时则需要日志记录来查找发现问题 ...
- log4j2日志配置
背景 log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量.可配置的审计型日志.基于插件架构的各种灵活配置等. 1. ...
随机推荐
- 虚拟机linux下使用cuteftp
操作系统 redhat9.0 一.主机配置 1.查看主机是否安装了ftp服务器,如果没有,安装它 在终端上输入setup,在弹出的界面中选择system services.查看弹出的界面中是否有vs ...
- 关于android app两次点击返回键退出的处理
现在的android app在开发时,引入了两次点击返回键退出app的设计 为了避免用户误触,这个设计很人性化 中文网上社区有些同学贴了一些实现的例子,我觉得不是很好 代码如下 public bool ...
- UFLDL教程之(一)sparseae_exercise
下面,将UFLDL教程中的sparseae_exercise练习中的各函数及注释列举如下 首先,给出各函数的调用关系 主函数:train.m (1)调用sampleIMAGES函数从已知图像中扣取多个 ...
- [转]DOS命令
windows dos命令 - 知识天地 - 博客园http://www.cnblogs.com/mfryf/archive/2012/02/13/2348685.html
- http server v0.1_http_webapp.c
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ...
- 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 ...
- Js 表单序列化
http://www.w3cmm.com/javascript/serialize-form.html
- 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 ...
- Extjs4开发中的一些问题
1. 子frame刷新的问题 一般在jsp里面,要实现界面跳转,有很多方法,最典型的就是window.location.href="href",但是在嵌套有iframe框架的页面 ...
- 【转】ByteBuffer 到底怎么用?网络编程中一点总结!--不错
原文网址:http://cuisuqiang.iteye.com/blog/1443212 做tcp网络编程,要解析一批批的数据,可是数据是通过Socket连接的InputStream一次次读取的,读 ...