log4j是一个通用的log工具。使用log4j的时候我们通常设置properties文件或者xml文件来进行log的配置。那么log4j对配置文件的加载过程是什么样的呢?下面以分析log4j的source的形式来进行说明。 一,properties文件 当用properties文件进行配置的时候,对应的src为PropertyConfigurator。这个PropertyConfigurator class继承了接口 Configurator,并实现doConfigure方法。 对properties文件进行读取的过程如下 1,把properties文件的内容读取到Properties对象中保存。 使用方法: Properties props = new Properties(); FileInputStream istream = null; istream = new FileInputStream(configFileName); props.load(istream); istream.close(); 2,对读到的内容进行解析 2.1进行是否输出内部异常信息的判断 ,通过是否指定参数“log4j.debug”来判断 2.2进行是否复位所有配置信息的判断,通过是否指定参数“log4j.reset”来判断 2.3进行是否设定广域log的level的判断,通过是否指定参数“log4j.threshold”来判断 2.4进行RootLogger的设定 2.4.1 取得RootLogger 2.4.2 取得RootLogger对应的Appender 2.4.2.1取得Appender的Layout,将Layout追加到Appender中 //1 设定Layout的属性 //2 设定Appender的属性 2.4.3 将Appender追加到RootLogger中 2.5进行LoggerFactory的设定 2.5.1 取得指定参数“log4j.loggerFactory”的值,并生成Factory类的实例 2.5.2 设定生成Factory类的实例的属性 2.6进行RootLogger以外其他Logger的设定 2.6.1取得其他的category 2.6.1.1 设置category的level属性 2.6.1.2 取得category对应的Appender 取得Appender的Layout,将Layout追加到Appender中 //1 设定Layout的属性 //2 设定Appender的属性 2.6.1.3 设置category的是否继承parent的属性 2.6.1.4 设置category的输出log的渲染类 二,xml文件 当用xml文件进行配置的时候,对应的src为DOMConfigurator。这个DOMConfigurator class继承了接口 Configurator,并实现doConfigure方法。 对xml文件进行读取的过程,与对properties文件进行解析的内容大致相同.不再重复. 不同点有以下几个地方 //1 使用DOMAPI读取xml文件,并从dom中取得各个node的内容. //2 属性的名称不一样
分享到:
相关推荐
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
Log4j支持多种配置文件格式,包括`.properties`和`.xml`。两种格式在功能上并无本质区别,选择哪种取决于个人或团队的偏好。 1. **.properties格式**: 在`.properties`文件中,配置信息通过键值对的形式呈现,如...
要加载自己的Log4j配置文件,可以在Java代码中指定配置文件路径,例如使用`PropertyConfigurator.configure("path/to/config/file.properties")`,或者在类路径下放置名为`log4j.properties`或`log4j.xml`的文件,...
如果你希望自定义配置文件的位置,可以通过系统属性`log4j.configuration`来指定,例如`System.setProperty("log4j.configuration", "path/to/your/log4j.properties")`。 总的来说,Log4j是一个强大且灵活的日志...
在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` <listener-class>org.springframework.web.util.Log4...
2. **Log4j配置文件(log4j.properties或log4j.xml)** - 在Java项目中,通常会有一个log4j配置文件,用于定义日志记录的级别、输出方式和格式。 - 示例配置: ``` log4j.rootLogger=DEBUG, FILE log4j....
首先,我们需要创建一个`log4j.properties`或`log4j.xml`配置文件,这个文件通常放在项目的`src/main/resources`目录下。在这个配置文件中,我们将定义日志的输出级别、布局模式以及输出目的地。 以下是一个基本的`...
Log4j的配置文件可以通过两种主要格式定义:`properties`格式和`XML`格式。下面以`properties`格式为例进行介绍: ```properties # 配置根Logger log4j.rootLogger=[level],appenderName1,appenderName2,... # ...
总结来说,Log4j的动态配置日志输出路径主要涉及对配置文件的解析和重新加载,以及在运行时使用API直接调整日志设置。理解并熟练运用这些方法,可以帮助我们在开发过程中更灵活地管理和监控日志,提高开发效率和问题...
Log4j想要生效,我们需要在web.xml中进行配置,以告诉工程去哪加载log4j的配置文件和定义一个扫描器。相比之下,Log4j2就比较简单,我们只需要把log4j2.xml文件放到工程的resource目录下就行了。 Log调用 Log4j和...
在Spring 4.3.7版本中,配置Log4j主要是通过`log4j.properties`或`log4j.xml`文件完成的。这个文件通常位于项目的类路径下,以便于Spring在启动时自动加载。这里我们将重点关注`log4j.properties`文件的配置。 `log...
Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)定义了日志信息的输出方式、级别、目的地等。例如,你可以设置日志信息打印到控制台、写入文件、发送电子邮件或者存储到数据库。配置文件中的主要元素包括...
1. 配置文件:Log4j的配置通常通过一个名为`log4j.properties`或`log4j.xml`的文件进行。在这个例子中,我们使用`log4j.properties`文件。 2. 控制台Appender配置: ``` log4j.appender.stdout=org.apache.log4j....
2. **配置全局 Log4j 属性文件**:在任意位置创建 `log4j.properties` 文件,并设置全局的日志级别、输出格式及存储路径等。通常会将该文件放置在 Tomcat 的 `conf` 目录下。 ```properties log4j.rootLogger=...
Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,用于设置日志器、输出器和布局等相关属性。以下是一些基本配置示例: ```properties # 配置控制台输出 log4j.rootLogger=DEBUG, Console log4j.appender....
这个 Servlet 的作用是在应用启动时读取配置文件并初始化 Log4j。具体步骤如下: ```java package ttzl.log.web; import javax.servlet.http.HttpServlet; import org.apache.log4j.PropertyConfigurator; public...
`log4j.properties` 是Log4j的经典配置文件名,通常使用Properties文件格式,包含了Log4j的配置信息,如日志记录级别(DEBUG, INFO, WARN, ERROR, FATAL)、输出目的地(控制台、文件、数据库等)、日志格式等。...
在Java开发过程中,如果遇到"log4j:WARN Please initialize the log4j system properly"这样的错误提示,通常意味着Log4j没有正确配置或者找不到配置文件。 首先,错误信息"log4j:WARN No appenders could be found...
Log4j配置文件(log4j.properties) Log4j的配置通常在`log4j.properties`文件中进行,以下是一些常见的配置选项: - **rootLogger**:定义日志器的默认行为,包括级别和appender。 ```properties log4j.root...