本文在开发第一个maven示例的基础上进行扩展。


日志级别测试

在src\main\resources文件夹下新建log4j.properties

log4j.rootLogger = warn,stdout
#输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.SimpleLayout

在src\test\java文件夹下新建test包,在此包中新建TestClass类。

package test;

import org.apache.log4j.Logger;
import org.junit.Test; public class TestClass {
protected Logger log = Logger.getLogger(this.getClass()); @Test
public void test() {
log.fatal("this is fatal");
log.error("this is error");
log.warn("this is warn");
log.info("this is info");
log.debug("this is debug");
log.trace("this is trace");
}
}

控制台打印:

FATAL - this is fatal
ERROR - this is error
WARN - this is warn

从结果中可知当日志级别设置为warn时,比warn级别低的info、debug、trace日志没有被打印出来。


PatternLayout测试

log4j.rootLogger = warn,stdout
#输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601}[%-5p][%l]:%m%n

控制台打印:

2016-12-30 14:04:12,585[FATAL][test.TestClass.test(TestClass.java:11)]:this is fatal
2016-12-30 14:04:12,588[ERROR][test.TestClass.test(TestClass.java:12)]:this is error
2016-12-30 14:04:12,589[WARN ][test.TestClass.test(TestClass.java:13)]:this is warn

ConsoleAppender测试

ConsoleAppender默认的target 是 "System.out",也可指定"System.err"。

在日志级别测试的基础上修改配置文件:

log4j.rootLogger = warn,stdout
#输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.err
log4j.appender.stdout.layout = org.apache.log4j.SimpleLayout

控制台打印:

FATAL - this is fatal
ERROR - this is error
WARN - this is warn

可以看到打印出的信息是红色的。

log4j+junit+maven的更多相关文章

  1. Maven聚合、Maven仓库jar包以及Spring+MyBatis+JUnit+Maven整合测试的搭建过程

    一.Maven将父项目创建到父项目的内部 在父项目的pom.xml上 点右键,选择maven-->new-->maven module  project 二.Maven聚合 在某个项目的p ...

  2. slf4j+log4j配置(Maven)

    首先配置Maven依赖 <!-- http://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency& ...

  3. junit+maven单元测试

    一.概念 junit是一个专门测试的框架 集合maven进行单元测试,可批量测试类中的大量方法是否符合预期 二.作用:单元测试:测试的内容是类中的方法,每一个方法都是独立测试的.方法是测试的基本单位. ...

  4. SpringBoot Junit Maven JaCoCo

    写一下最近写单体测试的一些笔记. SrpingBoot的测试用例: @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = ...

  5. maven第二天——重要概念与其它操作

    一.在eclipse中建立工程 在day01中我们搭建了eclipse的maven环境,接下来我们开始建立maven项目 1.在eclipse中建立JAVA工程 file->new->ma ...

  6. 基于Maven的Spring + Spring MVC + Mybatis的环境搭建

    基于Maven的Spring + Spring MVC + Mybatis的环境搭建项目开发,先将环境先搭建起来.上次做了一个Spring + Spring MVC + Mybatis + Log4J ...

  7. Java单体应用 - 开发工具 - 02.Maven

    原文地址:http://www.work100.net/training/monolithic-tools-maven.html 更多教程:光束云 - 免费课程 Maven 序号 文内章节 视频 1 ...

  8. Maven是如何工作的

    Maven的依赖机制能够自动下载依赖文件,并且自动维护.更新版本. 让我们通过一个案例来了解Maven是如何工作的,假如你的系统想用log4j作为日志输出工具,让我们看一下传统做法和Maven做法: ...

  9. log4j的基本使用和参数设定

    1.简介 apache的一个开放源代码项目. 精确控制日志的输出,包括输出的格式,输出的目的地,输出的过滤(不同级别日志的输出)等. 配置简单,不需要在代码中配置环境,支持两种配置文件格式,XML和J ...

随机推荐

  1. 【计算机网络基础】URI、URN和URL的区别

    先引用一张关系图 灰色部分为URI URI强调的是给资源标记命名,URL强调的是给资源定位. URI是Uniform Resource Identifier,表示是一个资源: URL是Uniform ...

  2. Java开发笔记(一百三十三)Swing的菜单

    传统的桌面程序基本是对某种类型的文件进行加工,例如Window自带的记事本用来读写文本文件,自带的画图程序用来查看和修改位图文件.为了方便用户切换各种操作,这些程序在窗口顶端放了一排菜单栏,单击菜单栏 ...

  3. day30——socket套接字(完全版)

    day30 基于TCP协议的socket循环通信 server import socket phone = socket.socket() phone.bind(("127.0.0.1&qu ...

  4. pandas中的axis参数(看其他人的博客中产生的疑问点,用自己的话解析出来)

    axis有两个值:axis=0或者axis=1 看到很多资料都不太理解,把我个人理解说一下: 下面这张图,在很多资料中都看到了,我只能说先死记住 axis=0,代表跨行(注意看这张图的axis=0的箭 ...

  5. json转义问题

    后端程序接受前台传递过来json 1正常json没有问题 比如  {"id":21,"userName":"2张天师","phon ...

  6. U盘改造计划之PE、kali、U盘三合一

    最强U盘攻略之一 前一段时间朋友买电脑问了我一些问题,我突然发现U盘怎么这么便宜,128G金士顿,140?!!!我16年买的可是240啊.买贵一百块,我好方啊.但是我的U盘,我是不会屈服做一个普通的U ...

  7. shell分享

    shell脚本分享 一.介绍shell Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序, ...

  8. SAS学习笔记60 统计SAS实例之T检验

    单样本 H0:服从正态分布 P=0.0988>0.05不拒绝H0,服从正态分布 H0:等于140t=-2.14,P=0.0397 P<0.05,拒绝H0,差异有统计学意义 均值x=130. ...

  9. 上传自己的 NuGet 包

    参考:https://blog.csdn.net/gulijiang2008/article/details/41724927 STEP 1:在NuGet上注册并获取API Key STEP 2:下载 ...

  10. jQuery 名称发生冲突怎么办【问题】

    [问题]jQuery 名称发生冲突怎么办? [答案]jQuery 使用 $ 符号作为 jQuery 的简介方式.某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号 ...