1. Maven 依赖

<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>

2. 配置 log4j.properties

log4j.rootLogger = warn, STDOUT, DEBUG, ERROR

## Console
log4j.appender.STDOUT = org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.Target = System.out
log4j.appender.STDOUT.layout = org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern = %d{ABSOLUTE} %5p [%t] (%F:%L) - %m%n ## DEBUG
log4j.appender.DEBUG = org.apache.log4j.DailyRollingFileAppender
log4j.appender.DEBUG.File = log/debug.log
log4j.appender.DEBUG.DatePattern='.'yyyy-MM-dd
log4j.appender.DEBUG.Append = true
log4j.appender.DEBUG.Threshold = DEBUG
log4j.appender.DEBUG.layout = org.apache.log4j.PatternLayout
log4j.appender.DEBUG.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) - %m%n ## ERROR
log4j.appender.ERROR = org.apache.log4j.DailyRollingFileAppender
log4j.appender.ERROR.File = log/error.log
log4j.appender.ERROR.DatePattern='.'yyyy-MM-dd
log4j.appender.ERROR.Append = true
log4j.appender.ERROR.Threshold = ERROR
log4j.appender.ERROR.layout = org.apache.log4j.PatternLayout
log4j.appender.ERROR.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} %5p [%t] (%F\:%L) - %m%n

3. 测试

package com.huey.hello.log4j;

import org.apache.log4j.Logger;

public class Log4jTest {

    static final Logger LOGGER = Logger.getLogger(Log4jTest.class);

    public void doLog() {
LOGGER.debug("Debug Info");
LOGGER.info("Info Info");
LOGGER.warn("Warn Info");
LOGGER.error("Error Info");
LOGGER.fatal("Fatal Info");
} public static void main(String[] args) {
Log4jTest test = new Log4jTest();
test.doLog();
} }

4. 控制台输出,仅输出 WARN 级别及以上的日志

10:36:17,706  WARN [main] (Log4jTest.java:12) - Warn Info
10:36:17,708 ERROR [main] (Log4jTest.java:13) - Error Info
10:36:17,709 FATAL [main] (Log4jTest.java:14) - Fatal Info

5. debug.log,仅输出 WARN 级别及以上的日志

2015-12-29 10:36:17  WARN [main] (Log4jTest.java:12) - Warn Info
2015-12-29 10:36:17 ERROR [main] (Log4jTest.java:13) - Error Info
2015-12-29 10:36:17 FATAL [main] (Log4jTest.java:14) - Fatal Info

6. error.log,仅输出 ERROR 级别及以上的日志

2015-12-29 10:36:17 ERROR [main] (Log4jTest.java:13) - Error Info
2015-12-29 10:36:17 FATAL [main] (Log4jTest.java:14) - Fatal Info

Log4j(1.2.17) - hello world的更多相关文章

  1. Mybatis、maven项目中整合log4j (17)

    Mybatis.maven项目总整合log4j java 中Mybatis.maven项目总整合log4j 1.pom增加log4j包引用 2.添加 log4j.properties文件 # java ...

  2. 项目自动化建构工具gradle 入门2——log4j输出helloWorld

    上一章节呢,有一个能跑的程序了.但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点.比如使用log4j.直接上例子: 1进入D:\work\gradle\log目录  ,您电脑没 ...

  3. Log4j MDC Tomcat下报异常org.apache.log4j.helpers.ThreadLocalMap

    严重: The web application [/qdgswx] created a ThreadLocal with key of type [org.apache.log4j.helpers.T ...

  4. 【lucene系列学习四】log4j日志文件实现多线程的测试

    参考资料:http://nudtgk2000.iteye.com/blog/1716379 首先,在http://www.apache.org/dyn/closer.cgi/logging/log4j ...

  5. Log4j各级别日志重复打印的问题

    今天在配置Log4j日志的时候,发现日志重复打印的问题.网上查了很多资料,发现介绍Log4j配置的文章数量不少,但提到这个问题的文章却寥寥,解决了自己的问题以后,赶紧记录一下. 原文地址:http:/ ...

  6. 细说log4j

    可能做过java项目的基本上都是用过log4j,它是用来做java日志的.比如我们做一个项目分为很多的模块,那我们怎么想要知道它什么时候启动了,这时候我们可以使用log4j标记某某模块启动了. 努力的 ...

  7. Log4j maven依赖配置

    做项目的时候,经常需要给应用打印日志,LOG4J是我们的不二选择,项目管理使用maven构建时,pom.xml配置如下 <!--日志 start--> <dependency> ...

  8. Tomcat下使用Log4j,按日期每天存放,解决catalina.out日志文件过大问题

    1. 准备jar包: log4j-1.2.17.jar (从 http://www.apache.org/dist/logging/log4j/1.2.17/ 下载) tomcat-juli.jar, ...

  9. tomcat使用log4j管理日志

    1.JDK+tomcat环境  参考:http://www.cnblogs.com/zzzhfo/p/6444029.html 2.下载相关软件 log4j下载地址 http://www.apache ...

随机推荐

  1. Technology Trader

    zoj2071:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2071 题意:题意一些零件,每一个零件会有一个花费,然后用这 ...

  2. 【HDU3065】 病毒侵袭持续中(AC自动机)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  3. 解除網頁無法選取文字、鎖右鍵限制:Enable Copy(Chrome 擴充套件)

    有些网页因会因为某些因素而禁止浏览者直接复制网页上的内容,虽然我们了解站方的意思,不过有些时候会造成一些不必要的困扰. Enable Copy 这款Chrome 扩充套件可以帮你一键解除封锁右键和选取 ...

  4. 移植qt5.3.1到arm

    最近刚入手一款开发板(比较低端,刚毕业工作还没一个月,穷屌丝一个).在学校以前都是用的是Friendly Arm的6410,使用的qt版本是使用的最多的4.7.0版本,入手的板子是4.7.4.qt5出 ...

  5. Android开源项目发现--- 工具类文件处理篇(持续更新)

    1.ZIP java压缩和解压库 项目地址:https://github.com/zeroturnaround/zt-zip 文档介绍:https://github.com/zeroturnaroun ...

  6. RedHat Enterprise Linux 6.4-x86_64 md5:467B53791903F9A0C477CBB1B24FFD1F

    RedHat Enterprise Linux 6.4-x86_64 md5:467B53791903F9A0C477CBB1B24FFD1F 这是下载地址:http://pan.baidu.com/ ...

  7. js之script属性async与defer

    概念 默认情况下js的脚本执行是同步和阻塞的,但是 <script> 标签有 defer 和 async 属性, 这可以改变脚本的执行方式,这些都是布尔类型了,没有值,只需要出现在 < ...

  8. bzoj1391

    很像最大权闭合子图的题目s向每个工作连边,流量为收益每个工序,由工作i向对应机器连边,流量为租用费每个机器向t连边,流量为购买费显然跑最小割,ans=总收益-mincut ; type node=re ...

  9. 最详细在Windows安装Xamarin.iOS教程

    最详细在Windows安装Xamarin.iOS教程 来源:http://www.cnblogs.com/llyfe2006/articles/3098280.html 本文展示了如何设立Xamari ...

  10. Linux学习笔记25——命名管道(FIFO)

    1 命名管道(FIFO) 管道应用的一个重大缺陷就是没有名字,因此只能用于亲缘进程之间的通信.后来从管道为基础提出命名管道(named pipe,FIFO)的概念,该限制得到了克服.FIFO不同于管道 ...