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. ...
随机推荐
- iOS:导航栏的工具条和导航条
功能:用NAV视图控制器打开新的视图,默认工具条和导航条隐藏,双击显示之 // // main.m // Hello // // Created by lishujun on 14-8-28. // ...
- golang开发android环境搭建_window
golang开发android环境搭建介绍 一 安装依赖软件: git:版本管理 go: go开发环境(版本>=1.5),可直接下载window版的go安装包. android studio: ...
- [CF Round #294 div2] D. A and B and Interesting Substrings 【Map】
题目链接:D. A and B and Interesting Substrings 题目大意 给定26个小写字母的权值,一共26个整数(有正有负). 给定一个小写字母组成的字符串(长度10^5),求 ...
- clang: error: invalid deployment target for -stdlib=libc++ (requires iOS 5.0 or later)
低于5.0版本的不支持设置成 或 在Xcode中做如下配置 静态库工程也要做同样设置
- 11个显著提升 ASP.NET 应用程序性能的技巧——第1部分
[编者按]本文出自站外作者 Brij Bhushan Mishra ,Brij 是微软 MVP-ASP.NET/IIS.C# Corner MVP.CodeProject Insider,前 Code ...
- 【UVALive - 3211】Now or later (二分+2-SAT)
题意: 有n架飞机需要着陆.每架飞机有两种选择,早着陆或者晚着陆,二选其一.现在为了保证飞机的着陆安全,要求两架着陆的飞机的时间间隔的最小值达到最大. 分析: 最小值最大问题我们想到二分答案.对于猜测 ...
- 2.5.3 使用alertDialog创建自定义对话框
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout ...
- 【HDOJ】1924 CIVIC DILL MIX
简单字符串. #include <cstdio> #include <cstring> #define MAXN 55 char srca[MAXN], cas[MAXN], ...
- R语言 一元线性回归
#一元线性回归的基本步骤#1.载入数据 给出散点图 x<-c(0.10,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.20,0.21,0.23) y< ...
- Linux Kernel ‘perf’ Utility 本地提权漏洞
漏洞名称: Linux Kernel ‘perf’ Utility 本地提权漏洞 CNNVD编号: CNNVD-201309-050 发布时间: 2013-09-09 更新时间: 2013-09-09 ...