目录

  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. Python 面试问答 Top 25

    Python 是一种解释型,交互式,面向对象的高级编程语言.和别的一些使用标点符号的语言不同,Pythons使用了大量的英语单词作为关键字,因而具有很好的可读性.而且跟其他编程语言相比,它有更少的语法 ...

  2. Centos7 使用yum安装MariaDB与MariaDB的简单配置与使用

    一.mariadb的安装 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜 ...

  3. Flask - 数据库相关

    1. Flask-SQLAlchemy 1.1 参考: http://flask-sqlalchemy.pocoo.org/2.3/ https://github.com/janetat/flasky ...

  4. Xcode忽略编译警告

    关于本文: 1.说明让Xcode忽略编译警告的目的 2.关于编译警告的开启与关闭的实现 3.顺便借此机会宣传下理解编译原理的大大好处 临时有事,后面更新.

  5. ISAP 算法

    Dinic 算法其实已经足够处理大多数的网络流了,但还不够快.接下来介绍的是最优秀的增广路最大流算法:ISAP(Improve Shortest Argumenting Path).它的时间复杂度上界 ...

  6. 十九 Spring的JDBC模版使用: 模版的CRUD的操作

    Spring的JDBC模版使用: 模版的CRUD的操作 保存操作 修改操作 删除操作 查询操作 import com.ithheima.jdbc.domian.Account; @RunWith(Sp ...

  7. log4j, common-logging, slf4j 关系

    最近因为项目原因,认真学习了一下 log4j 相关内容,主要是从网上找资料,以及追踪原代码.   关于如何使用,网上有很多资料,这里不做具体介绍.下面介绍一下这些工具的关系.   log4j 是最强大 ...

  8. python3列表操作

    1.Python列表脚本操作符 2.Python列表截取 切片的公式:[start : end : step] 1)切片的取值: list1 = [1, 4, 9, 16, 25] print(lis ...

  9. MySQL 加密 压缩

    许多MySQL加密和压缩函数返回结果可能包含任意字节值的字符串,如果要存储这些结果,请使用VARBINARY或BLOB二进制字符串数据类型.这将避免使用非二进制字符串数据类型(CHAR, VARCHA ...

  10. PLCsim 软件模拟OB86故障

    用上一节 组态DP主站与标准从站的方法 组态了网络 实现了 将profibus –dp 标准从站 ET200M 下 输入地址为IW2 接口的状态 读取到 主机 DP-315-2DP 的QW0 变量以来 ...