2.0-beta4

Release date

2013-01-28

Added

  • Add MessageFormatMessage and FormattedMessage.

  • Added Flume Appender samples.

  • Added Log4j 2 to SLF4J adapter.

  • Added hostName and contextName to property map.

  • Add SMTPAppender. (LOG4J2-131)

  • Allow custom message creation via a message factory. (LOG4J2-133)

  • Use %red, %white, %blue, and so on in the console appender. (LOG4J2-134)

Changed

  • Renamed log4j12-api to log4j-1.2-api. (LOG4J2-110)

  • Add unit test to verify exceptions are thrown when the socket connection fails. (LOG4J2-122)

  • Add follow attribute to Console Appender. (LOG4J2-128)

  • Allow newlines to be escaped in Syslog and RFC5424 layouts. Allow Throwables to be included in the output from RFC5424Layout. (LOG4J2-136)

Fixed

  • Allow FlumeAvroManager to initialize even if it cannot connect to an agent.

  • Enhanced javadoc copyright statement. (LOG4J2-111)

  • StructuredDataFilter createFilter was annotated with PluginAttr instead of PluginElement for the KeyValuePairs. (LOG4J2-113)

  • StructuredDataMessage was validating the length of the values in the event Map instead of the lengths of the keys. (LOG4J2-114)

  • ThreadContext Map elements with null values are now ignored when constructing a Flume event and in the RFC5424 Layout. (LOG4J2-115)

  • File renaming was using the wrong date value. Enhanced DefaultRolloverStrategy to store newest files in highest index as well as lowest. (LOG4J2-116)

  • A broken socket connection would cause the TCPSocketManager to continuously reconnect. (LOG4J2-119)

  • TCPSocketManager would fail if the initial connection could not be established. (LOG4J2-120)

  • The example for ThreadContextMapFilter was incorrect. (LOG4J2-123)

  • JMSQueue and JMSTopic Appenders did not allow name to be specified. (LOG4J2-125)

  • Allow JMS appenders to recover if the queue or topic is unavailable. (LOG4J2-126)

  • AbstractLogger methods were not passing Markers to the isEnabled methods. (LOG4J2-127)

  • RoutingAppender was only creating a single appender for the default Route. (LOG4J2-129)

  • PatternLayout should format throwables without requiring a converter. (LOG4J2-130)

  • AbstractLogger.catching(Throwable) checks for DEBUG level but logs at ERROR level. (LOG4J2-132)

  • BaseConfiguration does not close the first appender. (LOG4J2-135)

  • Fix hang in Dumbster SMTP test server. (LOG4J2-137)

  • Fix null pointer exception in SocketAppender if no protocol is specified. The protocol will default to TCP for the SocketAppender and UDP for the SyslogAppender. (LOG4J2-139)

  • Typo in documentation of SocketAppender. (LOG4J2-140)

  • Serialized LogEvents were not reset in the output stream causing them to deserialize incorrectly. (LOG4J2-142)

  • MessagePatternConverter now returns "null" if the log message is null. (LOG4J2-143)

  • NullPointerException in RFC5424Layout. (LOG4J2-144)

  • Add missing serial version IDs. (LOG4J2-145)

  • ThreadContextMapFilter was matching on the key instead of the value of the key. (LOG4J2-147)

  • SMTPAppender will only cache filtered events. (LOG4J2-149)

  • Convert all System.getProperty calls to use PropertiesUtil to suppress SecurityExceptions. (LOG4J2-150)

  • RollingFileAppender’s FileRenameAction was throwing a NullPointerException if no directory was specified on the target file name. (LOG4J2-152)

  • LocalizedMessageTest fails on linux system. (LOG4J2-156)