<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<!-- 业务日志,生产环境使用。hekun -->
<appender name="BCSS_LOG" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/bcss.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %t [%-5p] (%F,%L) - %m%n" />
</layout>
</appender>
<!-- JOP框架底层日志,分析框架问题时使用。hekun -->
<appender name="JOP_LOG" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/jop.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %t (%F,%L) - %m%n" />
</layout>
</appender>
<!-- 控制台日志,开发阶段使用-->
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %t [%-5p](%F,%L) - %m%n" />
</layout>
</appender>
<!-- 默认的异步文件日志输出,生产环境都采用此appender -->
<appender name="ASYNC_BCSS_LOG" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="256"/>
<param name="LocationInfo" value="true"/>
<appender-ref ref="BCSS_LOG"/>
</appender>
<!-- 默认的异步文件日志输出,生产环境都采用此appender -->
<appender name="ASYNC_JOP_LOG" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="512"/>
<param name="LocationInfo" value="true"/>
<appender-ref ref="JOP_LOG"/>
</appender>
<!-- console 异步日志,开发环境都使用此appender,方便调试 -->
<appender name="ASYNC_CONSOLE" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="64"/>
<param name="LocationInfo" value="true"/>
<appender-ref ref="CONSOLE"/>
</appender>
<!-- 监控数据,启用监控功能时使用 -->
<appender name="MONITOR_SQLLOG" class="com.xxx.xxxx.infrastructure.log4j.JDBCExtAppender">
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<param name="URL" value="jdbc:oracle:thin:@10.200.5.200:1521:BOSS15TEST"/>
<param name="User" value="jop"/>
<param name="Password" value="jop"/>
<param name="sql" value="insert into SYS_ACCTMONITOR(ID,STARTTIME, USETIME,PARENTFLOWNO,IP,CLIENT,OPERATOR,TARGETSYSTEM,TARGETMODULE,TARGETFUNCTION,TARGETOPERATION,PARAMLIST,RESULTSTATUS,RESULTCODE) values (SYS_ACCTMONITOR_SEQ.nextval,to_timestamp('@starttime@','yyyy-MM-dd hh24:mi:ss.ff'), @usetime@, '@parentflowno@','@ip@','@client@','@operator@','@targetsystem@','@targetmodule@','@targetfunction@','@targetoperation@','@paramlist@','@resultstatus@','@resultcode@')"/>
</appender>
<!-- 监控数据记录异步化,只能给监控 com.xxx.xxxx.monitor 使用,其他logger不得使用此 appender -->
<appender name="ASYNC_MONITOR_SQLLOG" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="1024"/>
<param name="LocationInfo" value="true"/>
<appender-ref ref="MONITOR_SQLLOG"/>
</appender>
<category name="com.xxx.xxxx.monitor"> <!-- 监控需要特殊控制,输出到自己的appender -->
<param name="additivity" value="false"/>
<priority value="DEBUG" />
<appender-ref ref="ASYNC_MONITOR_SQLLOG" />
</category>
<!-- Hibernate log,需要特殊控制,使用 TRACE级别 -->
<category name="org.hibernate.SQL">
<param name="additivity" value="false"/>
<priority value="TRACE" />
<appender-ref ref="ASYNC_BCSS_LOG" /> <!-- ASYNC_Hibernate_SQL -->
</category>
<category name="org.hibernate.type">
<param name="additivity" value="false"/>
<priority value="WARN" />
<appender-ref ref="ASYNC_BCSS_LOG" /> <!-- ASYNC_Hibernate_SQL -->
</category>
<category name="org.hibernate.cache">
<param name="additivity" value="false"/>
<priority value="WARN" />
<appender-ref ref="ASYNC_JOP_LOG" />
</category>
<category name="com.googlecode.hibernate.memcached"> <!-- L2,query cache 分布式缓存, -->
<param name="additivity" value="false"/>
<priority value="WARN" />
<appender-ref ref="ASYNC_JOP_LOG" />
</category>
<!-- 默认所有业务日志输出到文件 bcss.log, 异步输出; 其他特殊控制,如:缓存日志输出到jop.log -->
<root>
<priority value="INFO" />
<appender-ref ref="ASYNC_BCSS_LOG" /> <!-- 生产环境 ASYNC_BCSS_LOG -->
</root>
</log4j:configuration>
分享到:
相关推荐
### Log4J 全能配置文件详解 #### 一、概述 Log4J是一款非常流行的Java日志框架,被广泛应用于各种规模的应用程序中。它提供了灵活的日志记录机制,可以将日志输出到不同的目的地,如控制台、文件、数据库等,并且...
根据提供的文件信息,我们可以深入探讨Log4j框架的配置与最佳实践。Log4j是一个流行的Java日志框架,被广泛应用于各种规模的应用程序中。它提供了灵活的日志记录功能,可以方便地定制日志级别、格式及输出目标等。...
4. **log4j2.xml配置**:`log4j2.xml`是Log4j 2.x的配置文件,定义了日志记录的策略,包括日志级别、Appender(输出目标)、Layout(输出格式)、Filter(过滤规则)等。正确的配置能够确保日志的有效性和安全性,...
通常,一本完整的手册会包括以下几个部分:介绍Log4j的基础知识、详细说明如何配置和使用Log4j、示例和最佳实践、高级配置技巧、性能优化建议、以及Log4j的二次开发等方面内容。读者可以根据个人需要,找到对应章节...
5. **配置Log4j2**:Log4j2的配置文件(通常为log4j2.xml或log4j2.json)需要重新编写,以利用新特性并满足日志需求。例如,你可以配置日志分级(DEBUG, INFO, WARN, ERROR等),并实现日志分片以方便日志管理和分析...
首先,我们要理解Log4j的核心配置文件——`log4j.properties`。这个文件使用键值对的形式定义了日志的行为和输出设置。在`log4j.properties`中,有以下几个关键配置项与日志输出位置有关: 1. **appender**: 这个...
本文将深入解析`log4j.properties`配置文件,以及如何配置Logger、Appender和Layout。 首先,创建`log4j.properties`文件是启动Log4j功能的第一步。这个文件通常放在项目的`classes`目录下,以确保在运行时可以被...
- `log4j.appender.R`:配置滚动文件Appender,设置文件路径、最大文件大小及备份索引。 - `log4j.appender.R.layout.ConversionPattern`:定义滚动文件输出的格式化模式。 #### 四、使用场景与最佳实践 - **...
Log4j手册提供了关于如何安装和配置Log4j库的详细指南,以及如何在不同的环境和应用程序中集成Log4j的示例和最佳实践。此外,手册还介绍了高级主题,如性能优化、安全性和使用Log4j 2(这是Log4j项目的后续版本,...
使用`RollingFileAppender`首先需要在`log4j.properties`或`log4j.xml`配置文件中进行设置。例如: ``` log4j.appender.RFA=org.apache.log4j.DailyRollingFileAppender log4j.appender.RFA.File=/path/to/log...
5. **Configurator(配置器)**:配置器是设置Log4j属性的接口,通常通过`log4j.properties`或`log4j.xml`文件进行配置。 **`log4j.properties`配置文件** 在提供的`log4j.properties`文件中,开发者可以定义...
`log4j.properties`是Log4j框架的核心配置文件,用于定义日志输出的行为,包括日志级别、输出目的地、格式等。下面我们将从以下几个方面来探讨这个配置文件: 1. **日志级别**: - `DEBUG`:详细信息,用于开发...
Log4j2是一款广泛使用的Java日志记录框架,它提供了灵活的日志配置和丰富的日志输出格式。然而,近期Log4j2曝出一个重大的安全漏洞,被称为CVE-2021-44228,也被称为“Log4Shell”漏洞。这个漏洞允许攻击者通过恶意...
配置`DailyRollingFileAppender`时,我们需要在Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中指定以下内容: ```properties # 配置DailyRollingFileAppender log4j.appender.DailyRollingFile=org....
在配置Log4j时,我们会在`Log4j.properties`文件中定义日志的级别(如INFO)、输出方式(控制台或文件)以及具体的格式。例如,上述配置设置了两种输出方式:控制台输出和滚动文件输出。文件大小限制和备份策略也...
- 使用日志框架(如Log4j或SLF4J)记录操作的详细信息。 8. **并发和多线程** - 如果需要同时备份多个数据库,可以使用Java的多线程技术,例如`Thread`或`ExecutorService`。 9. **自动化** - 利用Java的定时...
在使用华大单片机J-Flash补丁包时,开发者需要注意的是,更新这些文件可能会影响到其他非华大单片机的设备支持,因此在进行操作前,最好备份原有的文件,以备不时之需。同时,确保J-Flash软件版本与补丁包相匹配,...
4. **日志配置**:如log4j.properties或logback.xml,定义了应用的日志记录级别、输出目的地和格式,对于问题排查和性能监控至关重要。 5. **环境变量和脚本**:可能包含启动、停止、重启服务器的脚本,以及环境...
- **Java**:可以使用内置的`java.util.logging.Logger`,或者使用第三方库如log4j、logback。 - **Python**:Python的标准库提供了`logging`模块,可以方便地配置和使用日志。 - **JavaScript**:Node.js中可以...
`Log4j`或`SLF4J`这类日志框架,用于记录系统运行日志,帮助排查问题。 在部署过程中,你可能需要配置Tomcat或Jetty等应用服务器,以及MySQL、Oracle等数据库。同时,还需要关注环境变量设置、数据库连接配置、...