[ 
https://issues.apache.org/jira/browse/LOG4J2-1949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16064937#comment-16064937
 ] 

Chris Slater commented on LOG4J2-1949:
--------------------------------------

I think a solution should be integrated into Log4j.  This seems like a scenario 
that Log4j should handle out of the box.  This workaround involves copying 
Log4j source code, which is not very elegant.

As for the solution integrated into Log4j, it does not need to use my exact 
workaround.  There may be a better way to solve this issue, in particular my 
addition of the beforeStop() lifecycle method. 

> 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
>    Affects Versions: 2.8.2
>            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