在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.properties`对于应用程序的日志管理和调试至关重要。 #### 二、日志级别 Log4j支持以下几种级别的日志输出:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL。这些级别按照从高到低的顺序排列,其中OFF...
Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...
log4j的主要优势在于其灵活性和可扩展性,允许用户通过配置文件自定义日志记录的方式,无需修改应用程序代码。 #### 二、日志记录的目的 在应用程序中记录日志主要有以下三个目的: 1. **监视代码中变量的变化...
本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,并着重介绍第二种方法的具体步骤。 #### 一、Tomcat 级别的统一日志管理 这种方法适用于希望对整个 Tomcat ...
本文将深入解析log4j的配置与加载机制,帮助开发者更好地理解和应用log4j。 #### Log4j配置文件格式 Log4j支持多种配置文件格式,包括`.properties`和`.xml`。两种格式在功能上并无本质区别,选择哪种取决于个人或...
### Log4j.properties配置详解 #### 一、Log4j配置文件基本概念 Log4j是一种广泛应用于Java应用程序的日志框架,它可以帮助开发者轻松管理应用程序的日志记录过程。Log4j支持多种配置方式,其中.properties文件...
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中插入日志语句,以便跟踪程序的运行情况、调试错误、监控性能等。这个框架由Apache软件基金会开发,是许多Java项目的首选日志解决方案,因为它具有...
Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...
综上所述,Log4J提供了一个强大而灵活的日志管理工具,通过合理的配置能够满足几乎所有应用场景下的需求。开发者可以根据实际情况选择合适的appender类型和配置参数,以达到最佳的日志管理效果。
Log4j作为Java日志处理的重要工具,通过其灵活的配置和强大的功能,可以帮助开发者更好地理解和管理应用的运行状态。1.2.17版本的Log4j jar包和`log4j.properties`配置文件是实现这一目标的基础。正确地引入和配置这...
配置完成后,可通过命令行发送一条测试日志,以验证log4j与syslog的集成是否成功: ```bash /usr/bin/logger -p local6.info "hello hhhh" ``` 检查日志文件`/var/log/日志文件名.log`中是否正确写入了这条日志...
总结来说,Log4j与web.xml的配置使得Java Web应用的日志管理更加高效和灵活。通过合理设置,我们可以轻松地追踪程序运行状态,排查问题,并保持系统稳定运行。如果有任何疑问,欢迎发送邮件至522134398@qq.com进行...
**四、使用Log4j进行日志记录** 在Java代码中,我们可以使用以下方式调用Log4j: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger...
在 Java 应用程序中, Log4j 是一个非常流行的日志记录工具,它能够帮助开发者快速地记录和跟踪应用程序中的日志信息。log4j.properties 文件是 Log4j 的核心配置文件,它控制着 Log4j 的行为和日志记录的方式。 在...
这个 Servlet 的作用是在应用启动时读取配置文件并初始化 Log4j。具体步骤如下: ```java package ttzl.log.web; import javax.servlet.http.HttpServlet; import org.apache.log4j.PropertyConfigurator; public...
1. 在应用程序中使用 Log4j,需要将 Log4j 库文件(log4j-*.jar)添加到 CLASSPATH 变量中。 2. 新建一个配置文件 log4j.properties,放于 bin 文件下。 二、log4j.properties 配置文件 log4j.properties 配置文件...
总结来说,Log4j-1.2.17提供了灵活的日志管理功能,通过配置文件可以定制化日志输出的方式和内容,对于开发、调试和维护Java应用具有极大的帮助。尽管有更新的版本如Log4j2可用,但Log4j 1.x仍然在许多项目中得到...
#### 四、J2EE应用中的Log4j配置 在J2EE环境中使用Log4j时,可以通过Servlet容器的初始化参数来指定日志配置文件的位置。这种方式非常适合在Web应用中集成Log4j。 ```java import java.io.IOException; import ...
4. 在应用服务器中配置Log4J,例如在Tomcat中通过`WEB-INF/classes/log4j.properties`或`WEB-INF/classes/log4j.xml`文件。 通过以上配置,你可以根据需求定制日志系统,满足不同级别的信息记录、不同的输出目的地...