-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Copy link
Labels
appendersAffects one or more Appender pluginsAffects one or more Appender pluginsbugIncorrect, unexpected, or unintended behavior of existing codeIncorrect, unexpected, or unintended behavior of existing code
Description
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.]
Metadata
Metadata
Assignees
Labels
appendersAffects one or more Appender pluginsAffects one or more Appender pluginsbugIncorrect, unexpected, or unintended behavior of existing codeIncorrect, unexpected, or unintended behavior of existing code
Type
Projects
Status
Done