Hey everyone.
I just updated to beta7 and my sandbox that previously worked is now throwing
up the following error upon startup:
2013-06-09 16:31:30,630 DEBUG Calling createLayout on class
org.apache.logging.log4j.core.layout.SerializedLayout for element
SerializedLayout
2013-06-09 16:31:30,633 DEBUG Calling createAppender on class
org.apache.logging.log4j.core.appender.SocketAppender for element Socket with
params(host="localhost", port="4560", protocol="null",
reconnectionDelay="null", immediateFail="null", name="Socket",
immediateFlush="null", suppressExceptions="null",
SerializedLayout(org.apache.logging.log4j.core.layout.SerializedLayout@9d379d2),
null, advertise="null",
Configuration(/Users/huxi/Documents/Projects/huxi/lilith/sandbox/log4j2-sandbox/build/resources/main/log4j2.xml))
2013-06-09 16:31:30,634 ERROR Unable to invoke method createAppender in class
org.apache.logging.log4j.core.appender.SocketAppender for element Socket
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.apache.logging.log4j.core.config.BaseConfiguration.createPluginObject(BaseConfiguration.java:765)
at
org.apache.logging.log4j.core.config.BaseConfiguration.createConfiguration(BaseConfiguration.java:529)
at
org.apache.logging.log4j.core.config.BaseConfiguration.createConfiguration(BaseConfiguration.java:521)
at
org.apache.logging.log4j.core.config.BaseConfiguration.doConfigure(BaseConfiguration.java:170)
at
org.apache.logging.log4j.core.config.BaseConfiguration.start(BaseConfiguration.java:123)
at
org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:331)
at
org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:370)
at
org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:149)
at
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:85)
at
org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:34)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:360)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:319)
at de.huxhorn.lilith.sandbox.Log4j2Sandbox.main(Log4j2Sandbox.java:43)
Caused by: java.lang.NullPointerException
at
org.apache.logging.log4j.core.appender.SocketAppender.createAppender(SocketAppender.java:120)
... 17 more
My configuration looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="debug">
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level
%logger{36} --- %msg%n"/>
</Console>
<Socket name="Socket" host="localhost" port="4560">
<SerializedLayout />
</Socket>
</appenders>
<loggers>
<root level="all">
<appender-ref ref="Console"/>
<appender-ref ref="Socket"/>
</root>
</loggers>
</configuration>
This is related to missing protocol attribute in the SocketAppender definition
and is fixable by defining it like this:
<Socket name="Socket" host="localhost" port="4560" protocol="TCP">
<SerializedLayout />
</Socket>
But I thought that in the absence of a defined protocol, TCP was supposed to be
assumed.
Cheers,
Jörn.
On 8. Juni 2013 at 20:14:39, Ralph Goers ([email protected]) wrote:
The Apache Log4j 2 team is pleased to announce the Log4j 2.0-beta7 release!
Apache log4j is a well known framework for logging application behavior. Log4j
2 is an upgrade to
Log4j that provides significant improvements over its predecessor, Log4j 1.x,
and provides
many of the improvements available in Logback while fixing some inherent
problems in Logback's
architecture.
This is the ninth release of Log4j 2 and is being made available to encourage
use and feedback from the community.
Bug fixes and enhancements
Changes in this version include:
New features:
o LOG4J2-10: Break up core into multiple osgi jars. Thanks to Timothy Ward.
o LOG4J2-229: New JDBC, JPA, and NoSQL database Appenders. Thanks to
beamerblvd.
o LOG4J2-251: Provide configuration information (location, content type,
content if possible) via a registered Advertiser.
Fixed Bugs:
o LOG4J2-263: Do not allow a charset on RFC5424Layout - use UTF-8.
o LOG4J2-242: StringFormattedMessage and MessageFormatMessage now will accept a
Throwable as their last argument and
pass it on.
o LOG4J2-269: Use transaction when batch size is 1.
o LOG4J2-268: Add guid to FlumeEvent headers for non-Map Messages.
o LOG4J2-246: Data buffer is reset in finally clause.
o LOG4J2-228: UDP now sends one event per packet.
o LOG4J2-261: Add missing "not" to error message. Thanks to Edward Sargisson.
o LOG4J2-223: Remove LoggerContext when LoggerContext is stopped.
o LOG4J2-260: XML layout does not specify charset in content type.
o LOG4J2-259: HTML layout does not specify charset in content type.
o LOG4J2-258: HTML layout does not output meta element for charset.
o LOG4J2-257: XML layout ignores charset for the XML processing intruction's
encoding attribute.
o LOG4J2-255: Multi-byte character strings are now assumed to be in the
platform default encoding, not UTF-8.
o LOG4J2-254: Mark OutputStream in OutputStreamManager as volatile. Mark header
and footer as final.
o LOG4J2-244: Rewrite Appender was ignoring filters on referenced appenders.
o LOG4J2-245: Avoid EmptyStack exception if getCallerClass and SecurityManager
are not available.
o LOG4J2-247: SocketServer.isActive should be volatile because it is accessed
from different threads.
Changes:
o LOG4J2-249: Allow context parameters in Log4jContextListener to include
properties.
o LOG4J2-243: Allow custom LogEventFactories.
o LOG4J2-262: Add support for interceptors in the embedded Flume Appender.
Thanks to Edward Sargisson.
o Method name changes in interface
org.apache.logging.log4j.spi.ThreadContextMap:
getContext() to getCopy(), get() to getImmutableMapOrNull().
o LOG4J2-154: Improve ThreadContext performance with copy-on-write map and
stack.
Apache Log4j 2.0-beta7 requires a minimum of Java 6 to build and run. Basic
compatibility with
Log4j 1.x is provided through the log4j-1.2-api component, however it does not
implement some of the
very implementation specific classes and methods. The package names and Maven
groupId have been changed to
org.apache.logging.log4j to avoid any conflicts with log4j 1.x.
For complete information on Apache Log4j 2, including instructions on how to
submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Log4j 2 website:
http://logging.apache.org/log4j/2.x/
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]