今天做了一个动态修改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配置文件,帮助开发者更好地理解和利用这一强大的工具。 一、Log4j的概述与重要性 在Java开发中,日志记录扮演着至关重要的角色,它能够帮助我们追踪程序运行状态,定位错误和异常,进行性能...
- 配置文件通常是"log4j.properties"或"log4j.xml",用于定义日志行为。 - 如`log4j.rootLogger=DEBUG, FILE`表示设置根logger级别为DEBUG,并将日志输出到名为FILE的appender。 - `log4j.appender.FILE=org....
Log4j 是一款广泛使用的日志记录框架,尤其在Java应用程序中...对于初学者而言,理解这些基本概念并实践简单的配置和代码示例,是掌握Log4j的第一步。随着经验的增长,你将能够更深入地利用Log4j来提升开发和维护效率。
Log4j的源码分析有助于深入理解其实现原理,例如如何根据配置文件动态创建Appender,如何处理日志事件,以及如何实现多线程下的日志同步等。通过阅读源码,开发者可以定制更符合自身需求的日志解决方案,或者在遇到...
本文将详细介绍Log4j的配置方法,并通过实例帮助初学者理解其工作原理。 ### 1. Log4j概述 Log4j的主要目标是为应用程序提供一种灵活且高效的日志记录机制。它包括三个核心组件:Logger(日志器)、Appender(输出...
在Log4j 1.2.16中,你可以看到许多配置文件,如log4j.properties或log4j.xml,它们用于设置Logger、Appender和Layout的具体配置。通过这些配置文件,开发者可以轻松地调整日志策略,适应不同的环境需求。 源码中还...
"log4j配置.txt"提供了一份Log4j的配置示例,展示了如何配置日志级别、指定日志输出目的地、定义日志格式等内容。配置文件的语法非常重要,因为它直接影响到日志的生成和管理。例如,`<appender>`标签用于定义一个...
这个压缩包文件“lo4j2”可能包含了配置文件“log4j2.xml”,它是Log4j2的核心配置,用于定义日志输出的方式、级别、格式等关键设置。下面我们将深入探讨Log4j2及其配置文件中的相关知识点。 1. **Log4j2概述**:...
在提供的压缩包中,`lo4j_jar包`包含了`log4j`的库文件,开发者可以直接引入到项目中使用。而`dom4j-1.6.1`是`dom4j`的一个版本,同样需要添加为项目的依赖。使用这些库时,开发者通常会结合它们的API文档和示例代码...
"lo"可能是"log4j"的误写或不完整,通常情况下,日志相关的集成还会包括配置文件,如log4j.properties或log4j.xml,用来设置日志级别、输出位置和格式。 基于【压缩包子文件的文件名称列表】中的"ahao5",这可能是...
在给定的“Lo4jTest”项目中,我们很可能看到一个完整的示例,演示了如何配置和使用Log4j将日志信息写入文件。下面我们将详细探讨Log4j及其相关知识点。 1. **日志的重要性**:在软件开发中,日志是调试、性能分析...
1. **快速集成日志框架**:"lo4ge"插件允许开发者轻松集成常见的日志框架,如Log4j、Logback和java.util.logging,无需手动配置大量的XML或代码。 2. **代码生成**:该插件能够自动生成日志相关的代码,例如`logger...
参考《http://www.ibm.com/developerworks/cn/java/j-lo-xfire/index.html》这篇文章,可以获取详细的配置教程,包括XML配置文件的编写、依赖库的添加以及服务暴露等操作。 接下来,我们讨论Xfire的安全特性,特别...
在使用J-Scope V7.66时,用户应了解如何设置通信接口,选择合适的仿真器型号,以及配置调试参数。软件提供了详细的文档和教程,帮助初学者快速上手。对于高级用户,J-Scope的高级特性,如触发条件设置、数据记录和...
- **调试技巧**:包括通过硬件调试工具(如J-Link)进行调试的方法,以及如何使用IAR的软件仿真功能。 - **界面定制**:教程还提供了如何根据个人喜好定制IAR开发环境的方法,使用户能够更加高效地工作。 #### 五...
Prob-lo-Matic可能集成了流行的日志框架,如Log4j或SLF4J,以实现灵活的日志输出。 6. **测试与示例(Tests & Examples)**:开源项目通常会提供详尽的测试用例和示例代码,帮助新用户快速理解如何使用和集成Prob-...
Hibernate支持各种日志框架,如log4j,允许调整日志级别以查看SQL执行、警告或错误信息。 8. **NamingStrategy**:NamingStrategy允许自定义数据库表名和列名的生成规则,以适应不同的命名规范或避免名称冲突。 ...
`iptables -t filter -A INPUT -i lo -j ACCEPT` 所有来自本地环回接口(lo)的包都允许通过。 8. 拒绝所有其他输入: `iptables -t filter -A INPUT -j REJECT --reject-with icmp-host-prohibited` 对所有未被...