要用log4j使用记录日志,日志路径有每日的日期,文件大小5M新增文件。
实现方式
log4j:
<appender name="serviceLog"
class="org.apache.log4j.RollingFileAppender">
<param name="Encoding" value="UTF-8" />
<param name="File" value="logs/service.log" />
<param name="Append" value="true" />
<param name="MaxBackupIndex" value="10" />
<param name="MaxFileSize" value="5MB" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%L] %m%n" />
</layout>
</appender>
<root>
<level value="debug" />
<appender-ref ref="serviceLog" />
</root>
在内存总修改路径,加入日期:
String currentDateTem = CommonUtil.getCurrentDateString("yyyyMMdd");
if(currentDate.equals(currentDateTem)){
return;
}else{
currentDate = currentDateTem;
}
FileAppender appender = (FileAppender) LogManager.getLoggerRepository().getRootLogger().getAppender("serviceLog");
String fileName = appender.getFile();
String[] filepaths = fileName.split("/");
String newFileName = null;
// 如果路径是一层,将日期放在文件名前面,如果文件名有多层,将日期放在第一层的后面
if(filepaths.length == 1){
newFileName = currentDate + "/" + fileName;
}else{
Boolean flag = Boolean.FALSE;
for(String str : filepaths){
if(!flag){
newFileName = str + "/" + currentDate;
flag = Boolean.TRUE;
}else{
newFileName = newFileName + "/" + str;
}
}
}
appender.setFile(newFileName);
appender.activateOptions(); // 激活设置
最后一个激活设置很重要。
目前还有一个问题是会生成一个logs/service.log的空文件。目前还在查找原因。
分享到:
相关推荐
Log4j是一款由Apache组织提供的开源日志组件,被广泛应用于Java应用程序中。它可以帮助开发者在应用程序中记录日志信息,这对于调试程序、追踪错误以及进行系统监控等方面具有重要作用。 在应用程序中加入日志记录...
Log4j是Apache组织提供的一款开源的日志框架,它以其灵活性和可配置性著称,被广泛应用在各种Java项目中。本篇文章将详细探讨标题和描述中提到的两个关键组件——`log4j-1.2.15.jar`和`commons-logging.jar`,以及...
除了基本的日志记录之外,还可以利用Log4j进行更复杂的日志管理,例如使用MDC(Mapped Diagnostic Context)为日志增加上下文信息。 ```java import org.apache.log4j.MDC; import org.apache.log4j.Logger; ...
在JavaWeb项目中,我们可以在web.xml中配置ContextListener,初始化Log4j2,然后在代码中通过LoggerFactory获取logger实例进行日志记录。通过合理配置,可以实现不同级别的日志信息分别存储,便于调试和问题排查。 ...
引入Log4j到项目中,一般需要在类路径下添加对应的jar文件,并通过配置文件(如`log4j2.xml`或`log4j2.json`)来定制日志行为。配置文件可以控制日志输出的位置(如文件、控制台、网络等)、级别、过滤规则以及使用...
在使用SLF4J之前,首先需要在项目的类路径中包含SLF4J的API jar包以及一个具体的日志实现库,例如Logback或Log4j。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <!-- SLF4J API --> <groupId>...
接着,需要创建一个名为`log4j.properties`的配置文件,并将其放置在类路径(CLASSPATH)中。该文件用于定义日志输出的具体设置,如日志级别、输出目的地等。 #### 三、log4j.properties配置解析 接下来,我们将...
4. 配置输出格式和目的地:调整LOG4J的配置文件(通常为`log4j.properties`),指定日志的格式(如日期、级别、类名等)和输出到何处。 LOG4J配置文件(`log4j.properties`)通常包括: - 定义记录器的级别,例如:...
3. **通过环境变量传递配置文件路径**:log4j默认会读取环境变量中的路径信息进行配置。 4. **通过应用服务器配置**:某些应用服务器提供了配置log4j的方式,可以在服务器的配置文件中指定log4j配置文件的位置。 ...
其中,`DailyMaxRollingFileAppender`是Log4j中的一个关键组件,专门用于处理按日期滚动的日志文件。本文将深入探讨`DailyMaxRollingFileAppender`的工作原理、配置方法及其在实际应用中的重要性。 一、...
log4cplus是一款专为C++设计的开源日志框架,其前身源自Java语言的log4j日志系统。log4cplus以其强大的线程安全性、灵活性及多级别的日志控制能力著称,非常适合应用于程序的开发、调试、测试乃至后期的维护阶段。它...
然而,在Hive 3.0+版本中,由于采用了Log4j2作为默认的日志框架,开启审计日志的过程与Hive 1.0中使用Log4j有所不同。 在Hive 3.0+中,我们需要编辑`hive-log4j2.properties`配置文件来实现审计日志功能。以下是一...
首先,我们需要在Eclipse插件项目的类路径中引入Log4j的库文件。这通常通过Maven或Gradle等构建工具完成,添加对应的依赖配置。例如,在Maven的pom.xml文件中,可以加入以下依赖: ```xml <groupId>log4j ...
在实际开发中,创建自定义的日志工具类通常会基于已有的日志框架,如Log4j、SLF4J(Simple Logging Facade for Java)或Logback。这些框架提供了一套完整的API来处理日志,同时允许通过配置文件进行灵活的配置。例如...
它作为log4j(Java平台的日志库)的姊妹产品,同样具备强大的功能和灵活性,能够帮助开发者高效地管理和记录应用程序中的日志信息。 #### 二、安装与引入log4net 为了开始使用log4net,首先需要下载log4net库,并将...
Log4J是一个非常流行的Java日志框架,被广泛应用于各种规模的应用程序中。它提供了强大的日志记录功能,并且可以通过灵活的配置来满足不同场景的需求。本文将详细介绍Log4J配置文件的基本概念、配置方法及实际应用...
cronolog是一款用于日志轮转(log rotation)的工具,它支持按照日期、时间等条件对日志文件进行分割。相比传统的logrotate工具,cronolog更专注于实时日志轮转,能够实时地按日期或时间进行日志文件的切割,非常适合...
此外,也可以考虑使用第三方库如Apache Commons IO或Log4j等来简化日志处理过程,提高代码的可读性和可维护性。 通过以上分析可以看出,该Java程序实现了一个较为基础的日志文件合并功能。开发者可以根据实际需求对...
2. 加入其他日志实现的依赖项,例如 Log4j2 3. 把相应日志配置文件放入到 classpath 下 例如,可以在 pom.xml 文件中添加以下依赖项来使用 Log4j2: ```xml <groupId>org.apache.logging.log4j <artifactId>log...