<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!-- Log4j Configuration -->
<!--
| For more configuration infromation and examples see the Jakarta Log4j
| owebsite: http://jakarta.apache.org/log4j
-->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<!-- =================Appenders for CSF=================-->
<appender name="CSF_FILE" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="INFO"/>
<param name="File" value="C:/jboss-3.2.1/server/default/log/csf.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<!-- Mail Appender -->
<appender name="CSF_SMTP" class="org.apache.log4j.net.SMTPAppender">
<param name="Threshold" value="FATAL"/>
<param name="To" value=""/>
<param name="From" value=""/>
<param name="Subject" value="One Fatal Error"/>
<param name="SMTPHost" value=""/>
<param name="BufferSize" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
</layout>
</appender>
<!--JDBC-->
<appender name="CSF_JDBC" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="Threshold" value="ERROR"/>
<param name="driver" value="com.sybase.jdbc2.jdbc.SybDriver"/>
<param name="URL" value="jdbc:sybase:Tds:127.0.0.1:2638/Summit"/>
<param name="user" value="DBA"/>
<param name="password" value="SQL"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="INSERT INTO ErrorLog (ErrorMessage) VALUES ('%d - %c - %p - %m')"/>
</layout>
</appender>
<!--=================End Appenders for CSF================= -->
<!-- =================Appenders for Events=================-->
<appender name="EVENT_FILE" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="INFO"/>
<param name="File" value="C:/jboss-3.2.1/server/default/log/event.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<!-- Mail Appender -->
<appender name="EVENT_SMTP" class="org.apache.log4j.net.SMTPAppender">
<param name="Threshold" value="FATAL"/>
<param name="To" value=""/>
<param name="From" value=""/>
<param name="Subject" value="One Fatal Error"/>
<param name="SMTPHost" value=""/>
<param name="BufferSize" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
</layout>
</appender>
<!-- JDBC -->
<appender name="EVENT_JDBC" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="Threshold" value="ERROR"/>
<param name="driver" value="com.sybase.jdbc2.jdbc.SybDriver"/>
<param name="URL" value="jdbc:sybase:Tds:127.0.0.1:2638/Summit"/>
<param name="user" value="DBA"/>
<param name="password" value="SQL"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="INSERT INTO ErrorLog (ErrorMessage) VALUES ('%d - %c - %p - %m')"/>
</layout>
</appender>
<!--=================End Appenders for Event================= -->
<!-- Append messages to the console -->
<!--
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<param name="Threshold" value="INFO"/>
<layout class="org.apache.log4j.PatternLayout">
The default pattern: Date Priority [Category] Message\n
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
<appender name="JSR77" class="org.apache.log4j.FileAppender">
<param name="Append" value="false"/>
<param name="File" value="/log/jsr77.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
</layout>
</appender> -->
<!-- More Appender -->
<!-- Buffer events and log them asynchronously -->
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="CSF_FILE"/>
<appender-ref ref="CSF_JDBC"/>
<appender-ref ref="CSF_SMTP"/>
<appender-ref ref="EVENT_FILE"/>
<appender-ref ref="EVENT_JDBC"/>
<appender-ref ref="EVENT_SMTP"/>
</appender>
<!-- Limit categories -->
<!-- Limit categories to INFO
<category name="">
<priority value="INFO"/>
</category>
-->
<!--
RULES for logging DEBUG < INFO < WARN < ERROR < FATAL.
-->
<!-- tested and run-->
<category name="com.one.events" additivity="false">
<priority value="INFO"/>
<appender-ref ref="EVENT_FILE"/>
<appender-ref ref="EVENT_JDBC"/>
<appender-ref ref="EVENT_SMTP"/>
</category>
<category name="com.one.csf" additivity="false">
<priority value="INFO"/>
<appender-ref ref="CSF_FILE"/>
<appender-ref ref="CSF_JDBC"/>
<appender-ref ref="CSF_SMTP"/>
</category>
<!--
Decrease the priority threshold
<category name="">
<priority value="DEBUG"/>
</category>
-->
<!-- Setup the Root category -->
<root>
<appender-ref ref="ASYNC"/>
</root>
</log4j:configuration>
分享到:
相关推荐
《深入理解log4j-api-2.17.1.jar与log4j-core-2.17.1.jar》 在Java开发中,日志管理是不可或缺的一部分,它帮助我们跟踪程序运行状态、定位错误和调试问题。Log4j作为一款广泛使用的日志框架,历经多次迭代,现在...
配置Log4j通常通过一个XML或JSON格式的配置文件完成,例如`log4j2.xml`或`log4j2.json`,这个文件定义了日志的输出级别、目的地(如控制台、文件、数据库等)以及格式。 总的来说,Log4j 2是Java开发中不可或缺的...
Log4j 2支持通过JMX或配置文件实时修改日志级别和配置,无需重启应用,大大提高了运维效率。 6. **可插拔架构**: 其插件架构允许开发者轻松扩展功能,如自定义Appender、Filter或Layout,满足个性化需求。 7. *...
6. **配置文件**:Log4j通常通过配置文件(如log4j.properties或log4j.xml)来设置其行为,包括定义日志器、appender和layout。 7. **MDC(Mapped Diagnostic Context)和NDC(Nested Diagnostic Context)**:这两...
这个JAR文件是Log4j对SLF4J(Simple Logging Facade for Java)的实现。SLF4J是一个日志门面,允许用户在运行时插入任何兼容的日志实现。通过使用Log4j-slf4j-impl,可以在项目中使用SLF4J的API,同时享受到Log4j的...
通常,这会涉及到创建一个配置文件(如log4j2.xml或log4j2.json),并设置环境变量或类路径来指向这个配置文件。在Java代码中,你可以通过调用`org.apache.logging.log4j.LogManager.getLogger()`获取一个Logger实例...
2. **配置文件**:Log4j使用配置文件(如log4j2.xml或log4j2.json)来定义日志输出的位置、格式和级别。这些配置可以动态更新,无需重启应用。 3. **Appenders**:Appenders是Log4j用来输出日志信息的组件,例如...
1. **备份现有配置**:在升级前,先备份现有的Log4j配置文件,以便在必要时恢复。 2. **测试环境验证**:在生产环境部署前,先在测试环境中验证新版本的兼容性和日志记录效果。 3. **更新依赖**:如果你的应用程序...
4. **日志配置更新**:鼓励用户在配置文件中明确指定日志格式,避免使用可能包含用户输入的动态表达式,以减少潜在的风险。 5. **安全性审计**:全面审查了代码库,以发现和修复其他可能的安全隐患。 除了安全修复...
在升级过程中,记得备份原有的Log4j2配置文件,以便在出现问题时能够回滚。同时,更新后应进行详尽的测试,确保应用的正常运行不受影响。 总之,Apache Log4j2的这个远程代码执行漏洞是一个严重的安全问题,及时...
4. `configurations`: 可能包含示例或默认的配置文件,如`log4j2.xml`或`log4j2.json`,这些文件定义了日志行为。 5. `docs`: 项目文档,包括用户指南和API参考。 6. `licenses`: 相关的许可文件,阐述软件的使用...
此外,对于那些无法立即升级的系统,可以通过配置环境变量或修改Log4j配置文件来临时缓解风险,例如设置`LOG4J2_FORMAT_MSG_NO_LOOKUPS`为`true`。 总的来说,Log4j 2.15.0-rc2的发布是应对Log4Shell漏洞的重要步骤...
2. **可配置性**:Log4j-core-2.5允许开发者通过XML、JSON或YAML等格式的配置文件自定义日志输出格式,包括日志级别、输出目的地、过滤器等。 3. **插件体系**:Log4j-core-2.5支持多种插件,如Layout、Filter、...
**二、Log4j配置文件** 在压缩包中,还包含了一份名为`log4j.properties`的配置文件。这是Log4j使用的一种配置格式,基于Java Properties格式。配置文件决定了日志信息如何输出、输出到哪里,以及日志的级别等关键...
然后,创建一个配置文件(如log4j2.xml或log4j2.json),定义日志记录的级别、Appenders和Layouts。例如,你可以设置一个Console Appender将日志输出到控制台,再添加一个File Appender将日志保存到文件。 **日志...
在2.8.2版本中,这些配置文件可能包含更丰富的选项和优化,以提高性能和定制化能力。 3. **Layouts与Patterns**:Log4j 允许自定义日志输出格式,如使用PatternLayout来定制输出模式,这使得日志更容易阅读和分析。...
《深入理解log4j-2.15.0-rc2:SLF4J漏洞修复与源码解析》 在IT行业中,日志记录扮演着至关重要的角色,它帮助开发者追踪程序运行状态,定位错误,优化性能。Log4j作为Java世界中最广泛使用的日志框架之一,其最新...
1. **配置灵活性**:Log4j 2.0引入了XML、JSON、YAML以及Groovy等多种配置格式,使得配置文件更易于理解和维护。此外,它支持动态配置,可以在运行时更新日志级别和其他设置,无需重启应用。 2. **性能提升**:与...
2. **配置动态调整**:在生产环境中,可以使用JMX(Java Management Extensions)动态修改Log4j配置,以应对不同的运维需求。 3. **日志级别管理**:根据环境调整日志级别,如在开发阶段开启DEBUG,生产环境中通常...