`

log4j动态日志生成

阅读更多
需求:log4j动态生成日志文件(根据不同的编号生成不同的日志文件)
一:我写了一个公用类LogUtil
public class LogUtil {

/**
*
* 动态改变日志输出路径
* @author yangliang
* @created 2011-9-17 下午03:22:41
* @param comId:商家编号
*/
public static void WriteLog(String comId) {
// 初始化logger后,通过获取logger的appender,来修改appender写入文件的文件名
Appender appender = Logger.getRootLogger().getAppender("file");
if (appender instanceof FileAppender) {
FileAppender fappender = (FileAppender) appender;

// 设置文件的输出路径
// fappender.setFile("D:/" + comId + ".log");
fappender.setFile(Constant.LOGPATH + comId + ".log");

// 通过调用appender的activateOptions方法来激活针对appender的修改,
// 之后的日志就记录在新的日志文件中了
fappender.activateOptions();
}

}
}


二:如何调用
// comId 需要传入的商家编号
String comId = "yangliang";
LogUtil.WriteLog(comId);
for (int i = 0; i < 3; i++) {
log.info("-----测试log4j--------- ");
log.error(" ----测试log4j---------  ");
}


在记录日志的时候好多时候与异常一起使用,如:
try {
orgList = registeredcardService.queryOrgs();
} catch (Exception e) {


String errormsg = "记名卡查询注册门店失败";
log.error(errormsg);
log.error(e.getCause());
throw new Exception(errormsg,e);
}
三:下面是我写的一个测试类
public class TestLog {
public static void main(String[] args) {
PropertyConfigurator.configure("D:/log4j.properties");// 读取log4j配置文件
Logger logger = Logger.getLogger(TestLog.class);

String comId = "yangliang";// 根据需求的不同输出到不同的日志文件

// 初始化logger后,通过获取logger的appender,来修改appender写入文件的文件名
Appender appender = Logger.getRootLogger().getAppender("file");
if (appender instanceof FileAppender) {
FileAppender fappender = (FileAppender) appender;
fappender.setFile("D:/log/" + comId + ".log");

// 通过调用appender的activateOptions方法来激活针对appender的修改,之后的日志就记录在新的日志文件中了
fappender.activateOptions();
}

for (int i = 0; i < 3; i++) {
logger.info("-----测试log4j--------- ");
logger.error(" ----测试log4j---------  ");
}
}

}
分享到:
评论
1 楼 576017120 2011-11-15  
我这样写好像存在多线程的问题,准备修改一下

相关推荐

    log4j(二):动态配置日志输出路径

    Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的功能和灵活的配置,使得我们可以根据需要动态地改变日志的输出路径。本文将深入探讨如何在Log4j中实现日志输出路径的动态配置。 首先,我们要理解Log4j...

    log4j使用与java中log4j记录日志如何写入数据库

    1. **配置文件**:Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,它定义了日志的级别(如DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、数据库等)以及布局格式。 2. **日志类**:在...

    Tomcat下使用Log4j接管生成日志文件

    通过以上步骤,你可以在Tomcat环境中成功地使用Log4j接管日志生成。记住,合理配置日志级别和输出位置,可以有效地辅助开发和维护,避免日志信息过于繁杂,同时保证关键信息不被遗漏。 此外,你可能还需要注意一些...

    log4j自定义日志文件名及日志输出格式

    默认情况下,Log4j的日志文件名通常是固定的或者基于时间戳生成的。然而,我们可以创建一个自定义的`org.apache.log4j.FileAppender`子类来覆盖默认行为。这个子类可以重写`setFile()`方法,根据业务逻辑来决定...

    Log4j生成日志保存

    2. **配置Log4j**: 在Android中,通常通过XML配置文件(如`log4j.properties`或`log4j.xml`)来设置Log4j的行为,包括设置日志级别、定义Appender和Layout等。 3. **创建Logger**: 在代码中,通过`org.apache.log4j...

    tomcat下的log4j日志配置

    5. **重启 Tomcat**:重启 Tomcat 后,相应的日志文件将按照 `log4j.properties` 文件中的设置生成。 **优点**:灵活性高,可以针对每个应用定制化日志配置;便于管理和追踪。 **总结**:根据项目的需求选择合适的...

    log4j按功能保存日志

    Log4j是一款广泛使用的Java日志记录框架,它允许开发者按照功能模块或特定需求记录应用程序运行过程中的事件信息。在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入...

    log4j生成带时间戳的日志文件(包括extras包以及简单demo)

    本文将深入探讨如何使用Log4j生成带有时间戳的日志文件,同时还会涉及到extras包的使用以及一个简单的示例。 1. **Log4j基本概念** - **日志级别**:Log4j支持多种日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL...

    log4j按照不同appender生成日志例子

    本示例将深入讲解如何利用Log4j的不同Appender来生成不同的日志文件,以满足不同接口或模块的日志记录需求。 首先,我们需要理解什么是Appender。在Log4j中,Appender是负责将日志信息输出到特定目的地的组件,如...

    weblogic中使用log4j生成日志文件实例

    总结来说,WebLogic中使用Log4j生成日志文件涉及配置Log4j,将其集成到WebLogic环境,然后在代码中使用日志API。这个过程可以帮助开发者更好地跟踪系统运行情况,定位问题,优化性能,从而提高整体运维效率。通过...

    log4j日志详细讲解

    以下是对Log4j日志的详细讲解: 首先,要在项目中启用Log4j,需要创建一个名为`log4j.properties`的配置文件,将其放在`classes`目录下。这个文件用于定义Log4j的行为,包括日志的级别、输出目的地、格式等。 1. *...

    log4j生成文件及文件夹

    本文将深入探讨如何利用Log4j生成动态的日志文件名以及动态创建文件夹,帮助开发者更好地管理和分析应用程序的运行状态。 Log4j是一款功能强大的开源日志组件,它允许程序员灵活地控制日志信息的输出级别,如DEBUG...

    mybatis,log4j打印日志到后台和文件

    Log4j 是一个广泛使用的日志记录工具,能够帮助开发者跟踪应用程序运行过程中的信息、警告、错误等事件。本文将深入探讨如何在 MyBatis 中配置 Log4j,实现日志同时输出到后台控制台和文件。 1. **日志框架集成** ...

    log4j 写多个日志文件,按照日期每天都记

    在实际开发中,根据项目规模和需求,可能还需要考虑日志归档、日志级别动态调整、日志过滤等功能,这些都是`log4j`强大的灵活性所在。同时,了解这些配置也有助于我们更好地理解和使用其他类似的日志框架,如`...

    AndroidStudio 使用log4j记录日志,按照大小定期滚动日志Demo

    本文将详细介绍如何在Android Studio中使用log4j库来记录日志,并实现按照日志文件大小自动滚动的功能,以及如何进行日志内容的格式化输出。 首先,log4j是一款广泛使用的日志记录框架,它提供了灵活的日志配置和...

    Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式

    这时,我们可以使用Log4j这个强大的日志框架来接管Tomcat的日志生成方式,实现更精细的日志控制和管理。 首先,Log4j是Apache的一个开源项目,提供了一种灵活的日志记录系统,允许开发者自定义日志级别、输出格式、...

    tomcat下用Log4j 按文件大小,生成catalina.out日志文件

    在Tomcat中配置Log4j,可以实现按照文件大小生成日志文件,如`catalina.out`,从而避免单个日志文件过大导致的管理不便。 首先,我们需要理解Log4j的工作原理。Log4j主要包括三个核心组件:Logger(日志器)、...

    log4j记录Debug日志

    在使用Log4j记录Debug日志时,确保项目中引入了相应的Log4j库,并正确配置了`log4j.properties`或`log4j.xml`文件,设置DEBUG级别,然后在代码中使用Logger对象进行日志记录。例如: ```java import org.apache.log4...

    log4j.CustomLogAppender 限制log4j文件保存天数

    每天生成一个log4j日志文件,如果只需要将最近一段时间内的日志文件保留,以前或更早的文件不用保留。例如只保留最近一周的日志,日志文件保留3天等等这些。。。通过这个jar包就可以实现。 log4j.properties文件在...

    tomcat9 slf4j+log4j2 写日志.zip

    Log4j2相比Log4j 1.x有许多改进,包括性能提升、更丰富的配置选项、异步日志记录支持以及动态日志配置等。 在Tomcat 9中配置SLF4J和Log4j2,你需要以下步骤: 1. **添加依赖**:确保你的项目中包含SLF4J和Log4j2的...

Global site tag (gtag.js) - Google Analytics