`
ll_feng
  • 浏览: 391178 次
  • 性别: 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>元素中才会生效。
分享到:
评论

相关推荐

    SpringBoot框架配置log4j和log4j2的配置代码

    Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...

    log4j.properties配置文件

    正确配置`log4j.properties`对于应用程序的日志管理和调试至关重要。 #### 二、日志级别 Log4j支持以下几种级别的日志输出:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL。这些级别按照从高到低的顺序排列,其中OFF...

    log4j实用配置扩展

    log4j的主要优势在于其灵活性和可扩展性,允许用户通过配置文件自定义日志记录的方式,无需修改应用程序代码。 #### 二、日志记录的目的 在应用程序中记录日志主要有以下三个目的: 1. **监视代码中变量的变化...

    tomcat下的log4j日志配置

    本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,并着重介绍第二种方法的具体步骤。 #### 一、Tomcat 级别的统一日志管理 这种方法适用于希望对整个 Tomcat ...

    log4j配置和加载方法

    本文将深入解析log4j的配置与加载机制,帮助开发者更好地理解和应用log4j。 #### Log4j配置文件格式 Log4j支持多种配置文件格式,包括`.properties`和`.xml`。两种格式在功能上并无本质区别,选择哪种取决于个人或...

    log4j.properties配置详解

    ### Log4j.properties配置详解 #### 一、Log4j配置文件基本概念 Log4j是一种广泛应用于Java应用程序的日志框架,它可以帮助开发者轻松管理应用程序的日志记录过程。Log4j支持多种配置方式,其中.properties文件...

    log4j集成syslog配置说明

    配置完成后,可通过命令行发送一条测试日志,以验证log4j与syslog的集成是否成功: ```bash /usr/bin/logger -p local6.info "hello hhhh" ``` 检查日志文件`/var/log/日志文件名.log`中是否正确写入了这条日志...

    log4j.jar包,和log4j.properties配置文件下载

    Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中插入日志语句,以便跟踪程序的运行情况、调试错误、监控性能等。这个框架由Apache软件基金会开发,是许多Java项目的首选日志解决方案,因为它具有...

    log4j日志配置以及配置文件详解

    Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...

    Log4J_全能配置文件.pdf

    综上所述,Log4J提供了一个强大而灵活的日志管理工具,通过合理的配置能够满足几乎所有应用场景下的需求。开发者可以根据实际情况选择合适的appender类型和配置参数,以达到最佳的日志管理效果。

    log4j使用jar包和log4j.properties配置文件

    Log4j作为Java日志处理的重要工具,通过其灵活的配置和强大的功能,可以帮助开发者更好地理解和管理应用的运行状态。1.2.17版本的Log4j jar包和`log4j.properties`配置文件是实现这一目标的基础。正确地引入和配置这...

    log4j与web.xml的配置

    总结来说,Log4j与web.xml的配置使得Java Web应用的日志管理更加高效和灵活。通过合理设置,我们可以轻松地追踪程序运行状态,排查问题,并保持系统稳定运行。如果有任何疑问,欢迎发送邮件至522134398@qq.com进行...

    log4j-1.2.11jar和log4j.properties配置文件

    **四、使用Log4j进行日志记录** 在Java代码中,我们可以使用以下方式调用Log4j: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger...

    log4j.properties配置实例

    在 Java 应用程序中, Log4j 是一个非常流行的日志记录工具,它能够帮助开发者快速地记录和跟踪应用程序中的日志信息。log4j.properties 文件是 Log4j 的核心配置文件,它控制着 Log4j 的行为和日志记录的方式。 在...

    log4j与log4j.properties的配置.doc

    1. 在应用程序中使用 Log4j,需要将 Log4j 库文件(log4j-*.jar)添加到 CLASSPATH 变量中。 2. 新建一个配置文件 log4j.properties,放于 bin 文件下。 二、log4j.properties 配置文件 log4j.properties 配置文件...

    log4j-1.2.17的jar包以及依赖包,还有一份log4j的配置文件,输出到控制台和文件夹两种配置

    总结来说,Log4j-1.2.17提供了灵活的日志管理功能,通过配置文件可以定制化日志输出的方式和内容,对于开发、调试和维护Java应用具有极大的帮助。尽管有更新的版本如Log4j2可用,但Log4j 1.x仍然在许多项目中得到...

    Log4j的配置与使用

    #### 四、J2EE应用中的Log4j配置 在J2EE环境中使用Log4j时,可以通过Servlet容器的初始化参数来指定日志配置文件的位置。这种方式非常适合在Web应用中集成Log4j。 ```java import java.io.IOException; import ...

    log4j的详细配置

    4. 在应用服务器中配置Log4J,例如在Tomcat中通过`WEB-INF/classes/log4j.properties`或`WEB-INF/classes/log4j.xml`文件。 通过以上配置,你可以根据需求定制日志系统,满足不同级别的信息记录、不同的输出目的地...

Global site tag (gtag.js) - Google Analytics