Javaproject集成log4J 1.x
log4j是Java开发平台中的日志管理工具,是Apache基金会的一个开源项目。它的作用能够简单的理解为在开发过程中替代system.out的功能。
1、在project中集成log4j:
(1)在官网http://logging.apache.org/log4j/2.x/download.html中下载版本号log4j-1.2.9.jar包(仅仅需加入该log4j jar包就可以)并加入到build path中
(2)改动配置文件log4j.properties,能够百度一下。这样的资源非常多,我的配置文件例如以下:
log4j.rootLogger =DEBUG,console,file,D,E #设置日志级别和日志输出目的地,级别仅仅能有一个。目的地能够由多个 log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n #warn:before write the file log.log, clear it
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.file=./log.log
log4j.appender.file.Append = false #注意:每次写文件前,清空,做试验用,默认值为true
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
#log4j.appender.file.layout=org.apache.log4j.TTCCLayout
#org.apache.log4j.TTCCLayout do not have the property such as ConversionPattern #test output different log information to seperate file
#set the DEBUG level information output to the file debug.log
#warn:before write the file debug.log, clear it
log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.file=./debug.log
log4j.appender.D.Append = false #注意:每次写文件前,清空,做试验用,默认值为true
log4j.appender.D.Threshold = DEBUG #仅仅有比DEBUG级别高的日志才会输出到debug.log文件里,相当于五种类型的日志都会保存到debug.log中
log4j.appender.D.DatePattern='.'yyyy-MM-dd
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n #set the ERROR level information output to the file debug.log
#warn:before write the file error.log, clear it
log4j.appender.E=org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.file=./error.log
log4j.appender.E.Append = false #注意:每次写文件前,清空,做试验用,默认值为true
log4j.appender.E.Threshold = ERROR #仅仅有比ERROR级别高的日志才会输出到error.log文件里,相当于error.log文件仅仅保存FATAL和ERROR类型的日志
log4j.appender.E.DatePattern='.'yyyy-MM-dd
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
(3)优先级说明:log4j中有5种优先级,须要注意的是优先级数据越小其优先级越高(0最高。7最低),当设置某种优先级后。比其高的级别日志都会输出。比如,假设在log4j.rootLogger
=DEBUG,console,file,D,E设置的为DEBUG。则全部级别的日志都会输出,由于DEBUG级别最低。这点在实现不同级别的日志信息写到不同的文件时很重要。
FATAL 0
ERROR 3
WARN 4
INFO 6
DEBUG 7
2、log4j的初始化
在网上搜了下。发现有三种方式进行初始化:
(1)自己主动载入配置文件。这个对配置文件的存放位置有要求,我这里的是Java seproject。配置文件放在src文件夹下;若是放在project根文件夹下,载入失败,会出现例如以下错误:
log4j:WARN No appenders could be found for logger (Log4jTest).
log4j:WARN Please initialize the log4j system properly.
(2)手动载入配置文件,在main方法里利用语句(注意依据配置文件的路径自己调整):
PropertyConfigurator.configure("./log4j.properties");
(3)不用配置文件。直接在代码中设置。
关于log4j的初始化过程,有篇博客以xml格式的配置文件为例,从源代码级别上做了解释http://tiangu.iteye.com/blog/1153777
3、log4j实现不同类型的日志输出到不同的文件
这里必须设置log4j.appender.xxx.Threshold属性。仅仅有比该级别高的日志才会输出到该日志文件里。
详见上面的配置文件凝视。
Javaproject集成log4J 1.x的更多相关文章
- Javaproject集成log4j 2.x
log4j2和log4j在配置文件和引入jar包上出现了不同.这里做个备忘,这里使用的版本号为apache-log4j-2.3-bin.zip. 1.apache-log4j-2.3-bin.zip下 ...
- SSH集成log4j日志环境[转]
第一步:在web.xml初始化log4j <context-param> <param-name>log4jConfigLocation</param-name> ...
- SSH集成log4j日志环境
第一步:在web.xml初始化log4j <context-param> <param-name>contextConfigLocation</param-name> ...
- Spring MVC集成Log4j
以下示例显示如何使用Spring Web MVC框架集成LOG4J.首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建一 ...
- springboot集成log4j
需求: 1.springboot集成log4j 2.mybatis 打印 sql 实现: pom.xml <dependency> <groupId>org.springfra ...
- SpringBoot 集成Log4j、集成AOP
集成Log4j (1)在pom.xml中添加依赖 <!--去掉springboot默认的日志--> <dependency> <groupId>org.spring ...
- SpringBoot集成log4j,解决log4j.properties不生效问题
Spring Boot集成log4j其实比较简单,maven的话,在xml中增加log4j依赖就行 <dependency> <groupId>org.springframew ...
- (OAF)jdeveloper集成log4j并将日志输出到指定文件并写入数据库
参考: How to configure Log4j in JDev 11g Ever wanted to use log4j in your adf project ? Well though Or ...
- spring 集成 log4j 配置
在web.xml中增加如下代码: <context-param> <param-name>log4jConfigLocation</param-name> < ...
随机推荐
- openpyxl python操作Excel表格,
这里openpyxl只支持xlsx格式的Excel,openpyxl使用起来会更方便一些,所以如果只操作小流水线文件的话,那么可以优先选择openpyxl,如果要兼容xls的话,就使用xlrd/xlw ...
- 331 Verify Preorder Serialization of a Binary Tree 验证二叉树的前序序列化
序列化二叉树的一种方法是使用前序遍历.当我们遇到一个非空节点时,我们可以记录这个节点的值.如果它是一个空节点,我们可以使用一个标记值,例如 #. _9_ / \ 3 2 ...
- jvm gc日志解读
参考 https://blog.csdn.net/yxc135/article/details/12137663 认识gc日志每个位置的含义 java 8 full gc [Full GC (Meta ...
- [Android]异常2-Unexpected error while executing
异常原因: 可能一>Android Studio的自动编译没有成功 解决方法有: 解决一>菜单栏里的“Build”,“Clean Project” 注:
- 02--Java Socket编程--IO方式
一.基础知识 1. TCP状态转换知识,可参考: http://www.cnblogs.com/qlee/archive/2011/07/12/2104089.html 2. 数据传输 3. TCP/ ...
- css学习笔记---盒模型,布局
1.外边距叠加 当一个元素出现在另一个元素上面时第一个元素的底边距与第二个元素的上边距发生叠加,元素被包含时也有可能会发生叠加(如果没有内边距和边框),如果一个空元素没有内边距和边框本身也会发生上下边 ...
- 如何描述bug
清晰的标题 环境描述 已经采取了什么措施 结果 日志 Coredump 截图
- (转) SolrCloud之分布式索引及与Zookeeper的集成
http://blog.csdn.net/ebay/article/details/46549481 作者:Wang, Josh 一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检 ...
- HDU_1158_Employment Planning_dp
Employment Planning Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- Linux常用命令(简单的常用)
1. 文件和目录 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd ...