() DOMConfigurator对应的是xml配置文件,PropertyConfigurator对应的是properties配置文件。 PropertyConfigurator#configureAndWatch源码解析 PropertyConfigurator的configureAndWatch()其实和DOMConfigurator 差不多,区别是PropertyConfigurator在方法里new了一个PropertyWatchdog对象,PropertyWatchdog和XMLWatchdog一样继承了FileWatchdog 只是PropertyWatchdog是通过new PropertyConfigurator().doConfigure()来加载配置文件的。 (filepath, delay); } else { PropertyConfigurator.configure(filepath); } } log4j2底层实现动态加载配置文件的简单解析
在这种情况下,我们需要明确地初始化log4j: String log4jConfigFile = "some/path/log4j.properties"; PropertyConfigurator.configure javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; import org.apache.log4j.PropertyConfigurator String fullPath = context.getRealPath("") + File.separator + log4jConfigFile; PropertyConfigurator.configure event) { // do nothing } } 在contextInitialized()方法中,我们读取log4j属性文件的位置,并构造一个完整的绝对路径,然后传递给PropertyConfigurator
PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。 例: PropertyConfigurator.configure(". = Logger.getLogger(LogTest.class.getName()); public static void main(String[] args) { PropertyConfigurator.configure ② PropertyConfigurator.configure ("src/log4j.properties")就是说使用当前工程目录下的src文件夹中的log4j.properties文件作为配置文件 例: //得到当前jsp路径 String prefix = getServletContext().getRealPath("/"); //读取log4j.properties PropertyConfigurator.configure
PropertyConfigurator.configure(String configFilename) :读取使用Java的特性文件编写的配置文件。 配置文件放置在src文件夹下,程序如下: package cn.tzy.log4j; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator LogDemo { public static void main(String[] args) { Logger logger= Logger.getLogger(LogDemo.class); PropertyConfigurator.configure
package com.example.log4j_demo.log4j_Test; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator TestLog4j.class); public static void main(String[] args) throws InterruptedException { //此处文件好像并为起到作用 PropertyConfigurator.configure (ClassLoader.getSystemResource("log4j.properties")); //PropertyConfigurator.configure("D://log4j.txt package com.example.log4j_demo.log4j_Test; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator
x/ 下面是使用Log4j的一个简单例子: package com.mai.test; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator Log4jTest { public static void main(String[] args) { Logger log = Logger.getLogger(Log4jTest.class); PropertyConfigurator.configure
first_index, last_index); System.setProperty("myhome", path); // "myhome"供log4j.properties使用 PropertyConfigurator.configure
. // 如果配置文件名为*.xml,则使用DOMConfigurator,否则使用PropertyConfigurator。 ------------------- props.load(log4jConfigurationURL.openStream()); PropertyConfigurator.configure
五、 编写代码 [table] package my.demo.hibernate.Sample; import org.apache.log4j.PropertyConfigurator; import ComputerCreate { /** * @param args */ public static void main(String[] args) { PropertyConfigurator.configure
FileAppender.hh> #include <log4cpp/PatternLayout.hh> #include <log4cpp/OstreamAppender.hh> #include <log4cpp/PropertyConfigurator.hh Logger::instance_; bool Logger::init(const std::string& log_conf_file){ try{ log4cpp::PropertyConfigurator
DOMConfigurator.configureAndWatch(file.getAbsolutePath(), refreshInterval); } else { PropertyConfigurator.configureAndWatch ; } } 获取配置文件,根据log4配置文件的格式(xml,properties)方式进行加载xml,那么一定是在DOMConfigurator.configureAndWatch 或者PropertyConfigurator.configureAndWatch
代码如下:#include "log4cpp/Category.hh"#include "log4cpp/PropertyConfigurator.hh"int main(int argc, char* argv[]){ try{ log4cpp::PropertyConfigurator::configure(".
; }} 2.6.2 PropertyConfigurator.configure() PropertyConfigurator.configure() 可以从文件、I/O、URL、Properties 中读取对 log4j 的配置: 示例: package webj2ee; import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator layout.ConversionPattern", "%-4r [%t] %-5p %c %x - %m%n"); // Load Log4j Configuration: PropertyConfigurator.configure
log4j.properties: #日志级别,appender的名字 2)创建一个类TestLog4j_0010,在main方法中写: PropertyConfigurator.configure 五、程序中使用log4j 5.1、加载配置文件 DOMConfigurator.configure("conf/log4j.xml"); PropertyConfigurator.configure( TestLog4_0011.java package com.zyh.log4j; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator ; public class TestLog4_0011 { public static void main(String[] args) { PropertyConfigurator.configure
在main()中,加载log4j: PropertyConfigurator.configure("log4j.properties"); e). 代码中,PropertyConfigurator.configure("bin/log4j.properties"); b). 代码中,PropertyConfigurator.configure(ClassLoader.getSystemResource("log4j.properties")); c). [代码中使用] public class TestLog4j { public static void main(String[] args) { PropertyConfigurator.configure @author yanxu */ public class Log4jTest { public static void main(String args[]) { PropertyConfigurator.configure
PropertyConfigurator.configure(StringconfigFilename):读取使用Java的特性文件编写的配置文件。 实际使用: PropertyConfigurator.configure("ServerWithLog4j.properties"); 3、插入日志信息 完成了以上连个步骤以后,下面就可以按日志的不同级别插入到你要记录日志的任何地方了
PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。 javax.servlet.http.HttpServletResponse; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.PropertyConfigurator yoMamaYesThisSaysYoMama.exists()) { System.out.println("使用: " + log4jProp+"初始化日志设置信息"); PropertyConfigurator.configure
PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。 javax.servlet.http.HttpServletResponse; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.PropertyConfigurator yoMamaYesThisSaysYoMama.exists()) { System.out.println("使用: " + log4jProp + "初始化日志设置信息"); PropertyConfigurator.configure
# They must not configure by calling the classes DOMConfigurator or PropertyConfigurator.
如:PropertyConfigurator.configure();和DOMConfigurator.configure ();这两种方法读取。而在log4j2.x当中,这两个类都已经不存在了。