## JIRA Report
Type | Key | Summary | By | Status | Resolution | Fix Version
--- | --- | --- | --- | --- | --- | ---
New Feature | LOG4J2-868 | Allow shutdown hook registration handling to be customizable | Matt Sicker | Resolved | Fixed | 2.1
Bug | LOG4J2-832 | ThrowableProxy fails if a class in logged stack trace throws java.lang.Error from initializer |  | Closed | Fixed | 2.1
Improvement | LOG4J2-745 | Plugins can cause ConverterKeys collisions with unpredictable results | Matt Sicker | Resolved | Fixed | 2.1
Improvement | LOG4J2-741 | Reinstate the package attribute for discovering custom plugins | Remko Popma | Closed | Fixed | 2.0.1
Bug | LOG4J2-713 | Android: java.lang.VerifyError: org/apache/logging/log4j/core/util/Closer |  | Resolved | Fixed | 2.0.1
Bug | LOG4J2-703 | Android: Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup |  | Resolved | Fixed | 2.0, 2.0.1
Bug | LOG4J2-664 | Plugins data file needs to be in META-INF for OSGi compatibility. | Matt Sicker | Closed | Fixed | 2.0-rc2
Bug | LOG4J2-570 | Memory Leak | Matt Sicker | Resolved | Fixed | 2.0-rc2
Bug | LOG4J2-442 | Log4j2 Database insert problem in Websphere | Nick Williams | Resolved | Fixed | 2.0-rc1
Bug | LOG4J2-404 | "@EnterpriseNumber" is missing in the ID of structured data when RFC5424Layout is used |  | Closed | Fixed |
Bug | LOG4J2-391 | Flume appender crashes when lock timeout occurs |  | Closed | Fixed | 2.1
Question | LOG4J2-365 | ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogge |  | Closed | Fixed | 2.0-beta7
Bug | LOG4J2-346 | Cyclic dependency in OSGi-context. Apache Log4j SLF4J Binding <-> slf4j-api | Matt Sicker | Resolved | Fixed | 2.0-rc2
Bug | LOG4J2-345 | logging.log4j-1.2-api doesn't export the log4j API 1.2. Dependent bundles can not be resolved. | Matt Sicker | Resolved | Fixed | 2.0-rc2
Improvement | LOG4J2-333 | Match artifact ids with Maven module names | Gary Gregory | Closed | Fixed | 2.0-beta9
Bug | LOG4J2-255 | Multi-byte character strings are scrambled in log output | Remko Popma | Closed | Fixed | 2.0-beta7
Bug | LOG4J2-254 | Race condition when setting new filename in RollingFileAppender related code |  | Closed | Fixed | 2.0-beta7
Bug | LOG4J2-245 | EmptyStackException when logging exceptions with Log4J2 in Java 8 |  | Resolved | Fixed | 2.0-beta7
Bug | LOG4J2-156 | LocalizedMessageTest fails on linux system |  | Resolved | Fixed | 2.0-beta4
Bug | LOG4J2-51 | ClassCastException in Category logger | Ralph Goers | Closed | Fixed |
Bug | LOG4J2-965 | System.out no longer works after the Console appender and JANSI are initialized |  | Resolved | Fixed | 2.3
Bug | LOG4J2-957 | Missing toUpperCase(Locale.ENGLISH) |  | Closed | Fixed | 2.2
Question | LOG4J2-943 | How to configure StatisticsCsvLayout in log4j2 ? |  | Closed | Fixed | 2.1
Bug | LOG4J2-938 | org.apache.logging.log4j.core.jmx.Server never shuts down the ExecutorService it creates | Remko Popma | Closed | Fixed | 2.2
Bug | LOG4J2-819 | PermGen OutOfMemoryError when reloading webapp on Tomcat 6 |  | Resolved | Fixed | 2.1
Bug | LOG4J2-697 | Self written Appender stopped working |  | Resolved | Fixed | 2.0-rc2
Bug | LOG4J2-679 | Log rotation partly failed with error: "Unable to create directory ..." | Remko Popma | Resolved | Fixed | 2.0.2
Bug | LOG4J2-659 | Log files not properly rolled over to the folder. |  | Closed | Fixed |
Bug | LOG4J2-619 | Unable to recover after loading corrupted XML |  | Closed | Fixed | 2.0-rc2
Bug | LOG4J2-605 | NoSQL appender logging password in clear text. | Matt Sicker | Resolved | Fixed | 2.0-rc2
Bug | LOG4J2-591 | Log4j closes MongoDB connections after the first log message | Matt Sicker | Resolved | Fixed | 2.0-rc2
Bug | LOG4J2-542 | LogEvents with exceptions fail to deserialize | Ralph Goers | Resolved | Fixed | 2.0-rc2
Bug | LOG4J2-452 | Log4j2 should not automatically start in Servlet 3.0 | Nick Williams | Resolved | Fixed | 2.0-rc1
Bug | LOG4J2-437 | Log4J2 Performs poorly with 500 concurrent users with Jboss 5.1.GA and JDK 6 |  | Resolved | Fixed |
Bug | LOG4J2-434 | exception related data put into one log file and rest of them put into another log file |  | Resolved | Fixed | 2.0
Bug | LOG4J2-377 | NPE during shutdown. |  | Resolved | Fixed | 2.0-rc1, 2.0
Bug | LOG4J2-373 | Classloader issue in OSGi-environment | Matt Sicker | Resolved | Fixed | 2.0.1
Bug | LOG4J2-358 | NoSQLAppender using MongoDB provider ignores username and password attributes | Nick Williams | Resolved | Fixed | 2.0-beta9
Bug | LOG4J2-322 | Endless loop in ThrowableProxy.getCurrentStack | Nick Williams | Closed | Fixed | 2.0-beta9
Bug | LOG4J2-289 | Change Javadoc generation per CVE-2013-1571, VU#225657 |  | Resolved | Fixed | 2.0-beta8
Bug | LOG4J2-223 | IllegalStateException thrown during Tomcat shutdown |  | Closed | Fixed | 2.0-beta7
Bug | LOG4J2-205 | Deadlock with SocketAppender | Ralph Goers | Resolved | Fixed | 2.0-beta5
Bug | LOG4J2-169 | LogManager.getLogger doesn't work | Ralph Goers | Resolved | Fixed | 2.0-beta5
Bug | LOG4J2-158 | RFC5424 SD PARAM/VALUE escaping | Ralph Goers | Closed | Fixed | 2.0-beta5
Bug | LOG4J2-142 | Exception while deserializing event from SocketAppender | Ralph Goers | Closed | Fixed | 2.0-beta4
Bug | LOG4J2-119 | Socket/Syslog reconnectionDelay results in constant reconnects | Ralph Goers | Closed | Fixed | 2.0-beta4
Bug | LOG4J2-102 | Bad priority in Syslog messages |  | Closed | Fixed | 2.0-beta3
Bug | LOG4J2-80 | level not tested when slf4j-impl and org.slf4j:jcl-over-slf4j | Ralph Goers | Closed | Fixed | 2.0-beta1
Bug | LOG4J2-1009 | Incorrectly defined compressionType parameter to GelfLayout |  | Resolved | Fixed | 2.3
Bug | LOG4J2-1008 | org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.extractPath(URL) incorrectly converts '+' characters to spaces |  | Resolved | Fixed | 2.3
Bug | LOG4J2-1007 | org.apache.logging.log4j.core.util#fileFromUri(URI uri) incorrectly converts '+' characters to spaces |  | Resolved | Fixed | 2.3
Improvement | LOG4J2-1005 | Update Slf4j from 1.7.7 to 1.7.12 |  | Closed | Fixed | 2.3
Improvement | LOG4J2-1004 | Update from Jackson 2.5.1 to 2.5.3 |  | Closed | Fixed | 2.3
Bug | LOG4J2-1003 | JUL Logger.throwing is mis-mapped to ERROR when it should be TRACE |  | Resolved | Fixed | 2.3
Improvement | LOG4J2-998 | Make org.apache.logging.log4j.core.Logger#updateConfiguration protected |  | Resolved | Fixed | 2.3
Improvement | LOG4J2-995 | Improve documentation of Charsets class | Ralph Goers | Closed | Fixed | 2.3
Bug | LOG4J2-993 | Potential deadlock if a new Logger is created while log4j is reconfiguring in another thread | Ralph Goers | Resolved | Fixed | 2.3
Bug | LOG4J2-991 | Async root logger config is defaulting includeLocation to true without use of Log4jContextSelector system property | Remko Popma | Resolved | Fixed | 2.3
Bug | LOG4J2-988 | Update LMAX Disruptor from 3.3.0 to 3.3.2 |  | Closed | Fixed | 2.3
Bug | LOG4J2-987 | Migrate tests from Logback 1.1.2 to 1.1.3 |  | Closed | Fixed | 2.3
Improvement | LOG4J2-984 | PatternLayout %highlight to support noConsoleNoAnsi like %style |  | Closed | Fixed | 2.3
Bug | LOG4J2-972 | org.apache.logging.log4j.core.net.ssl.TlsSyslogInputStreamReader does not need to create temp Integer objects |  | Resolved | Fixed | 2.3
Bug | LOG4J2-971 | Another bad priority in Syslog messages |  | Closed | Fixed | 2.3
Bug | LOG4J2-968 | SyslogLayout contains extra space |  | Closed | Fixed | 2.3
Bug | LOG4J2-966 | KeyStoreConfiguration.createKeyStoreConfiguration() ignores keyManagerFactoryAlgorithm |  | Resolved | Fixed | 2.3
Bug | LOG4J2-964 | StringFormattedMessage serialization is incorrect |  | Closed | Fixed | 2.3
Improvement | LOG4J2-958 | Update from Jackson 2.5.0 to 2.5.1 |  | Resolved | Fixed | 2.2
Improvement | LOG4J2-955 | Improve documentation for StatusLogger properties | Remko Popma | Resolved | Fixed | 2.2
Bug | LOG4J2-946 | [docs] Using Log4j 2 in Web Applications: Update example (Log4jWebLifeCycle is not visible) |  | Resolved | Fixed | 2.2
Bug | LOG4J2-944 | Log4j Flume appender is not adding millisecond to the event headers when the event is logged at 000 milliseconds. |  | Resolved | Fixed | 2.2
Improvement | LOG4J2-942 | Update from Jackson 2.4.4 to 2.5.0 |  | Resolved | Fixed | 2.2
Improvement | LOG4J2-941 | Allow JSON layout to create one compact log record per line |  | Resolved | Fixed | 2.2
Bug | LOG4J2-933 | HTML layout should not use attribute minimalization for hr noshade |  | Resolved | Fixed | 2.2
Bug | LOG4J2-931 | ConsoleAppender is missing @PluginFactory annotation at createAppender method |  | Closed | Fixed | 2.2
Improvement | LOG4J2-926 | Truncate from the end of text format modifier |  | Resolved | Fixed | 2.3
Bug | LOG4J2-912 | XML configuration does not report full error message for XInclude parser configuration problems | Gary Gregory | Resolved | Fixed | 2.2
Improvement | LOG4J2-910 | Update Jackson from 2.4.3 to 2.4.4 | Gary Gregory | Resolved | Fixed | 2.2
Bug | LOG4J2-903 | ClassLoaderContextSelector uses ClassLoader.toString() as a key |  | Closed | Fixed | 2.2
Bug | LOG4J2-901 | Update docs for SyslogAppender: "No structured id name was supplied" |  | Resolved | Fixed | 2.2
Improvement | LOG4J2-900 | Update Apache Flume from 1.5.0.1 to 1.5.2 |  | Resolved | Fixed | 2.2
Bug | LOG4J2-897 | Javadoc for org.apache.log4j.BasicConfigurator.configure() is incorrect | Gary Gregory | Resolved | Fixed | 2.2
Bug | LOG4J2-893 | NullPointerException on core.Logger$PrivateConfig.filter() when mapping JUL to Log4j2 |  | Resolved | Fixed |
Bug | LOG4J2-892 | JUL adapter does not map Log4j's FATAL level to a JUL level | Gary Gregory | Resolved | Fixed |
Bug | LOG4J2-891 | AbstractLifecycle should not implement equals() and hashCode() |  | Resolved | Fixed | 2.2
Improvement | LOG4J2-884 | Update org.eclipse.osgi from 3.6.0 to 3.7.1. | Gary Gregory | Resolved | Fixed | 2.2
Improvement | LOG4J2-883 | Update tests from org.apache.felix.framework 4.2.1 to 4.4.1. |  | Resolved | Fixed | 2.2
Improvement | LOG4J2-882 | Update maven-core from 3.1.0 to 3.2.3 | Gary Gregory | Resolved | Fixed | 2.2
Improvement | LOG4J2-881 | Update Jackson from 2.4.2 to 2.4.3 | Gary Gregory | Resolved | Fixed | 2.2
Improvement | LOG4J2-876 | Some typo fixes and enhancements for the site |  | Closed | Fixed | 2.1
Bug | LOG4J2-862 | Misleading error message "Log4j2 could not find a logging implementation. Please add log4j-core to the classpath." | Matt Sicker | Closed | Fixed | 2.1
Bug | LOG4J2-861 | Broken link on left side nav menu to Extending Log4j Configuration > Manual | Remko Popma | Closed | Fixed | 2.1
Improvement | LOG4J2-856 | Maven and Ivy page is missing build documentation for log4j-nosql, log4j-jul and log4j-iostreams | Remko Popma | Closed | Fixed | 2.1
Bug | LOG4J2-855 | Broken links on Appenders manual page | Remko Popma | Closed | Fixed | 2.1
Improvement | LOG4J2-848 | Add a Java lookup to provide nicely formatted runtime version information | Gary Gregory | Resolved | Fixed | 2.1
Task | LOG4J2-845 | Add API version 2.1.0 to Log4j providers | Matt Sicker | Closed | Fixed | 2.1
Improvement | LOG4J2-844 | Update JMH to 1.1 from 0.7.2 | Remko Popma | Closed | Fixed | 2.1
Sub-task | LOG4J2-843 | Migrate JpaHyperSqlAppenderTest#testPerformanceOfAppenderWith10000EventsUsingBasicEntity to log4j-perf | Remko Popma | Closed | Fixed | 2.1
Sub-task | LOG4J2-842 | Migrate JpaH2AppenderTest#testPerformanceOfAppenderWith10000EventsUsingBasicEntity to log4j-perf | Remko Popma | Closed | Fixed | 2.1
Sub-task | LOG4J2-841 | Migrate JdbcHyperSqlAppenderTest#testPerformanceOfAppenderWith1000Events() to log4j-perf | Remko Popma | Closed | Fixed | 2.1
Sub-task | LOG4J2-840 | Migrate JdbcH2AppenderTest#testPerformanceOfAppenderWith1000Events() to log4j-perf | Remko Popma | Closed | Fixed | 2.1