可用的 log4j 配置, log4j.properties

log = /Users/grs/Documents/log4j
log4j.rootLogger = DEBUG, FILEROLING, FILE, CONSOLE log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.file=${log}/log.out
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{ISO8601} - %-5p - %m%n log4j.appender.FILEROLING=org.apache.log4j.RollingFileAppender
log4j.appender.FILEROLING.file=${log}/logRR.out
log4j.appender.FILEROLING.MaxFileSize=1KB
log4j.appender.FILEROLING.MaxBackupIndex=30
log4j.appender.FILEROLING.layout=org.apache.log4j.PatternLayout
log4j.appender.FILEROLING.layout.conversionPattern=%d{ISO8601} - %-5p - %m%n log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} - %-5p - %m%n

日志生成的代码

package log4j;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator; public class Log4jTest { static String path = "src/resources/log4j.properties";
static Logger log = Logger.getLogger(Log4jTest.class.getName()); public static void run() throws InterruptedException{ PropertyConfigurator.configure(path); int i = 0;
for (; i < 10000; i++) {
log.debug("ddddd");
log.info("iiiiiii");
}
System.out.println("loop times :" + i);
}
}

控制台日志如下

......
-- ::, - INFO - iiiiiii
-- ::, - DEBUG - ddddd
-- ::, - INFO - iiiiiii
-- ::, - DEBUG - ddddd
-- ::, - INFO - iiiiiii
-- ::, - DEBUG - ddddd
-- ::, - INFO - iiiiiii
-- ::, - DEBUG - ddddd
-- ::, - INFO - iiiiiii
loop times : 10000

日志文件目录如下

grs:log4j grs$
grs:log4j grs$ ll -trTh
total 1128
drwx------+ 24 grs staff 816B Apr 29 00:35:30 2016 ..
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:11 2016 logRR.out.30
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:11 2016 logRR.out.29
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:11 2016 logRR.out.28
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:11 2016 logRR.out.27
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:11 2016 logRR.out.26
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:11 2016 logRR.out.25
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:12 2016 logRR.out.24
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:12 2016 logRR.out.23
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:12 2016 logRR.out.22
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:12 2016 logRR.out.21
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:12 2016 logRR.out.20
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:12 2016 logRR.out.19
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:12 2016 logRR.out.18
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:12 2016 logRR.out.17
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:13 2016 logRR.out.9
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:13 2016 logRR.out.16
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:13 2016 logRR.out.15
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:13 2016 logRR.out.14
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:13 2016 logRR.out.13
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:13 2016 logRR.out.12
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:13 2016 logRR.out.11
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:13 2016 logRR.out.10
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:15 2016 logRR.out.8
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:15 2016 logRR.out.7
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:15 2016 logRR.out.6
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:15 2016 logRR.out.5
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:15 2016 logRR.out.4
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:15 2016 logRR.out.3
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:15 2016 logRR.out.2
-rw-r--r-- 1 grs staff 1.0K Apr 29 01:37:15 2016 logRR.out.1
-rw-r--r-- 1 grs staff 0B Apr 29 01:37:15 2016 logRR.out
-rw-r--r-- 1 grs staff 440K Apr 29 01:37:15 2016 log.out
drwxr-xr-x 34 grs staff 1.1K Apr 29 01:37:15 2016 .
grs:log4j grs$

参加资料:

log4j, tutorialspoint

change location of log4j.properties, stackoverflow

[log4j] 可用案例的更多相关文章

  1. (转)Heartbeat+DRBD+NFS高可用案例

    原文:http://9861015.blog.51cto.com/9851015/1939521--------------------------------Heartbeat+DRBD+NFS高可 ...

  2. 学习heartbeat-03t实现web服务的高可用案例及维护要点

    8.Heartbeat实现web服务的高可用案例 8.1部署准备 通过web服务高可用案例来熟悉heatbeat软件的使用,用上面的两台服务器机器名分别为heartbeat-1-130和heartbe ...

  3. slf4j 和 log4j使用案例

    以Maven项目为例: 步骤: 1.在Maven的pom.xml文件中添加dependency: 之后就会添加3个jar包: 2.在项目下添加log4j.properties  3.log4j.pro ...

  4. WebLogic集群案例分析

    WebLogic集群案例分析 2012年8月,某证券交易系统(采用Weblogic中间件),由于基金业务火爆,使系统压力太大,后台服务器频繁死机时,这时工程师们紧急调试系统及恢复操作,等完成这些操作花 ...

  5. keepalived高可用集群。

    keepalived故障切换转移原理1vrrp协议:(vritual router redundancy protocol)虚拟路由冗余协议,2故障转移.keepalived三大功能1实现物理高可用, ...

  6. Log4j常用配置及使用

    Log4j常用配置及使用 2016-12-14 目录 1 添加log4j依赖2 使用代码配置并调用log  2.1 代码配置LogConfiguration.java  2.2 调用  2.3 结果3 ...

  7. Linux实战教学笔记31:Keepalived高可用集群应用实践

    1.1 Keepalived高可用软件 1.1.1 Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入 ...

  8. 企业Shell面试题及企业运维实战案例(三)

    1.企业Shell面试题1:批量生成随机字符文件名案例 使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下: ...

  9. 日志框架Log4j

    log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布.Log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中. Log4j是 ...

随机推荐

  1. 构建服务端的AMD/CMD模块加载器

    本文原文地址:http://trock.lofter.com/post/117023_1208040 . 引言:  在前端开发领域,相信大家对AMD/CMD规范一定不会陌生,尤其对requireJS. ...

  2. JFreeChart当鼠标停留在热点提示自定义信息功能

    当鼠标停留在数据点时,希望有提示信息显示,但是根据业务需要,我们需要自定义显示一下信息!具体功能实现如下: 首先我们要弄明白,Jfreechart鼠标提示信息显示主要是得到一个数据的map对象,该ma ...

  3. HDU 2476 String painter(区间dp)

    题意: 给定两个字符串,让求最少的变化次数从第一个串变到第二个串 思路: 区间dp, 直接考虑两个串的话太困难,就只考虑第二个串,求从空白串变到第二个串的最小次数,dp[i][j] 表示i->j ...

  4. Python之路,Day23-----暂无正在更新中

    Python之路,Day23-----暂无正在更新中

  5. JavaScript细节整理

    JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...

  6. Content-Disposition的使用和注意事项

    转载:http://www.cnblogs.com/jzaileen/articles/1281025.html 最近不少Web技术圈内的朋友在讨论协议方面的事情,有的说web开发者应该熟悉web相关 ...

  7. c - 计算1到20的阶乘

    #include <stdio.h> /* 题目:求 1+2!+3!+...+20!的和 */ unsigned long long int factorial(long n) { uns ...

  8. uvalive3026 Period (KMP+结论)

    题目链接:http://vjudge.net/problem/viewProblem.action?id=29342 题目大意:给定字符串,找到每个前缀的最大循环节的个数. 首先当然是kmp预处理,接 ...

  9. ueditor 1.4.3.2 独立/单独 上传图片框原理

    其实简单的说就是编辑框很多按钮,所有按钮的功能都是以command形式提供,所以execCommand就是执行这些功能的命令.有些按钮是能弹出显示一个对话框,他的基类就是dialog,而所有被弹出的d ...

  10. 自定义JQuery插件之 beforeFocus

    <html> <head> <title></title> <script type="text/javascript" sr ...