sql >> Base de Datos >  >> RDS >> PostgreSQL

DBAppender asíncrono con inicio de sesión

Hay un mensaje de error informado por logback:

0:52:09,809 |-ERROR in [email protected]:75 - no applicable action for [dataSource], current pattern is [[configuration][appender][connectionSource][dataSource]]

Esto indica que el elemento anidado dentro no se pudo entender. Aquí está la parte relevante del archivo de configuración:

<appender name="DBAppPostgreSQL" class="ch.qos.logback.classic.db.DBAppender">
  <!-- DriverManagerConnectionSource does not have a dataSource property -->
  <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
    <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
      <driverClass>org.postgresql.Driver</driverClass>
      <url>jdbc:postgresql://127.0.0.1:5678/DB</url>
      <user>YYYYY</user>
      <password>XXX</password>
    </dataSource>
  </connectionSource>
  <sqlDialect class="ch.qos.logback.core.db.dialect.PostgreSQLDialect" />
  <insertHeaders>true</insertHeaders>
</appender>

ch.qos.logback.core.db.DriverManagerConnectionSource no tiene un dataSource propiedad mientras que ch.qos.logback.core.db.DataSourceConnectionSource lo hace. Probablemente desee configurar DBAppPostgreSQL con:

<appender name="DBAppPostgreSQL" class="ch.qos.logback.classic.db.DBAppender">
  <!-- use DataSourceConnectionSource instead of DriverManagerConnectionSource -->
  <connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource">
    <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
      <driverClass>org.postgresql.Driver</driverClass>
      <url>jdbc:postgresql://127.0.0.1:5678/DB</url>
      <user>YYYYY</user>
      <password>XXX</password>
    </dataSource>
  </connectionSource>
  <sqlDialect class="ch.qos.logback.core.db.dialect.PostgreSQLDialect" />
  <insertHeaders>true</insertHeaders>
</appender>