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]

Reply via email to