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. ...
随机推荐
- Crazy Search
poj1200:http://poj.org/problem?id=1200 题意:给你一个有m种字符串,求长度为n的连续子串由多少种. 题解:网上的代码都是hash,但是本人觉得hash有问题,就是 ...
- 玩SSH,SFTP
更改SFTP的本地路径,记得前面要加l哟,应该表示local的意思.如lls,lcd. 证书SSH更安全.就是多服务布置有些烦琐~~
- Android SmartImageView框架的简单实用
特征:根据URL地址装载图像:支持装载通讯录中的图像:支持异步装载:支持缓存: 这个是作者的项目主页,有使用方法.http://loopj.com/android-smart-image-view/ ...
- 查看SQL Server数据库中各个表和视图的索引所占的空间大小
;with cte as ( (select t.name as TableName,i.name as IndexName, sum(row_count)as row_count, SUM (s.u ...
- 树莓派学习路程No.1 树莓派系统安装与登录 更换软件源 配置wifi
在官网下载raspbian系统镜像,用Win32DiskImager写入TF卡 Image File 选择系统镜像,Device 选择TF卡盘符,Write即可.这样系统就写好了.把内存卡插进树莓派里 ...
- Myeclipse中可以正常显示,但运行后的网页找不到图片
目录为: 1 douban 1.1 css 1.2 image 2 pages 2.1 index.jsp 路径为:<img src="../douya/image/lg ...
- Mongo的导出工具mongoexport介绍
需求介绍:将mongodb中的数据以文件的方式导出:json或cvs格式 mongo 提供了mongoexport的工具,可以实现将库中的数据以json或cvs的格式输出到文件中.mongoexpor ...
- SQLserver 数据库
1.数据库: 结构化查询语言(Structured Query Language)简称SQL: 数据库管理系统(Database Management System)简称DBMS: 数据库管理员(Da ...
- ListView 滚动条的图标样式
android:fastScrollEnabled="true" android:focusable="true" 在listview的xml文件中添加这两条记 ...
- openwrt使用3G上网卡
尊敬的大大.感谢你抽空指导我 我的设备是db120 mu350 和广东无限卡 版本是OpenWrt Backfire 10.03.336 DIY full 一. 没有安装到kmod-us ...