-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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 codewaiting-for-maintainer
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 codewaiting-for-maintainer
Type
Projects
Status
In review