[log4j] 可用案例
可用的 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$
参加资料:
change location of log4j.properties, stackoverflow
[log4j] 可用案例的更多相关文章
- (转)Heartbeat+DRBD+NFS高可用案例
原文:http://9861015.blog.51cto.com/9851015/1939521--------------------------------Heartbeat+DRBD+NFS高可 ...
- 学习heartbeat-03t实现web服务的高可用案例及维护要点
8.Heartbeat实现web服务的高可用案例 8.1部署准备 通过web服务高可用案例来熟悉heatbeat软件的使用,用上面的两台服务器机器名分别为heartbeat-1-130和heartbe ...
- slf4j 和 log4j使用案例
以Maven项目为例: 步骤: 1.在Maven的pom.xml文件中添加dependency: 之后就会添加3个jar包: 2.在项目下添加log4j.properties 3.log4j.pro ...
- WebLogic集群案例分析
WebLogic集群案例分析 2012年8月,某证券交易系统(采用Weblogic中间件),由于基金业务火爆,使系统压力太大,后台服务器频繁死机时,这时工程师们紧急调试系统及恢复操作,等完成这些操作花 ...
- keepalived高可用集群。
keepalived故障切换转移原理1vrrp协议:(vritual router redundancy protocol)虚拟路由冗余协议,2故障转移.keepalived三大功能1实现物理高可用, ...
- Log4j常用配置及使用
Log4j常用配置及使用 2016-12-14 目录 1 添加log4j依赖2 使用代码配置并调用log 2.1 代码配置LogConfiguration.java 2.2 调用 2.3 结果3 ...
- Linux实战教学笔记31:Keepalived高可用集群应用实践
1.1 Keepalived高可用软件 1.1.1 Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入 ...
- 企业Shell面试题及企业运维实战案例(三)
1.企业Shell面试题1:批量生成随机字符文件名案例 使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下: ...
- 日志框架Log4j
log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布.Log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中. Log4j是 ...
随机推荐
- iOS开发系列之运动事件
前面我们主要介绍了触摸事件以及由触摸事件引出的手势识别,下面我们简单介绍一下运动事件.在iOS中和运动相关的有三个事件:开始运动.结束运动.取消运动. 监听运动事件对于UI控件有个前提就是监听对象必须 ...
- oracle 关于动态执行语句 execute immediate 的用法
当在开发的应用场景中 数据库处理复杂业务逻辑里用到 SQL 语句拼接 可以用 execute immediate 来执行语 举个例子 insert into tb_temp_public( ...
- DOM Style样式对象的详细用法
DOM Style样式对象的详细用法 HTML Style样式比较复杂,相应访问.修改方法也有所差异.参考相关资料,整理如下. 典型Html文件如下,有三种定义方式. <head> ...
- PLSQL远程连接到Oracle服务器
这里只介绍一种远程连接服务器方法,即本机安装了Oracle客户端和PLSql工具,服务器安装在虚拟机或者另一台电脑上 1.打开Oracle客户端的Net Manager,选择Oracle Net配置— ...
- 【转】自动布局之autoresizingMask使用详解(Storyboard&Code)
原文:http://www.cocoachina.com/ios/20141216/10652.html 自动布局Autolayoutstoryboard 前言:现在已经不像以前那样只有一个尺寸,现在 ...
- vs2012快捷键
(1)自己整理的使用频率最高的快捷键(建议大家亲身体验一下!这样才会在潜移默化中运用得到!) (这里省去了很多大家闭上眼都会操作的什么Ctrl+S 等等操作 给出的大多是不常用但是很有用的快捷键组合! ...
- JavaScript奇技淫巧44招
JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...
- Linux命令——创建删除文件
创建文件夹 mkdir filename 进入目录文件 cd filename 返回上一级目录 cd ..返回多级目录 cd ../../.. (../表示一级) 创建文件 touch filen ...
- PHP 设计模式之观察者模式 (转载)
介绍 现在有两派,有的人建议使用设计模式,有的人不建议使用设计模式!这就向写文章一样,有的人喜欢文章按照套路走,比如叙事性质的文章,时间,地点,人物,事件.而有的人喜欢写杂文或者散文,有的人 ...
- Asp.net mvc中Controller的返回值
(1)EmptyResult:当用户有误操作或者是图片防盗链的时候,这个EmptyResult就可以派上用场,返回它可以让用户啥也看不到内容,通过访问浏览器端的源代码,发现是一个空内容: public ...