一.Log4j的基本概念
1.Logger: 日志记录器.
日志的级别 级别越低 日志记录将更详细
级别有(由高到底)off,fatal,error,warn,info,debug,all 级别高的可覆盖级别低的日志输出
2.Appender: 输出端 指定日志输出到那个地方.一个Logger可以有多个Appender输出端,每个Appender输出端也可以被多个Logger使用.
常用的输出端有:
ConsoleAppender 将日志输出到控制台
org.apache.log4j.rolling.RollingFileAppender 可指定文件和日期的输出端
WriterAppender 将日志以流格式发送到任何指定的地方
JDBCAppender 通过JDBC把日志输出到数据库中
3.Layout: 日志格式化
log4j有三种Layout:
HTMLLayout 格式化日志输出为HTML表格;
PatternLayout 根据指定的格式(ConversionPattern)格式化日志输出(常用)
SimpleLayout 以非常简单的方式输出
二.配置
1. log4j的配置文件 log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration >
<configuration xmlns='http://logging.apache.org/' debug="true">
<!-- 把日志输出到控制台中 -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) %m%n" />
</layout>
</appender>
<!-- 把日志按日期输出到日期日志文件中 -->
<appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="${catalina.home}/log4jlogs/mywebsite.%d{yyyy-MM-dd}.log.zip" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MM-dd HH:mm:ss} %p [%t] %C{2} (%F:%L) - %m%n" />
</layout>
</appender>
<!-- 终端日志文件 -->
<appender name="terminal-logger" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.home}/logs/kiosks/TerminalService.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MM-dd HH:mm:ss} [%p] [%t] (%F:%L): %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="INFO" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<logger name="com.macaufly.kiosks">
<level value="INFO" />
<appender-ref ref="terminal-logger" />
</logger>
<!-- 设置接收所有输出的通道(但在logger中定义的级别在这里不起作用) -->
<root>
<level value="debug" /><!-- 设置级别 -->
<appender-ref ref="console" />
</root>
<!--
设置域名限制,即 com.dchaoxiong.studentmanage.servlets
包及以下的日志均输出到下面指定的通道(appender-ref)中
-->
<logger name="com.dchaoxiong.studentmanage.servlets">
<level value="debug" /> <!-- 设置级别 -->
<appender-ref ref="ROLL" /><!-- 与前面的通道id相对应 -->
</logger>
</configuration>
2. 把该配置文件放在工程的类路径下
3.private Logger logger = Logger.getLogger(ClassName.class);取得loger类
分享到:
相关推荐
首先,`log4j-1.3alpha-7.jar`是Log4j 1.3版本的一个早期测试版,主要用于日志记录。Log4j 1.x系列是Apache软件基金会开发的开源日志组件,它提供了一种在Java应用程序中记录日志信息的机制。尽管当前Log4j已经发展...
### Log4j Properties 配置详解 #### 一、配置文件结构与基本概念 Log4j 是一个功能强大的日志框架,广泛应用于Java应用程序中。它允许开发者通过配置文件来控制日志信息的生成方式、存储位置及格式。Log4j 的配置...
本文将深入探讨“日志4j(Log4j)、SLF4J(Simple Logging Facade for Java)和logback 1.3.0”这三者之间的关系以及它们在Java应用中的作用。 首先,Log4j是Apache软件基金会开发的一个流行的日志记录框架,它允许...
Log4j2 提供了对 JMX 的支持,可以通过 JMX 来管理和监控 Log4j2 的配置和运行时状态: - **动态配置更改**:能够在不重启应用的情况下改变日志配置。 - **性能监控**:可以实时监控 Log4j2 的性能指标,如日志事件...
然后,创建一个配置文件(通常是log4j.properties或log4j.xml),定义日志输出的格式、级别和目的地。 例如,以下是一个简单的`log4j.properties`配置示例: ```properties # 设置root logger级别为INFO,并将输出...
Log4j 是一款广泛使用的日志记录框架,尤其在Java应用程序中非常常见。它提供了灵活的日志配置,允许开发者根据需要调整日志...理解并熟练掌握Log4j的配置,对于提升应用程序的可维护性和故障排查能力具有重要意义。
例如,`log4j-1.3alpha-7.jar`是Log4cxx的主要库,而`jmdns.jar`和`log4j-zeroconf.jar`则可能用于支持Bonjour(Zeroconf)服务,使得日志可以被网络中的其他设备发现和服务。 `chainsaw.sh`是一个用于查看和管理...
### Log4j的使用终极手册 ...通过以上介绍,可以看出Log4j的强大功能和灵活性使其成为了Java应用程序中不可或缺的日志记录工具。无论是对于开发人员还是运维人员来说,掌握Log4j的使用都将极大地提升工作效率。
Axis是Apache组织开发的一款开源Web服务框架,主要应用于SOAP(Simple Object Access Protocol)服务的创建、部署和调用。在Java环境下,Axis1.3版本是较早的一个稳定版本,它提供了一整套用于处理Web服务的工具和库...
尽管Commons Logging自身不提供具体的日志实现,但它可以通过`log4j.properties`或`logging.properties`等配置文件控制日志级别和输出格式。具体配置取决于所选的日志实现。例如,在Log4j中,你可以通过`log4j.root...
- **log4j-over-slf4j.jar**:用于替换Log4J,需要注意的是,原有的`log4j.properties`配置文件将不再有效,需要转换为`logback.xml`。 - **jul-to-slf4j.jar**:用于替换JDK自带的日志系统,需要在程序启动时调用`...
- `log4j-1.2.15.jar`:Apache Log4j日志框架,用于记录应用的日志信息。 - `hibernate-cglib-repack-2.1_3.jar`:Hibernate使用的代码生成库,用于生成代理类,是Hibernate对无接口类进行动态代理所必需的。 ...
"Log4E" 可能是对 Apache Log4j 的致敬,Log4j 是一个广泛使用的Java日志框架,用于记录应用程序中的事件和错误信息。"Free" 可能表示这是一个免费或开源的版本。 标签 "mylvan" 似乎是一个个人或团队的标识,可能...
`async4j` 是一个轻量级的Java异步编程库,它允许开发者以非阻塞的方式处理I/O操作和其他耗时任务,提高应用程序的性能和可伸缩性。而 `commons-logging` 是Apache软件基金会开发的一个通用的日志记录接口,它为Java...
对于日志格式,Logback和Log4j2都有各自的配置文件,通常为`logback.xml`和`log4j2.xml`。例如,在`logback.xml`中,你可以自定义输出格式: ```xml <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{...
通过它,Castor可以适配各种底层的日志实现,如Log4j、java.util.logging等,提供灵活的日志记录。 5. **XML Schema支持**: Castor能够处理XML Schema,这使得它在处理严格结构化的XML数据时更加得心应手。它可以...
结合这些组件,开发者可以在项目中利用Shiro的强大安全功能,同时通过SLF4J和Log4j进行日志记录,从而更好地调试和监控应用程序的安全行为。在实际应用中,确保对这些库进行适当的配置以满足特定的安全和日志需求至...
通常,这些文件会包括服务器配置文件(server.properties)、日志配置(log4j.properties)、脚本(如启动和停止脚本)、库文件(JARs)以及可能的示例配置和脚本。 深入讲解Kafka的关键概念和技术细节: 1. **...