The first thing I would say is please make sure you are using the current version 2.14.1.
Gary On Wed, Aug 11, 2021, 11:34 Martin Fernau <martin.fer...@cps-fernau.de> wrote: > Hello, > > I'm having the same problem and wonder if there is a complete example of > how to configure a JDBC Appender programmatically. > > I'm too getting the exception "Arguments given for element JDBC are > invalid: field 'connectionSource' has invalid value 'null'". > > Thanks > Martin > > On 2019/03/18 15:00:04, Arnold Morein <arnie.mor...@me.com.INVALID> wrote: > > I am trying to configure a JDBC logger via code (no problems using it > from XML file). > > > > I'm using Log4j2 version 2.11.2. What examples I can find are vague, > incomplete, or not related. > > > > I'm finding code that may be for log4j1 and log4-jdbc but no jars in > mvnrepository.com so is that old and deprecated now too? > > > > I have: > > > > log4j-1.2-api-2.11.2.jar > > log4j-api-2.11.2.jar > > log4j-core-2.11.2.jar > > log4j-over-slf4j-1.7.2.jar > > log4j-slf4j-impl-2.11.2.jar > > log4j-web-2.11.2.jar > > slf4j-api-1.7.26.jar > > > > in a war project. > > > > In a nut shell, the following code > > > > ColumnConfig[] columnConfigsArray = columnConfigs.toArray(new > ColumnConfig[columnConfigs.size()]); > > > > JNDIConnectionSource connectionSource = new > JNDIConnectionSource(); > > > > connectionSource.setJndiLocation(activityLogConfiguration.getDataSourceUrl()); > > > > AppenderComponentBuilder appenderBuilder = > configBuilder.newAppender(ACTIVITY_LOG_APPENDER, "JDBC") > > .addAttribute("connectionSource", connectionSource) > > .addAttribute("columnConfigs", columnConfigsArray) > > .addAttribute("tableName", > activityLogConfiguration.getSchemaNameAndTableName()) > > .addAttribute("bufferSize", > activityLogConfiguration.getBufferSize()); > > > > // complete the configuration > > appenderBuilder.build(); > > > > // build the logger and add to the appender > > AppenderRefComponentBuilder appenderRef = > configBuilder.newAppenderRef(ACTIVITY_LOG_APPENDER); > > > > LoggerComponentBuilder logger = > configBuilder.newLogger(ACTIVITY_LOG_APPENDER, Level.INFO); > > logger.add(appenderRef); > > logger.build(); > > > > configBuilder.add(logger); > > > > always results in: > > > > 09:55:16,864 INFO [stdout] (ServerService Thread Pool -- 77) > 2019-03-18 09:55:16,863 ServerService Thread Pool -- 77 ERROR No > ConnectionSource provided: connectionSource > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) > 2019-03-18 09:55:16,873 ServerService Thread Pool -- 77 ERROR Could not > create plugin of type class > org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender for element > JDBC org.apache.logging.log4j.core.config.ConfigurationException: > Arguments given for element JDBC are invalid: field 'connectionSource' > has invalid value 'null' > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.injectFields(PluginBuilder.java:209) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:959) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:899) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:891) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:514) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:238) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:204) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:161) > > 09:55:16,877 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:57) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > gov.texas.dps.itd.ias.app.logging.config.ConfigureActivityLog4j.configureLoggingForEnvironment(ConfigureActivityLog4j.java:61) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > gov.texas.dps.aamva.mock.startup.StartupServletListener.contextInitialized(StartupServletListener.java:47) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:217) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:186) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1514) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:251) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96) > > 09:55:16,878 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) at > java.util.concurrent.FutureTask.run(FutureTask.java:266) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) at > > org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) at > java.lang.Thread.run(Thread.java:748) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) at > org.jboss.threads.JBossThread.run(JBossThread.java:485) > > 09:55:16,879 INFO [stdout] (ServerService Thread Pool -- 77) > > 09:55:16,884 INFO [stdout] (ServerService Thread Pool -- 77) > 2019-03-18 09:55:16,884 ServerService Thread Pool -- 77 ERROR Null > object returned for JDBC in Appenders. > > 09:55:16,885 INFO [stdout] (ServerService Thread Pool -- 77) > 2019-03-18 09:55:16,885 ServerService Thread Pool -- 77 ERROR Unable to > locate appender "ACTIVITY_LOGGER" for logger config "ACTIVITY_LOGGER" > > > > But the connectionSource object I'm passing is is NOT null. > > > > What am I missing? > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org > For additional commands, e-mail: log4j-user-h...@logging.apache.org > >