`
ll_feng
  • 浏览: 383085 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

log4j的应用与配置

    博客分类:
  • j2ee
阅读更多
在java编程领域,log4j已经是事实上的日志输出工具。不但功能强大,配置还非常简单。
一、基础知识
1、5种输出目的地(appender)
(1)控制台:
org.apache.log4j.ConsoleAppender

(2)文件
org.apache.log4j.FileAppender

(3)滚动文件
org.apache.log4j.RollingFileAppender

(4)每日滚动文件
org.apache.log4j.DailyRollingFileAppender

(5)书写器(暂时这么翻译,即以流格式发送到任意指定的地方)
org.apache.log4j.WriterAppender


2、7种优先级(priority)
从高到低分别是:
off fatal error warn info debug all

3、8种输出模式(PatternLayout)参数
%c:输出所属类的全名,可加上参数配置为 %c{Num},num是整数值,表示输出类的全名的后几个单词。
%d:输出时间,可加上参数配置为%d{yyyy-MM-dd HH:mm:ss SSS}
%l:日志的位置信息,包括类名,线程名,代码行数等
%t:产生该日志的线程名
%r:输出从启动到该日志的所耗费的毫秒数
%p:输出优先级名称,如debug,info等
%m:代码指定的信息。如logger.info("xxxx")
%n:换行符。通常配置在最后面。

二、实例
1、开发环境为ssh.通过xml来配置
2、ssh环境下的依赖包
引用
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.2.jar
log4j-1.2.15.jar

3、代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

	<!-- Appenders -->
	<appender name="console" class="org.apache.log4j.ConsoleAppender">
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%-5p: %c - %m%n" />
		</layout>
	</appender>
	<appender name="file" class="org.apache.log4j.RollingFileAppender">       
        <param name="File" value="D:/myapp.log" />     
        <param name="Append" value="true" />    
        <param name="MaxBackupIndex" value="10" />    
        <layout class="org.apache.log4j.PatternLayout">    
            <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />    
        </layout>    
    </appender>
    <appender name="dailyFile" class="org.apache.log4j.DailyRollingFileAppender">    
        <param name="File" value="D:/myapp.log" />      
        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />      
        <layout class="org.apache.log4j.PatternLayout">    
         <param name="ConversionPattern" value="[%d{MMdd HH:mm:ss}] %p : %c{3\} - %m%n" />    
        </layout>      
    </appender>
	
	<!-- Application Loggers -->
	<logger name="com.harmony.cap.auth">
		<level value="debug" />
	</logger>
	
	<logger name="com.harmony.common">
		<level value="debug" />
	</logger>
	
	<!-- 3rdparty Loggers -->
	<logger name="org.springframework.core">
		<level value="info" />
	</logger>
	
	<logger name="org.springframework.beans">
		<level value="info" />
	</logger>
	
	<logger name="org.springframework.context">
		<level value="info" />
	</logger>

	<logger name="org.springframework.web">
		<level value="info" />
	</logger>
	
	<logger name="org.springframework.security">
		<level value="debug" />
	</logger>

	<!-- Root Logger -->
	<root>
		<priority value="warn" />
		<appender-ref ref="console" />
		<!-- <appender-ref ref="file" /> -->
		<appender-ref ref="dailyFile" />
	</root>
	
</log4j:configuration>



三、小结
1、支持属性文件和xml文件两种配置方式,个人更倾向于xml
2、日志的加载在ssh环境中,只需将配置文件放到类路径下即可,一般不需要额外的配置
3、<root>元素只能放置在配置文件的最后
4、可以同时配置多个目的地(appender),但是要配置到<root>元素中才会生效。
分享到:
评论

相关推荐

    log4j实用配置扩展

    主要讲述log4j的简介,以及log4j的配置和在实际应用的使用。如果您不知道如何配置log4j,那么这本书将对您有很大的帮助。

    Log4jAPI 应用案例 配置说明 log4jjar包

    log4j详细说明 Log4j API帮助文档.chm log4j-1.2.17.jar。最详细的log4 配置说明以及详细操作说明文档,帮助文档。

    log4j使用配置方法及项目中的应用

    log4j使用配置方法及项目中的应用

    集群环境下log4j配置

    因此在默认的情况下,同节点下的不同Server读取同一个log4j.properties文件。由于读取的配置文件相同,不同Server上生成的日志信息也都因为相同的配置而写入同一个日志文件中。这样情况给我们根据日志分析不同Server...

    log4j日志驱动包

    Log4j比较全面的配置 log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=DEBUG log4j....

    log4j配置过程及配置讲解

     此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很...

    Log4j的配置与使用

    日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录。

    log4j与log4j.properties的配置.doc

    log4j 常见配置属性 包含xml及properties两种形式。java代码如何使用log4j

    java log4j配置大全

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

    log4j相关jar

    log4j相关支持的jar Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条...

    log4j 配置文档(记录日志)

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

    官网原版log4j

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

    log4J-1.2.17.zip

    在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的...

    The Complete Log4j Manual

    log4j完整手册,随用随查最需要,本书讲述了log4j配置,应用,二次开发等,非常全面且有效.

    org.apache.log4j

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式...

    Log4j1.2.16官方文档和jar包

    在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。  官方站点:http://logging.apache.org/log4j/  Log4j是Apache的一个开放源代码...

    linux基于Log4j应用部署日志级别调整.doc

    基于Apache开源项目Log4j的Web应用,Linux部署控制台日志级别调整。可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地、日志信息的输出格式log4j除了可以记录程序运行日志信息外还有一重要的功能就是...

    log4j的应用配置[文].pdf

    log4j的应用配置[文].pdf

    log4j.properties配置详解.doc

    作为Apache的开源项目,Log4j可以使我们很好的控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、 UNIX Syslog守护进程等;也可以方便的使我们控制每一条日志的输出格式;通过...

    log4j2配置文件log4j2.xml

    log4j2.xml 应用级的配置文件 支持窗体输出、error、info、trace error和trace按照日生成和清理文件 info按照小时生成和清理文件

Global site tag (gtag.js) - Google Analytics