[ 
https://issues.apache.org/jira/browse/LOG4J2-1949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Slater updated LOG4J2-1949:
---------------------------------
    Description: 
With the following sample config:
{code:xml}
        <JDBC name="AuditLog-Database" tableName="audit" 
ignoreExceptions="false" bufferSize="250">
            <ConnectionFactory class="com.example.MyConnectionFactory" 
method="getConnection"/>
            <Column name="D_TIME" isEventTimestamp="true"/>
            <ColumnMapping name="AUDIT_ID" pattern="%X{AUDIT.ID}"/>
            <ColumnMapping name="AUDIT_MESSAGE" pattern="%X{AUDIT.MESSAGE}"/>
        </JDBC>
        <RollingFile name="AuditLog-Failover-File"
                     fileName="${sys:env.home}/log/failover.log"
                     
filePattern="${sys:env.home}/log/failover.%d{yyyy-MM-dd}.log"
                     ignoreExceptions="false">
            <PatternLayout>
                <pattern>%d{ISO8601}| %X{AUDIT.ID}| 
%X{AUDIT.MESSAGE}%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
        <Failover name="AuditLog" primary="AuditLog-Database">
            <Failovers>
                <AppenderRef ref="AuditLog-Failover-File"/>
            </Failovers>
        </Failover>
{code}

If the database fails, the contents of the buffer are not written to the 
failover log file.


  was:
With the following sample config:
{code:xml}
        <JDBC name="AuditLog-Database" tableName="audit" 
ignoreExceptions="false" bufferSize="250">
            <ConnectionFactory class="com.example.MyConnectionFactory" 
method="getConnection"/>
            <Column name="D_TIME" isEventTimestamp="true"/>
            <ColumnMapping name="AUDIT_ID" pattern="%X{AUDIT.ID}"/>
            <ColumnMapping name="AUDIT_MESSAGE" pattern="%X{AUDIT.MESSAGE}"/>
        </JDBC>
        <RollingFile name="AuditLog-Failover-File"
                     fileName="${sys:env.home}/log/failover.log"
                     
filePattern="${sys:env.home}/log/failover.%d{yyyy-MM-dd}.log"
                     ignoreExceptions="false">
            <PatternLayout>
                <pattern>%d{ISO8601}| %X{AUDIT.ID}| 
%X{AUDIT.MESSAGE}%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
        <Failover name="AuditLog" primary="AuditLog-Database">
            <Failovers>
                <AppenderRef ref="AuditLog-Failover-File"/>
            </Failovers>
        </Failover>
{code}

If the database fails, the contents of the buffer are not written to the 
failover log file.  Once the buffer fills, new log entries are written to the 
file but buffered entries are lost if the database does not come back or the 
application is shut down.



> On failover from JDBC appender, contents of buffer are not written to 
> failover appender
> ---------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-1949
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1949
>             Project: Log4j 2
>          Issue Type: Bug
>            Reporter: Chris Slater
>
> With the following sample config:
> {code:xml}
>         <JDBC name="AuditLog-Database" tableName="audit" 
> ignoreExceptions="false" bufferSize="250">
>             <ConnectionFactory class="com.example.MyConnectionFactory" 
> method="getConnection"/>
>             <Column name="D_TIME" isEventTimestamp="true"/>
>             <ColumnMapping name="AUDIT_ID" pattern="%X{AUDIT.ID}"/>
>             <ColumnMapping name="AUDIT_MESSAGE" pattern="%X{AUDIT.MESSAGE}"/>
>         </JDBC>
>         <RollingFile name="AuditLog-Failover-File"
>                      fileName="${sys:env.home}/log/failover.log"
>                      
> filePattern="${sys:env.home}/log/failover.%d{yyyy-MM-dd}.log"
>                      ignoreExceptions="false">
>             <PatternLayout>
>                 <pattern>%d{ISO8601}| %X{AUDIT.ID}| 
> %X{AUDIT.MESSAGE}%n</pattern>
>             </PatternLayout>
>             <Policies>
>                 <TimeBasedTriggeringPolicy />
>             </Policies>
>         </RollingFile>
>         <Failover name="AuditLog" primary="AuditLog-Database">
>             <Failovers>
>                 <AppenderRef ref="AuditLog-Failover-File"/>
>             </Failovers>
>         </Failover>
> {code}
> If the database fails, the contents of the buffer are not written to the 
> failover log file.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to