目录

  1. 代码
  2. 配置
  3. 编译
  4. 测试

代码:

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使用的更多相关文章

  1. Log4J1升级Log4J2

    近期,碰到需要将项目中的Log4J1升级到Log4J2,现进行下总结.交代下技术背景:web项目,基于Java + Maven 1. 依赖 <dependency> <groupId ...

  2. 3.Java日志框架slf4j、jcl、jul、log4j1、log4j2、logback大总结

    一.slf4j.jcl.jul.log4j1.log4j2.logback JUL:JDK中的日志记录工具,也常称为JDKLog.jdk-logging. LOG4J1:一个具体的日志实现框架. LO ...

  3. Log4j1.2配置详解

    Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志的输出到控制台,或者文件等等. 同时,在各大框架中也主要是使用log4j来进行日志的输出. 下面是log4j1.x版本的详细 ...

  4. 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 ...

  5. log4j组件的用法(log4j1)

    在实际的项目开发和维护中,日志是经常用到的一个内容.遇到问题的时候,经常需要通过日志去查出问题的所在并解决问题. 通常我们会用: System.out.println(xxx); 来打印运行中所需要的 ...

  6. slf4j、jcl、jul、log4j1、log4j2、logback大总结

    1 系列目录 jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf4j ...

  7. 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. ...

  8. Log4j1.x初识

    初识log4j1.x 研究源码首先要对项目要有整体的认识,这一章节主要让大家对log4j1.x有一个整体的认识,并以此为切入点,认识log4j1.x的真个框架 1 整体认识 先整体上对log4j1有一 ...

  9. Java日志框架使用技巧收集(slf4j、jcl、jul、log4j1、log4j2、logback)

    乒乓狂魔-教程: jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf ...

  10. slf4j、jcl、jul、log4j1、log4j2、logback大总结[转]

    #1 系列目录 jdk-logging.log4j.logback日志介绍及原理 commons-logging与jdk-logging.log4j1.log4j2.logback的集成原理 slf4 ...

随机推荐

  1. redis 之 redis主从复制

    Redis集群中的数据库复制是通过主从同步来实现的 主节点(Master)把数据分发给从节点(Slave) 主从同步的好处在于高可用,Redis节点有冗余设计 主从复制的原理:1. 从服务器向主服务器 ...

  2. 如何使用Python输出一个[斐波那契数列]

    如何使用Python输出一个[斐波那契数列]Fibonacci 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonac ...

  3. 今日份学习: Spring - 事实标准

    笔记 Spring IOC Inverse of Control:控制反转 DI:Dependancy Injections:依赖注入 没有IOC的时候,各种依赖需要逐个按顺序创建. 有了IOC的之后 ...

  4. Python学习第三课——运算符

    # 运算符 + - * / **(幂) %(取余) //(取整) num=9%2 print("余数为"+(str)(num)) #运算结果为 1 num1=9//2 print( ...

  5. 为何以及如何学Linux系统?

    在当今的社会中,linux用处实在是太过广泛了.现在用在服务器和嵌入式上的Linux发行版本数不胜数,桌面上linux只占1%的比例,但这不代表linux比windows和mac 做得差,实际上桌面系 ...

  6. IOS UIPanGestureRecognizer手势使用及识别状态UIGestureRecognizerState

    UIGestureRecognizerState -- 手势识别器状态 1.先来看官方文档 定义UIGestureRecognizer.h 英文: typedef NS_ENUM(NSInteger, ...

  7. iterm2常用快捷键

    标签 新建标签: command + t 关闭标签: command + w 切换标签: command + 数字 command + 左右方向键 切换全屏: command + enter 查找: ...

  8. 装系统:Win7,机子是Dell 5460,有半高的mSATA SSD

    问题描述:Dell Vostro 5460有一个机械盘,有一个半高的mSATA SSD,现在想将系统重装到mSATA SSD上,但是机子BIOS的Boot选项没有mSATA,只有机械盘,怎么办? 解决 ...

  9. 关于Essay写作的Tips及整体讲解

    Essay,相信在国外留学的小伙伴们都不会陌生,无论你是读本科还是硕士,甚至是读中学,都要经历Essay写作,也就是我们的小论文.那么,无论你是开始了英国学校的学习还是将要开始,你对Essay写作的了 ...

  10. texlive 安装

    texlive 可以从下面两个网址下载 https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/ https://mirror ...