`

java中log4j简单应用

阅读更多

JAVA程序开发,经常用到日志输出,在一个所谓的软件公司里大多会有自己一套配置风格,读取配置文件再对日志属性进行初始化,这样固然好,但有时可能并不需要小题大做,然log4j这个包一定会经常用到,以下就是一个简单应用。前题,下载一个log4j的包,本人用log4j-1.2.9.jar。 新建一个java项目,内容如下,根据实际需要改本地的包名和类名。

 

/**   
 * filename   : MiProperty.java   
 * Title      : 北京minstar软件工作室   
 * Description: 关于log4j包的最简单应用   
 * @Copyright  : Copyright (c) 2008,北京minstar软件工作室   
 * Company    : 北京minstar软件工作室   
 * @author       : Zhao.Jian   
 * Date          : 2007-8-16   
 * @version 1.0.0.0   
 * @Development Environment        :  Eclipse 3.1.0   
 */   
package app;
 
import java.io.FileInputStream;    
import java.util.Properties;    
import org.apache.log4j.Logger;    
import org.apache.log4j.PropertyConfigurator;    
   
   
public class logjTest {    
    public static final Logger logger = Logger.getLogger(logjTest.class);    
    public static void main(String args[])throws Exception{    
        String configFile = "log4j.properties";     
        PropertyConfigurator.configure(configFile);     
        logger.info("测试log4j之包的使用!");       
        Properties perties = new Properties();    
        FileInputStream fis = new FileInputStream(configFile);    
        perties.load(fis);    
        String str=perties.getProperty("log4j.rootLogger");    
        logger.info("测试获取key值,如log4j.rootLogger="+str);         
    }    
}

 
 

 

属性文件名:log4j.properties,内容:

### direct log messages to stdout ###    
log4j.appender.stdout=org.apache.log4j.ConsoleAppender    
#log4j.appender.stdout.Target=System.out    
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout    
#log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n    
#%d{ABSOLUTE} %5p %c{1}:%L - %m%n    
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n    
   
   
### direct messages to file hibernate.log ###    
#log4j.appender.file=org.apache.log4j.FileAppender    
#log4j.appender.file.File=hibernate.log    
#log4j.appender.file.layout=org.apache.log4j.PatternLayout    
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n    
   
### set log levels - for more verbose logging change 'info' to 'debug' ###    
   
log4j.rootLogger=debug,R,stdout    
#####log4j.logger.net.sf.hibernate=info    
   
####????    
log4j.appender.R=org.apache.log4j.RollingFileAppender    
log4j.appender.R.File=logs/logtest.log    
log4j.appender.R.MaxFileSize=1000KB    
log4j.appender.R.MaxBackupIndex=5   
log4j.appender.R.layout=org.apache.log4j.PatternLayout    
log4j.appender.stdout.layout.ConversionPattern=%d [%p] %c -%m%n    
#log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n    
log4j.appender.R.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}] %p %t %c - %m%n   
   
   
### log just the SQL    
#log4j.logger.net.sf.hibernate.SQL=debug    
   
### log JDBC bind parameters ###    
log4j.logger.net.sf.hibernate.type=info    
   
### log schema export/update ###    
log4j.logger.net.sf.hibernate.tool.hbm2ddl=debug    
   
### log cache activity ###    
#log4j.logger.net.sf.hibernate.cache=debug    
   
### enable the following line if you want to track down connection ###    
### leakages when using DriverManagerConnectionProvider ###    
#log4j.logger.net.sf.hibernate.connection.DriverManagerConnectionProvider=trace    
   
#log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender    
#log4j.appender.SOCKET.RemoteHost=localhost    
#log4j.appender.SOCKET.Port=5001   
#log4j.appender.SOCKET.LocationInfo=true   
# Set up for Log Facter 5   
#log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout    
#log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

 

   

  log4j.properties中几处值得关注。
  1:log4j.appender.R.File=logs/logtest.log
  日志输出路径及命名,以下为相对路径法,根据实际情况改之。


  2:log4j.appender.R.MaxFileSize=1000KB
  每个日志文件大小。


  3:log4j.appender.R.MaxBackupIndex=5
  每生成多少个日志滚动,会生成一些logtest.log1, logtest.log2,但不会有logtest.log6,如果配置成10,不会有logtest.log11。


  4:log4j.appender.R.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}] %p %t %c - %m%n
  日志输出时日期的风格之类的,通常我不改,其它还有一些属性设置,网上有很多文章介绍,此处以高效,简洁,共享为宗旨,相信该文值得再次参考。

 

分享到:
评论
3 楼 远方的你 2009-10-28  
很好,谢谢楼主.
2 楼 charles751 2009-03-02  
to yuantong:
这个例子只是简单说明了怎么取的log4j.properties中的key的值。

项目应用中一般是通过配置文件定义应用的日志级别,从而获得相应的日志输出。
1 楼 yuantong 2009-03-01  
log4j好像不需要文件流吧

相关推荐

    Java与log4j2整合mongoDB需要的jar包

    在Java开发过程中,为了实现日志管理,我们通常会使用如log4j2这样的日志框架。Log4j2是一个强大的、灵活的日志系统,它提供了丰富的配置选项和高性能的日志记录能力。当我们的应用程序需要将日志信息存储在数据库中...

    log4j使用与java中log4j记录日志如何写入数据库

    本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties...

    kafka_Java_Log4j

    配置完成后,当应用程序中的Log4j被调用时,生成的日志将会自动发送到指定的Kafka主题。这种方式非常适合大规模分布式系统,因为它能够确保日志的实时性和可靠性。 总结一下,Kafka Java Log4j的整合使日志处理变得...

    java中log4j的扩展写法

    Log4j作为一款优秀的日志管理工具,被广泛应用于各种Java应用中。本文将基于给定文件信息中的描述,详细介绍如何对Log4j进行扩展以支持Struts、iBatis以及自定义日志输出。 #### 二、Log4j配置详解 ##### 2.1 配置...

    Java中Log4j 2日志框架的压缩包,版本是-2.23.0

    Java中的Log4j 2日志框架是一款广泛应用于企业级应用开发的日志处理工具,它在Log4j 1.x的基础上进行了大量的优化和改进,提供了更高效、更灵活的日志记录功能。Log4j 2.23.0是其最新的稳定版本,包含了对性能、安全...

    log4j简单使用

    标题"Log4j简单使用"表明我们即将探讨的是日志记录库Log4j的基础应用。Log4j是Apache软件基金会开发的一个开源项目,它为Java应用程序提供了一个灵活的日志系统,允许开发者自定义日志级别、输出格式以及存储位置等...

    详细讲解Java中log4j的使用方法

    ### Java中log4j的使用方法详解 #### 一、log4j简介 Log4j是Apache的一个开源项目,用于实现日志记录功能。它提供了一种高度灵活的日志记录框架,可以方便地控制日志的输出级别、格式以及目标(如控制台、文件等)...

    Java中Log4J

    Log4J是Apache软件基金会的一个开源项目,提供了一个强大的、灵活的日志记录工具,广泛应用于Java应用中。本篇将详细介绍如何在Java项目中引入并使用Log4J。 首先,要使用Log4J,你需要在你的项目中引入Log4J的jar...

    java中log4应用

    在Java代码中使用Log4j非常简单,首先要获取一个Logger实例,然后通过调用相应级别的方法输出日志。例如: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger...

    如何在Java工程中使用Log4j

    Log4j是Apache提供的一个流行的日志记录工具,广泛应用于Java工程中。它可以帮助开发者记录程序的执行过程,方便BUG的追踪和程序的优化。在Java工程中使用Log4j可以提高程序的可读性和可维护性。 下载和配置Log4j ...

    java学习log4j详细文档和入门工程

    - **itcastLog4J**:这个工程是一个简单的Java应用,包含了一个配置文件和使用Log4j的Java类。通过查看源代码,我们可以看到如何在实际项目中应用Log4j,了解其在不同场景下的使用。 **6. 进阶应用** Log4j还可以与...

    JAVA-log4j参数

    Log4j是Apache组织提供的一款强大且灵活的日志框架,广泛应用于各种Java项目。本篇文章将深入探讨Log4j的参数配置方法,以及ConversionPattern参数的格式含义。 首先,Log4j的核心在于其配置文件,一般命名为`log4j...

    java Log4j 事例和讲解

    总的来说,Log4j是Java开发中不可或缺的工具,它能帮助开发者有效地监控和调试应用程序。理解并掌握Log4j的基本使用和配置,能够提高问题排查的效率,也有助于提升代码的可维护性。希望这个例子和讲解能帮助你更好地...

    java log4j配置大全

    Log4j 是 Apache 的一个开源项目,被广泛应用于 Java 应用程序的日志记录中。通过 Log4j,开发者可以轻松控制日志信息的输出目的地、格式以及级别。这使得日志的管理变得更加灵活和高效。 #### 二、Log4j 配置文件...

    java 中log4j包总结的各个版本

    Log4j是Java编程语言中广泛使用的日志记录框架,其设计目标是提供一个灵活、高效且易于配置的日志系统。这个压缩包包含了Log4j的多个版本,具体提到的是"log4j-1.2.4.jar",这是一个较早的版本。Log4j的各个版本在...

    Java中Log4j素材,Log4j包

    **Java中的Log4j:日志管理神器** ...总之,Log4j作为Java中的日志利器,其强大功能和易用性使得开发者能够高效地管理和分析应用日志,同时,理解和掌握Log4j的配置和使用也是每个Java开发者必备的技能之一。

    Java log4j commons文件

    首先,log4j是Apache软件基金会的一个项目,它提供了一个灵活的日志框架,用于在Java应用程序中生成日志。log4j的核心概念包括Appender(输出目的地,如控制台、文件、数据库等)、Layout(格式化输出内容)和Logger...

    log4j和log4j2日志应用文档.docx

    log4j和log4j2日志应用文档 Log4j是一种广泛使用的Java日志框架,提供了灵活的日志记录和管理机制。本文档将详细介绍Log4j和Log4j2的日志应用,包括日志使用和要点相关内容介绍。 配置文件解析 Log4j配置文件的...

    简单java操作log4j+Mysql存储日志信息

    在这个场景中,我们使用了SLF4J(Simple Logging Facade for Java)作为日志抽象层,它为各种日志框架提供了统一的API,而SLF4J-log4j12-1.5.0.jar和slf4j-api-1.5.0.jar正是SLF4J与Log4j之间的桥梁,使得我们可以...

Global site tag (gtag.js) - Google Analytics