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. ...
随机推荐
- 通过阅读ASP.NET MVC5 框架解密 路由的一点心得
路由: 1.在ASP.NET中路由不专属与ASP.NET MVC,因为路由(Route)是在system.web 命名空间下的,所以传统的WebForm也可以使用路由. 2.什么叫做路由 采用某种机制 ...
- ASP.NET 获取来源网站的网址,获取上一网页的网址,获取来源网页的URL,获取上一网页的URL
ASP.NET 获取来源网站的网址,获取上一网页的网址,获取来源网页的URL, 获取上一网页的URL Uri Url = HttpContext.Current.Request.UrlReferrer ...
- Multilingual App Toolkit v2.2 release
Multilingual App Toolkit v2.2 release Today we released Multilingual App Toolkit v2.2. This release ...
- JMX示例
HelloJMXMBean.java package jmx; /** * Created by george on 14-8-21. */ public interface HelloJMXMBea ...
- Spring(一)——总体介绍
spring框架,是进行对象管理,对象关联,解耦的一个中间层框架.SSH(Struts+Spring+hibernate)三大Spring在中间就起着一个承上启下的作用.好,首先我们先来 ...
- INDEX FAST FULL SCAN和INDEX FULL SCAN
INDEX FULL SCAN 索引全扫描.单块读 .它扫描的结果是有序的,因为索引是有序的.它通常发生在 下面几种情况(注意:即使SQL满足以下情况 不一定会走索引全扫描) 1. SQL语句有ord ...
- Solr4.4的安装与配置
最近准备用Solr搭建项目,所以对其作了一些了解,我采用的是Solr4.4版本:这个版本的Solr相对于以前的版本改变很大,这里记一下自己安装与配置的过程. 网上很多关于Solr的教程都很老了,很多教 ...
- -_-#【邮件】qq邮箱不显示图片
干货分享之邮件营销QQ邮箱IP白名单服务申请
- 传智播客C语言视频第一季(有效下载期为10.1-10.7,10.8关闭)
J:\传智播客_尹成_C语言从菜鸟到高手├─传智播客_尹成_C语言从菜鸟到高手_第一章C语言概述A│ 第一讲1.1C语言第一阶段.mp4│ 第二讲1.2c语言入门教程.mp4 ...
- 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2
原文网址:http://bbs.51cto.com/thread-1099956-1.html 亲爱的学员们: 如今,各路开发者为淘一桶金也纷纷转入iOS开发的行列.你心动了吗?想要行动吗?知道如何做 ...