`

lo4j配置理解

 
阅读更多

 今天做了一个动态修改web系统的log4j日志级别的功能,这样就能灵活的配置系统的日志级别了。

经过多次的尝试,终于完成了这个功能,不过不够理想,存在一定的问题,希望看到此文章的兄弟姐妹解决我留下的问题。

 

先说说我通过这次经历对log4j配置的理解吧。

 

1、关于category配置日志级别
     如果appender配置了Threshold,那么日志的输出级别为category和appender两者之间的那个高级别为准。

    如以下代码:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
	<param name="Threshold" value="ERROR" 
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d %-5p %t [%l] %m%n" />
		</layout>
</appender>
<category name="com.ibatis.common.jdbc">
	<priority value="DEBUG" />
</category>

 

该配置中com.ibatis.common.jdbc的日志输出级别为ERROR,而不是DEBUG

2、重新加载log4j日志

    DOMConfigurator.configure(log4jXmlPath);

    类DOMConfigurator为log4j包下的类

留下的疑问......

2、我通过以下配置实现了动态修改日志级别的功能,但是存在不理解的地方,还望知道的朋友给解释下。

代码:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
	<param name="Threshold" value="DEBUG" />
	<param name="Target" value="System.out" />
	<layout class="org.apache.log4j.PatternLayout">
		<param name="ConversionPattern" value="%d %-5p %t [%l] %m%n" />
	</layout>
</appender>
<category name="com.ibatis.common.jdbc">
	<priority value="DEBUG" />
</category>
<root>
	<priority value="ERROR" />
	<appender-ref ref="CONSOLE" />
</root> 

  我把appender 的级别设置为debug,root中添加<priority value="ERROR"/>
这样设置,就会以我设置的category中的级别为准了。但是不知道为什么。


附件是我的log4j日志配置文件,留作备用

分享到:
评论

相关推荐

    lo4j配置文件.rar

    本篇文章将详细解析Lo4j配置文件,帮助开发者更好地理解和利用这一强大的工具。 一、Log4j的概述与重要性 在Java开发中,日志记录扮演着至关重要的角色,它能够帮助我们追踪程序运行状态,定位错误和异常,进行性能...

    lo4j详细讲解及详细文档

    - 配置文件通常是"log4j.properties"或"log4j.xml",用于定义日志行为。 - 如`log4j.rootLogger=DEBUG, FILE`表示设置根logger级别为DEBUG,并将日志输出到名为FILE的appender。 - `log4j.appender.FILE=org....

    lo4j学习笔记

    Log4j 是一款广泛使用的日志记录框架,尤其在Java应用程序中...对于初学者而言,理解这些基本概念并实践简单的配置和代码示例,是掌握Log4j的第一步。随着经验的增长,你将能够更深入地利用Log4j来提升开发和维护效率。

    Lo4j用法及实例

    Log4j的源码分析有助于深入理解其实现原理,例如如何根据配置文件动态创建Appender,如何处理日志事件,以及如何实现多线程下的日志同步等。通过阅读源码,开发者可以定制更符合自身需求的日志解决方案,或者在遇到...

    log4j配置方法和实例

    本文将详细介绍Log4j的配置方法,并通过实例帮助初学者理解其工作原理。 ### 1. Log4j概述 Log4j的主要目标是为应用程序提供一种灵活且高效的日志记录机制。它包括三个核心组件:Logger(日志器)、Appender(输出...

    apache-log4j-1.2.16.rar_apache log4j 1.2.16_log4j source code_lo

    在Log4j 1.2.16中,你可以看到许多配置文件,如log4j.properties或log4j.xml,它们用于设置Logger、Appender和Layout的具体配置。通过这些配置文件,开发者可以轻松地调整日志策略,适应不同的环境需求。 源码中还...

    Log4j学习资料大全

    "log4j配置.txt"提供了一份Log4j的配置示例,展示了如何配置日志级别、指定日志输出目的地、定义日志格式等内容。配置文件的语法非常重要,因为它直接影响到日志的生成和管理。例如,`&lt;appender&gt;`标签用于定义一个...

    lo4j2数据开发必备帮你规避不必要的线上bug

    这个压缩包文件“lo4j2”可能包含了配置文件“log4j2.xml”,它是Log4j2的核心配置,用于定义日志输出的方式、级别、格式等关键设置。下面我们将深入探讨Log4j2及其配置文件中的相关知识点。 1. **Log4j2概述**:...

    log4j和dom4j插件

    在提供的压缩包中,`lo4j_jar包`包含了`log4j`的库文件,开发者可以直接引入到项目中使用。而`dom4j-1.6.1`是`dom4j`的一个版本,同样需要添加为项目的依赖。使用这些库时,开发者通常会结合它们的API文档和示例代码...

    SpringMVC精品资源--Spring+Springmvc+Mybatis框架,后续集成日志插件log4j、lo.zip

    "lo"可能是"log4j"的误写或不完整,通常情况下,日志相关的集成还会包括配置文件,如log4j.properties或log4j.xml,用来设置日志级别、输出位置和格式。 基于【压缩包子文件的文件名称列表】中的"ahao5",这可能是...

    Lo4jTest 完整代码,用于输出日志到log文件

    在给定的“Lo4jTest”项目中,我们很可能看到一个完整的示例,演示了如何配置和使用Log4j将日志信息写入文件。下面我们将详细探讨Log4j及其相关知识点。 1. **日志的重要性**:在软件开发中,日志是调试、性能分析...

    lo4ge

    1. **快速集成日志框架**:"lo4ge"插件允许开发者轻松集成常见的日志框架,如Log4j、Logback和java.util.logging,无需手动配置大量的XML或代码。 2. **代码生成**:该插件能够自动生成日志相关的代码,例如`logger...

    xifre 基本配置与密钥的生成

    参考《http://www.ibm.com/developerworks/cn/java/j-lo-xfire/index.html》这篇文章,可以获取详细的配置教程,包括XML配置文件的编写、依赖库的添加以及服务暴露等操作。 接下来,我们讨论Xfire的安全特性,特别...

    J-Scope V7.66安装文件,自带jlink,安装该包会装上J-Scope V7.66和jlink

    在使用J-Scope V7.66时,用户应了解如何设置通信接口,选择合适的仿真器型号,以及配置调试参数。软件提供了详细的文档和教程,帮助初学者快速上手。对于高级用户,J-Scope的高级特性,如触发条件设置、数据记录和...

    三天入门 Cortex-M4 ----Kinetis(正式版)

    - **调试技巧**:包括通过硬件调试工具(如J-Link)进行调试的方法,以及如何使用IAR的软件仿真功能。 - **界面定制**:教程还提供了如何根据个人喜好定制IAR开发环境的方法,使用户能够更加高效地工作。 #### 五...

    Prob-lo-matic-开源

    Prob-lo-Matic可能集成了流行的日志框架,如Log4j或SLF4J,以实现灵活的日志输出。 6. **测试与示例(Tests & Examples)**:开源项目通常会提供详尽的测试用例和示例代码,帮助新用户快速理解如何使用和集成Prob-...

    hibernate详解

    Hibernate支持各种日志框架,如log4j,允许调整日志级别以查看SQL执行、警告或错误信息。 8. **NamingStrategy**:NamingStrategy允许自定义数据库表名和列名的生成规则,以适应不同的命名规范或避免名称冲突。 ...

    iptables 语法 (经典)

    `iptables -t filter -A INPUT -i lo -j ACCEPT` 所有来自本地环回接口(lo)的包都允许通过。 8. 拒绝所有其他输入: `iptables -t filter -A INPUT -j REJECT --reject-with icmp-host-prohibited` 对所有未被...

Global site tag (gtag.js) - Google Analytics