由于项目要求Log4j需要支持热配置,研究了一下Log4j中实现修改配置文件后实时生效的方法,考虑到效率问题,最后采用了第二种方法,以下是具体实现实例:
一.使用log4j自带的动态更新配置文件【轮询方式来实现】:
主要调用 PropertyConfigurator 或者 DOMConfigurator类的 configureAndWatch(String configFileName)或者 configureAndWatch(String configFileName, long delay)来实现。
注意:在log4j中每调用一次configureAndWatch方法都会启动一个新的扫描线程。
public class TestLog4j
{
public static Logger logger = Logger.getLogger(TestLog4j.class);
static
{
PropertyConfigurator.configureAndWatch("./log4j.properties", 60000);
}
public static void printLog()
{
if (logger.isDebugEnabled())
{
logger.debug("debug!!");
}
if (logger.isInfoEnabled())
{
logger.info("info!!");
}
logger.error("error!!");
}
public static void main(String[] args)
{
while (!Thread.interrupted())
{
TestLog4j.printLog();
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
}
}
}
}
二.事件触发方式实现:
调用PropertyConfigurator对象或DOMConfigurator对象的configure(String configFilename)方法。
import org.apache.log4j.xml.DOMConfigurator;
public class TestLog4j
{
/**
*
* Description:reload Log4j.xml<br>
*
*/
private void reloadLog4jConfig(String filePaht)
{
DOMConfigurator.configure(filePath);//加载.xml文件
}
/**
* Description:<br>
*
* @param args
*/
public static void main(String[] args)
{
TestLog4j test = new TestLog4j();
String filePaht = "src/test/resources/log4j.xml";
test.reloadLog4jConfig(filePaht);
}
}
分享到:
相关推荐
log4j.properties配置文件
Log4j.jar包,和log4j.properties属性文件打包下载.
这样,我们就可以在log4j加载配置文件之前,先用System.setProperty ("WORKDIR", WORKDIR);设置好根路径,此操作可通过一初始的servlet进行。 方法二、 可以使用服务器环境变量 log4j的配置文件支持服务器的vm的...
Log4J 全能配置文件详细大全。跟踪调试程序 非常方便呀
log4j2配置,文件分割,自动清除等相关配置。
log4j配置文件以及配置文件说明 包里有一个log4j配置文件 和一个配置详解
log4及配置文件 有log4j文件 log4及配置文件 有log4j文件 log4及配置文件 有log4j文件
log4j中使用的jar包,版本为1.2.17,下载即可使用,满足idea和eclipse使用,并附有配置文件
log4j 的配置文件示例 log4j是很好用的日志,建议项目里面都用上.
log4j2的配置文件完整版
log4j配置文件全部属性配置log4j模版
十分宝贵的mybatis配置文件,包含最新的mybatis配置文件,以及mybatis开发文档,Log4j测试开发日志文件
log4j-1.2.11jar和log4j.properties配置文件
log4j的配置文件,用于SSM框架的配置文件,打印日志相关
log4j.xml配置文件
Log4j2学习笔记,引入log4j2的依赖-log4j2.xml配置模板-application.properties文件配置-使用
log4j.properties配置详解
完整的log4j配置文件
tomcat6.0 配log4j日志的必须文件及配置过程 tomcat6-------lib | |--------tomcat-juli-adapters.jar | |--------log4j.jar | |--------log4j.properites | |----bin |--------tomcat-juli.jar 最后把log4...
一个比较全的的log4j配置文件一个比较全的的log4j配置文件一个比较全的的log4j配置文件一个比较全的的log4j配置文件一个比较全的的log4j配置文件一个比较全的的log4j配置文件