log4j.properties
属性文件
log4j.logger.visitlog=INFO, VisitFile log4j.logger.pushlog=INFO, PushFile #visitLog log4j.appender.VisitFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.VisitFile.encoding=UTF-8 log4j.appender.VisitFile.File=${catalina.home}/logTraffic/visitlog log4j.appender.VisitFile.DatePattern='.'yyyy-MM-dd_HH'.csv' log4j.appender.VisitFile.layout=org.apache.log4j.PatternLayout log4j.appender.VisitFile.layout.ConversionPattern=%m%n #pushLog log4j.appender.PushFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.PushFile.encoding=UTF-8 log4j.appender.PushFile.File=${catalina.home}/logTraffic/pushlog log4j.appender.PushFile.DatePattern='.'yyyy-MM-dd_HH'.csv' log4j.appender.PushFile.layout=org.apache.log4j.PatternLayout log4j.appender.PushFile.layout.ConversionPattern=%m%n
对需要打印的对象类做处理
public class RequestMessage { private Logger logger = LoggerFactory.getLogger(this.getClass()); private String ip = ""; // ip地址 @Override public String toString() { return new ReflectionToStringBuilder(this, ToStringStyle.SIMPLE_STYLE).setExcludeFieldNames(new String[] {"logger"}).toString(); } }
记录日志如下
public final class LogEventDispatcher implements EventHandler<LogEvent> { private Logger visitLog = LoggerFactory.getLogger("com.qc.socket.scheduler.LogEventDispatcher.visitLog"); @Override public void handle(LogEvent event) { RequestMessage requestMessage = event.getRequestMessage(); switch (event.getType()) { case C_FILE: visitLog.info(requestMessage.toString()); break; } } }
OK
相关推荐
2. **使用DailyRollingFileAppender**:`DailyRollingFileAppender`是`log4j`提供的一种特殊Appender,它可以按照指定的时间间隔(通常是每天)滚动生成新的日志文件。我们可以通过以下配置设置每日滚动: ```...
要实现按接口生成各自日志文件的目标,我们需要创建不同的Appender配置,并为每个接口指定一个Appender。以下是一个基本的Log4j配置文件(log4j.properties)的示例: ```properties # 配置控制台输出 log4j.root...
总结来说,Log4j是一个强大的日志框架,通过使用extras包和适当的配置,我们可以方便地生成带有时间戳的日志文件,进行日志级别的控制,以及有效地管理日志文件的大小。在实际项目中,熟练掌握Log4j的使用对于提高...
- 在Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中,你可以定义多个Appender,每个Appender对应一个特定的功能或模块。 - 使用`category`或`logger`标签指定Logger的名称,这通常与你的功能模块相...
5. **重启 Tomcat**:重启 Tomcat 后,相应的日志文件将按照 `log4j.properties` 文件中的设置生成。 **优点**:灵活性高,可以针对每个应用定制化日志配置;便于管理和追踪。 **总结**:根据项目的需求选择合适的...
在"Log4j多文件输出打印"的场景下,我们通常会配置多个Appender,每个Appender对应一个不同的输出文件。这样,不同的日志信息可以被分别写入不同的文件,便于管理和分析。例如,在`log4j.properties`配置文件中,...
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的配置选项,允许开发者灵活地控制日志输出。当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先...
Log4j是一款广泛应用于Java平台的日志记录框架,它的主要任务是帮助开发者记录应用程序运行过程中的各种信息,包括错误、警告、调试信息等。在Android平台上,虽然原生的`Log`类已经提供了基本的日志功能,但Log4j...
"Log4cpp(添加按日期生成日志类)" 提示我们这是一个关于Log4cpp的项目,而且已经进行了扩展,增加了按照日期生成日志文件的功能。Log4cpp是C++的一个日志记录库,它借鉴了Java中的log4j框架,提供了灵活的日志管理...
当运行这个测试类,它将按照`log4j2.xml`配置生成日志文件,每24小时创建一个新的日志文件,便于管理和查询历史日志。 总结来说,`Log4j2`和`SLF4J`的组合使用,不仅简化了日志记录的代码,还提供了强大的日志管理...
Log4j是一个广泛使用的Java日志框架,它允许开发者在应用程序中记录各种级别的日志信息,包括ERROR、WARN、INFO、DEBUG等。日志对于调试、性能分析、故障排查以及系统监控至关重要。以下是对Log4j日志的详细讲解: ...
配置Log4j通常有两种方式,一种是使用XML格式的配置文件(log4j.xml),另一种是使用Java属性文件(log4j.properties)。本例中,描述提到的是使用后者。`log4j.properties`文件采用键值对的形式来设定配置,例如: ...
1. **根据日期生成文件**:每个日期生成一个独立的日志文件。 2. **按日志级别(INFO、ERROR)分别记录**:INFO级别的日志记录在一个文件中,ERROR级别的日志记录在另一个文件中。 #### 三、具体配置分析 ##### 1. ...
首先,我们需要了解Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)。在这个文件中,我们可以定义多个Appender(输出目的地)和Logger(日志记录器),每个Logger可以关联一个或多个Appender,并且可以...
Log4j是Apache组织开发的一款广泛使用的Java日志框架,主要功能是用于记录应用程序运行过程中的各种日志信息。在Java编程中,日志记录是非常重要的一环,它可以帮助开发者追踪程序运行状态,定位错误,优化性能,...
默认情况下,Log4j2使用同步模式记录日志,即每个日志事件都会阻塞直到写入完成。然而,通过启用异步日志模式,Log4j2会将日志事件放入一个队列,然后由一个单独的后台线程处理这些事件,从而避免了主线程的阻塞,...
解压“log4j.zip”后,我们通常会找到一个名为“log4j.properties”或“log4j.xml”的配置文件,这是Log4j的核心配置文件。例如,以下是一个简单的配置示例: ```properties # log4j.properties log4j.rootLogger=...
Log4j是Apache软件基金会的一个项目,由Ceki Gülcü创建,主要用于生成应用程序的日志信息。它提供了一个简单但功能强大的API,可以方便地将日志信息输出到控制台、文件、数据库等不同的目的地,同时支持日志级别...
- `log4j.appender.R`配置了文件输出,使用`DailyRollingFileAppender`,每天生成一个新的日志文件,同样设置了输出格式。 ### 4. 日志级别与使用 Log4j提供了多种日志级别,从低到高依次是:TRACE、DEBUG、INFO、...
每个日志消息都会被分配一个级别,只有当该级别的优先级等于或高于记录器所设定的级别时,这条消息才会被记录下来。 - **FATAL (0)**:最严重的错误,导致应用程序无法继续执行。 - **ERROR (3)**:运行时错误,...