java工程集成log4J

log4j是Java开发平台中的日志管理工具,是Apache基金会的一个开源项目,它的作用可以简单的理解为在开发过程中替代system.out的功能。

1、在工程中集成log4j:

(1)在官网http://logging.apache.org/log4j/2.x/download.html中下载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 <span style="font-family: Arial, Helvetica, sans-serif;">#注意:每次写文件前,清空,做试验用,默认值为true</span>
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 <span style="font-family: Arial, Helvetica, sans-serif;">#注意:每次写文件前,清空,做试验用,默认值为true</span>
log4j.appender.E.Threshold = ERROR <span style="font-family: Arial, Helvetica, sans-serif;">#只有比ERROR级别高的日志才会输出到error.log文件中,相当于error.log文件只保存FATAL和ERROR类型的日志</span>
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 se工程,配置文件放在src目录下;若是放在工程根目录下,加载失败,会出现如下错误:

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属性,只有比该级别高的日志才会输出到该日志文件中。

详见上面的配置文件注释。

时间: 2024-08-01 04:47:25

java工程集成log4J的相关文章

eclipse通过maven建立java se工程配置log4j,打包成zip,将jar包和配置文件分开,并以bat和sh文件启动java程序

一.新建maven的java工程 1.eclipse里file-new-other,选择maven Project 2.选中 Use default Workspace location,然后 next 3.选择maven-archetype-quitstart,然后next 4.填入工程信息,然后finish 6.新建好的工程结构如图 7.将test下和java下自动生成的java类删除,右键build-path选择好jdk版本,整个工程就建好了. 二.配置log4j 1.将工程目录调整成下图

mondrian与java工程的集成

Mondrian 是一个独立的引擎,一般都是通过嵌入到应用的方式来使用它,只需要在类路径加个类库就可以.实际上有多套 BI 解决方案都是通过集成 Mondrian 的方式来实现多维分析. 本文介绍编程方式连接 Mondrian,执行 MDX 查询的方法.使用 mondrian 需要有一个数据库的连接和多维数据的描述文件(Schema 文件).这个可以通过我之前的文章来了解. http://blog.csdn.net/qzp1991/article/details/44016959 http://

如何用shell脚本编译java工程

编译java工程一般直接用IDE或者用Ant.Maven之类的工具,很少有人用纯shell来编译java工程.正好遇到这样一个应该,用这篇博文做一下记录. 案例:本人用eclipse写了一个java project,然后编译打成jar包. 这个可以采用eclipse自带的Export就可以导出jar了.但是为了软件自动化等巴拉巴拉的原因,采用存shell脚本编译. 如图所示,java project的名称为iec104,下面src是源文件目录,bin是所引用的jar包目录,现在要进行编译,并且打

Java:Apache log4j简明教程(一)

Apache log4j的官方介绍是“log4j is a reliable, fast and flexible logging framework (APIs) written in Java, which is distributed under the Apache Software License. log4j is highly configurable through external configuration files at runtime. It views the log

Java持续集成(3) &ndash; 构建Maven Java项目

Maven Java项目的持续集成过程 1 jekins从svn拉取代码 2 使用mvn的deploy命令完成编译.测试.打包.发布到公司内网的Maven代理仓库   具体配置过程 1 新建任务 输入一个item名称,选择"构建一个自由风格的软件项目",点击OK   2 配置源码管理 在源码管理中选择Subversion,填写要构建Maven Java工程的svn地址   3 配置构建 在构建中,点击增加构建步骤,选择'Invoke top-level Maven targets' [

手把手教你从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate(含源码下载)

转载请注明出处:http://blog.csdn.net/anxpp/article/details/51415366,谢谢! 本文会介绍从一个最基本的java工程,到Web工程,到集成Spring.SpringMVC.SpringDataJPA+Hibernate. 平时我们可能是通过一个模板搭建一个工程,或者是直接导入一个项目,而本文选择从最基本的java工程开始,目的是为了展示更多原理. 当然,我们还是从一个最基本的Maven工程开始,其实普通的非Maven工程,搭建过程几乎是一模一样的,

Java基础学习笔记 -- 2(MyEclipe创建Java工程)

1. IDE开发工具介绍 IDE(集成开发环境:Integrated Development Environment)是专为程序员提供的应用软件,这些软件具备功能强大的图形界面.在IDE的辅助下,程序员可以更加高效的完成编译.调试.提交.重构等工作. Eclipse.MyEclipse是目前主流的IDE开发工具. Eclipse是IBM斥资数千万美元打造的开源项目,除了开源之外,Eclipse成功的最大原因在于它是基于'插件'的特性.Eclipse本身是一个平台框架,提供标准的服务,它本身是使用

利用开源软件搭建JAVA工程CI&CD自动化工具链

JAVA传统项目交付流程的问题 开发和运维间环境有明显差异 代码缺乏统一质量度量 客户要求上线时间紧,人工测试慢,导致测试不充分,时常做线上BUG修复 打造工具链 ● 源码管理Gitlab● 持续集成Jenkins● 代码扫描SonarQube● 接口测试PostMan+NewMan● 制品管理ArtifactoryOSS版本(仅支持Maven)● 自动部署Ansible GitLab安装 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=

SSH集成log4j日志环境

第一步:在web.xml初始化log4j <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <context-param> <param-name>log4jConfigLocatio