Tux12Fun opened a new issue, #3947: URL: https://github.com/apache/logging-log4j2/issues/3947
## Description I want to send my Logs to a Syslog Server that only uses Syslog via SSL no SSL-Certs for Authentication. Documentation tells me that i can set only the Truststore. But if I do this i get errors for this Appender that Keystore is needed. But Keystore is optional in Doc. I don't want it because I only need a secure tunnel for the Logs. See Doc: https://logging.apache.org/log4j/2.x/manual/appenders/network.html#tls-configuration Keystore (**none** or one) <<< I wan't to set **none** ## Configuration **Version:** log4j-core-2.25.1 **Operating system:** Ubuntu 24.04 **JDK:** Runtime Environment (build 21.0.8+9-Ubuntu-0ubuntu124.04.1) ## Logs ``` <Syslog name="syslog" format="RFC5424" host="10.x.x.xxx" port="14514" protocol="SSL" id="MAIN_WORKER" enterpriseNumber="18060" appName="MAIN_WORKER" mdcId="Log4J2" includeMDC="true" facility="LOCAL7" newLine="true" newlineEscape="|__@NEWLINE@__|" reconnectionDelay="120" immediateFlush="false" ignoreExceptions="true"> <Ssl> <TrustStore location="/usr/lib/jvm/java-21-openjdk-amd64/lib/security/cacerts" password="changeit"/> </Ssl> <LoggerFields> <KeyValuePair key="class" value="%C"/> <KeyValuePair key="file" value="%F"/> <KeyValuePair key="linenr" value="%L"/> <KeyValuePair key="method" value="%M"/> <KeyValuePair key="thread" value="%t"/> <KeyValuePair key="priority" value="%p"/> <KeyValuePair key="category" value="%c"/> <KeyValuePair key="exception" value="%ex"/> </LoggerFields> </Syslog> ``` ## Logs ``` 2025-10-07T12:38:30.100664+02:00 da1.test.local java[87895]: java.lang.NullPointerException: Cannot invoke "org.apache.logging.log4j.core.net.ssl.AbstractKeyStoreConfiguration.getKeyStore()" because "keyStoreConfig" is null 2025-10-07T12:38:30.100688+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.net.SslSocketManager.lambda$createSslConfigurationId$1(SslSocketManager.java:251) 2025-10-07T12:38:30.100704+02:00 da1.test.local java[87895]: #011at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) 2025-10-07T12:38:30.100720+02:00 da1.test.local java[87895]: #011at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) 2025-10-07T12:38:30.100735+02:00 da1.test.local java[87895]: #011at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) 2025-10-07T12:38:30.100750+02:00 da1.test.local java[87895]: #011at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) 2025-10-07T12:38:30.100764+02:00 da1.test.local java[87895]: #011at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) 2025-10-07T12:38:30.100778+02:00 da1.test.local java[87895]: #011at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 2025-10-07T12:38:30.100793+02:00 da1.test.local java[87895]: #011at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) 2025-10-07T12:38:30.100808+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.net.SslSocketManager.createSslConfigurationId(SslSocketManager.java:279) 2025-10-07T12:38:30.100823+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.net.SslSocketManager.getSocketManager(SslSocketManager.java:222) 2025-10-07T12:38:30.100851+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.appender.SocketAppender.createSocketManager(SocketAppender.java:579) 2025-10-07T12:38:30.100865+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.appender.SyslogAppender$Builder.build(SyslogAppender.java:151) 2025-10-07T12:38:30.100880+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.appender.SyslogAppender$Builder.build(SyslogAppender.java:49) 2025-10-07T12:38:30.100894+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124) 2025-10-07T12:38:30.100913+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1206) 2025-10-07T12:38:30.100933+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1125) 2025-10-07T12:38:30.100976+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1117) 2025-10-07T12:38:30.100994+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:715) 2025-10-07T12:38:30.101009+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:271) 2025-10-07T12:38:30.101024+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:324) 2025-10-07T12:38:30.101040+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:697) 2025-10-07T12:38:30.101057+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:786) 2025-10-07T12:38:30.101077+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:808) 2025-10-07T12:38:30.101092+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:311) 2025-10-07T12:38:30.101106+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:264) 2025-10-07T12:38:30.101120+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:48) 2025-10-07T12:38:30.101136+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.LogManager.getContext(LogManager.java:119) 2025-10-07T12:38:30.101153+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:624) 2025-10-07T12:38:30.101167+02:00 da1.test.local java[87895]: #011at main_worker.MAIN_WORKER.<clinit>(MAIN_WORKER.java:226) 2025-10-07T12:38:30.101185+02:00 da1.test.local java[87895]: 2025-10-07T10:38:30.100273465Z main ERROR Unable to invoke factory method in class org.apache.logging.log4j.core.appender.SyslogAppender for element Syslog: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.SyslogAppender 2025-10-07T12:38:30.101203+02:00 da1.test.local java[87895]: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.SyslogAppender 2025-10-07T12:38:30.101221+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:268) 2025-10-07T12:38:30.101252+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:140) 2025-10-07T12:38:30.101266+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1206) 2025-10-07T12:38:30.101281+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1125) 2025-10-07T12:38:30.101301+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1117) 2025-10-07T12:38:30.101316+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:715) 2025-10-07T12:38:30.101330+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:271) 2025-10-07T12:38:30.101348+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:324) 2025-10-07T12:38:30.101363+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:697) 2025-10-07T12:38:30.101377+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:786) 2025-10-07T12:38:30.101390+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:808) 2025-10-07T12:38:30.101404+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:311) 2025-10-07T12:38:30.101417+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:264) 2025-10-07T12:38:30.101431+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:48) 2025-10-07T12:38:30.101445+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.LogManager.getContext(LogManager.java:119) 2025-10-07T12:38:30.101458+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:624) 2025-10-07T12:38:30.101472+02:00 da1.test.local java[87895]: #011at main_worker.MAIN_WORKER.<clinit>(MAIN_WORKER.java:226) 2025-10-07T12:38:30.105334+02:00 da1.test.local java[87895]: 2025-10-07T10:38:30.105162509Z main ERROR Null object returned for Syslog in Appenders. 2025-10-07T12:38:30.109128+02:00 da1.test.local java[87895]: 2025-10-07T10:38:30.109004965Z main INFO Starting configuration XmlConfiguration[location=/home/data_exchange/daex/MAIN_WORKER/log4j2.xml, lastModified=2025-10-07T10:38:15.951Z]... 2025-10-07T12:38:30.109364+02:00 da1.test.local java[87895]: 2025-10-07T10:38:30.109277378Z main INFO Start watching for changes to [/home/data_exchange/daex/MAIN_WORKER/log4j2.xml] every 120 seconds 2025-10-07T12:38:30.111050+02:00 da1.test.local java[87895]: 2025-10-07T10:38:30.110949904Z main ERROR No appender named syslog was configured 2025-10-07T12:38:30.111246+02:00 da1.test.local java[87895]: Exception in thread "main" java.lang.ExceptionInInitializerError 2025-10-07T12:38:30.111285+02:00 da1.test.local java[87895]: Caused by: org.apache.logging.log4j.core.config.ConfigurationException: No appenders are available for AsyncAppender AsyncSyslog 2025-10-07T12:38:30.111309+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.appender.AsyncAppender.start(AsyncAppender.java:123) 2025-10-07T12:38:30.111325+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:344) 2025-10-07T12:38:30.111353+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:697) 2025-10-07T12:38:30.111369+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:786) 2025-10-07T12:38:30.111384+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:808) 2025-10-07T12:38:30.111406+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:311) 2025-10-07T12:38:30.111421+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:264) 2025-10-07T12:38:30.111435+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:48) 2025-10-07T12:38:30.111449+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.LogManager.getContext(LogManager.java:119) 2025-10-07T12:38:30.111469+02:00 da1.test.local java[87895]: #011at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:624) 2025-10-07T12:38:30.111484+02:00 da1.test.local java[87895]: #011at main_worker.MAIN_WORKER.<clinit>(MAIN_WORKER.java:226) 2025-10-07T12:38:30.141806+02:00 da1.test.local systemd[1]: ce_main_worker.service: Main process exited, code=exited, status=1/FAILURE 2025-10-07T12:38:30.141996+02:00 da1.test.local systemd[1]: ce_main_worker.service: Failed with result 'exit-code'. ``` ## Reproduction [An isolated test reproducing the test. JUnit tests similar to the ones in the code base are extremely appreciated.] -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
