log4j1-x使用
目录
- 代码
- 配置
- 编译
- 测试
代码:
import org.apache.log4j.*;
public class Client{
public static void main(String[] args){
PropertyConfigurator.configure("log4j.properties");
Logger logger = Logger.getLogger(Client.class);
logger.info("this is info");
logger.debug("this is debug");
logger.error("this is error");
}
}
配置:
#其中DEBUG为日志level,通过更改此level可以控制日志粒度
#其后的D、I、E表示日志将被记录的哪里,这里都是文件,实际上数据库也可以是目的地
log4j.rootLogger =DEBUG, D,I,E
###
#配置保存在位置D的日志以文件的形式保存,更多保存方式自行查找
log4j.appender.D=org.apache.log4j.FileAppender
#配置日志文件的在磁盘上的位置
log4j.appender.D.File =logs/ALL.txt
#这个Threshold比较关键,它的值决定当前位置D记录日志的粒度
#粒度精细到调试(debug<info<warn<error<fatal)粒度粗到产生严重错误才记录日志
log4j.appender.D.Threshold =DEBUG
log4j.appender.D.Append =true
#这个选项表示日志以那种格式输出
log4j.appender.D.layout =org.apache.log4j.PatternLayout
#日志的内容,这里面的内容比较碎,多上网查吧
log4j.appender.D.layout.ConversionPattern =%d{yy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
#
log4j.appender.I=org.apache.log4j.FileAppender
log4j.appender.I.File =logs/INFO.txt
log4j.appender.I.Threshold =INFO
log4j.appender.I.Append =true
log4j.appender.I.layout =org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern =%d{yy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
#
log4j.appender.E=org.apache.log4j.FileAppender
log4j.appender.E.File =logs/ERROR.txt
log4j.appender.E.Threshold =ERROR
log4j.appender.E.Append =true
log4j.appender.E.layout =org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%d{yy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
编译:
测试:
我个人觉得那个配置文件需要耐心的弄一下,特别的,
log4j.rootLogger =DEBUG, D,I,E,就是 log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …
前面是日志的粒度控制,后面是日志“保存、显示”在哪里,我刚开始认为 log4j.rootLogger 这个key对应的是不同level的列表,有点蠢。。。哈
基本上就是决定日志去往哪些地方,然后对每个地方进行个性化设置。
这里有比较详细的配置文件的写法:http://m.blog.csdn.net/zhanghaipeng1989/article/details/40155521
把不同的类的日志单独成存放:http://blog.csdn.net/janestone/article/details/1862678
日志的存放路径配置方法:http://blog.csdn.net/longaohun/article/details/6233099
log4j1-x使用的更多相关文章
- Log4J1升级Log4J2
近期,碰到需要将项目中的Log4J1升级到Log4J2,现进行下总结.交代下技术背景:web项目,基于Java + Maven 1. 依赖 <dependency> <groupId ...
- 3.Java日志框架slf4j、jcl、jul、log4j1、log4j2、logback大总结
一.slf4j.jcl.jul.log4j1.log4j2.logback JUL:JDK中的日志记录工具,也常称为JDKLog.jdk-logging. LOG4J1:一个具体的日志实现框架. LO ...
- Log4j1.2配置详解
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志的输出到控制台,或者文件等等. 同时,在各大框架中也主要是使用log4j来进行日志的输出. 下面是log4j1.x版本的详细 ...
- log4j-1.2.6升级到log4j-2.9.0
0.工程是普通java web工程,不是maven工程.需要升级log4j 步骤发下: 1. 在build path中 移除项目对log4j-1.2.6.jar的引用,并物理删除log4j-1.2.6 ...
- log4j组件的用法(log4j1)
在实际的项目开发和维护中,日志是经常用到的一个内容.遇到问题的时候,经常需要通过日志去查出问题的所在并解决问题. 通常我们会用: System.out.println(xxx); 来打印运行中所需要的 ...
- slf4j、jcl、jul、log4j1、log4j2、logback大总结
1 系列目录 jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf4j ...
- apache log4j-1.2.15的使用
1.这个log4j的下载 下载 http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.15/apache-log4j-1.2.15.zip 2. ...
- Log4j1.x初识
初识log4j1.x 研究源码首先要对项目要有整体的认识,这一章节主要让大家对log4j1.x有一个整体的认识,并以此为切入点,认识log4j1.x的真个框架 1 整体认识 先整体上对log4j1有一 ...
- Java日志框架使用技巧收集(slf4j、jcl、jul、log4j1、log4j2、logback)
乒乓狂魔-教程: jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf ...
- slf4j、jcl、jul、log4j1、log4j2、logback大总结[转]
#1 系列目录 jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf4 ...
随机推荐
- Codeforces1300D. Aerodynamic
本题题目有点绕,结合图例大概可知,P(x,y)是以点给出的一个凸包,T是一个点集合,也构成一个凸包,构成的方法就是将原点(0,0)在P(x,y)的边上跑,移动坐标轴,其构成的最远点是个凸包,我们可以画 ...
- Python正则表达式就是这么简单【新手必学】
一前言本篇文章带大家快速入门正则表达式的使用,正则表达式的规则不仅适用python语言,基本大多数编程语言都适用,在日常使用中极为广泛,读者们有必要学好正则表达式.看完这篇文章,读者们要理解什么是正则 ...
- 「JOI2019 Final」解题报告
传送门 「JOI2019 Final」勇者比太郎 看懂题就很简单了,后缀和随便维护一下就好了,别用树状数组强加一个\(\log\)就行. 「JOI2019 Final」画展 显然可以先把所有的画框按大 ...
- kubernetes 1.5.2 部署kube-dns 踩过的坑
看了kubernetes 权威指南 遇见了dns这一块.于是便按照书上的方式部署了一下. 书上使用的方式是:kube2sky+etcd+skydns的方式.按照书上的yaml写了一遍,发现无论如何都无 ...
- linux编译C
1. 编译单个源文件 为了进行测试,你可以创建"Hello World"程序: #include #include int main(int argc, char **argv) ...
- USACO 2019 December Contest 随记
Forewords 今年 USACO 的比赛变化挺大的,有部分分了,而且不再是固定十个点了(部分分只说这几个点满足这几个性质,以为十个点的我还高兴了一会,一提交,...),除此之外居然赛后还排名了.这 ...
- 进程管理与SELinux
进程(process): 将程序与进程的总结: 程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘.光盘.软盘.磁带等), 为实体文 件的型态存在 ...
- 第2章 PLC1200 与HMI (TP900) 组合仿真连接 编写1200程序,编写HMI 仿真过程拍摄视频
博途V13 与 WINCC PROFESSIONAL V13 创建一个PLC工程 和屏幕的 练习. 在做S1200与 HMI的仿真之前 需要设置控制面板 设置PG/PC口 巡视窗口用于看设备的一些属性 ...
- 第3节 storm高级应用:6、定时器任务;7、与jdbc的整合使用;8、与jdbc整合打包集群运行
======================================= 5.storm的定时器以及与mysql的整合使用 功能需求:实现每五秒钟打印出当前时间,并将发送出来的数据存入到mysq ...
- popupwindow使用之异常:unable to add window -- token null is not valid
使用popwindow中又碰到一个白痴问题,在此留作纪念,希望对大家有帮助 popupwindow之所以叫这个名字,肯定是要从某个地方弹出啦,但是从哪个地方呢?必须是指定一个view嘛 void an ...