Type |
Changes |
By |
|
(GC) Added support for garbage-free logging in steady state.
This includes Async Loggers and logging synchronously to the console and to a file,
but does not include the AsyncAppender. This release makes the GelfLayout and
the main patterns in the PatternLayout garbage-free. Fixes LOG4J2-1270. |
rpopma |
|
(GC) Added manual page on garbage-free logging. Fixes LOG4J2-1297. |
rpopma |
|
(GC) Update Logger wrapper Generator tool to generate methods for the new Logger methods. Fixes LOG4J2-1373. |
rpopma |
|
(GC) GelfLayout does now support garabage-free logging (with compressionType=OFF). Fixes LOG4J2-1356. |
mikes |
|
(GC) Added methods to the Logger interface for logging CharSequence messages. Fixes LOG4J2-1326. |
rpopma |
|
(GC) FileAppender, RollingFileAppender and MemoryMappedFileAppender are now also garbage-free by default. Fixes LOG4J2-1344. |
rpopma |
|
(GC) ConsoleAppender is now garbage-free by default. This logic is reusable for all AbstractOutputStreamAppender subclasses. Fixes LOG4J2-1343. |
rpopma |
|
(GC) Added unrolled varargs methods to Logger API, added Unbox utility to avoid auto-boxing when logging primitive values. Fixes LOG4J2-1278. |
rpopma |
|
(GC) Avoid allocating unnecessary temporary objects in LoggerContext's getLogger methods. Fixes LOG4J2-1318. |
rpopma |
|
(GC) Avoid allocating unnecessary temporary objects in MarkerManager's getMarker methods. Fixes LOG4J2-1333. |
rpopma |
|
(GC) Avoid allocating unnecessary temporary objects in PatternLayout's NamePatternConverter and ClassNamePatternConverter. Fixes LOG4J2-1321. |
rpopma |
|
(GC) Add MessageFactory that avoid allocation by reusing a cached ParameterizedMessage instance. Fixes LOG4J2-1271. |
rpopma |
|
(GC) ParameterizedMessage optimizations to avoid or at least postpone allocating temporary objects. Fixes LOG4J2-1271. |
rpopma |
|
(GC) Provide ThreadLocal-based gc-free caching mechanism in DatePatternConverter for non-webapps. Fixes LOG4J2-1283. |
rpopma |
|
(GC) Add interface StringBuilderFormattable to enable converting Messages and parameters to text without allocating temporary objects.
ParameterizedMessage, ObjectMessage, SimpleMessage and ThreadDumpMessage now implement StringBuilderFormattable. Fixes LOG4J2-1293. |
rpopma |
|
(GC) Update PatternLayout to utilize gc-free mechanism for LogEvent processing. Fixes LOG4J2-1291. |
rpopma |
|
(GC) Update RandomAccessFileAppender and RollingRandomAccessFileAppender to utilize gc-free Layout.encode() method. Fixes LOG4J2-1292. |
rpopma |
|
(GC) Add encode(LogEvent, ByteBufferDestination) method to Layout API to enable converting LogEvents to bytes without creating temporary objects. Fixes LOG4J2-1274. |
rpopma |
|
(GC) LoggerConfig.getProperties() should not allocate on each call. Fixes LOG4J2-1281. |
rpopma |
|
(GC) Improve LoggerConfig's data structure for AppenderControl objects to avoid allocating temporary objects during
traversal for each log event. Fixes LOG4J2-1272. |
rpopma |
|
(GC) AsyncLogger should use thread-local translator by default. Fixes LOG4J2-1269. |
rpopma |
|
Generate MDC properties as a JSON map in JSONLayout, with option to output as list of map entries. Fixes LOG4J2-623. |
rpopma |
|
Added a YAML layout. Fixes LOG4J2-1362. Thanks to Gary Gregory. |
rpopma |
|
Fixed memory leak related to shutdown hook. Fixes LOG4J2-1387. |
rpopma |
|
Documented benchmark results comparing Log4j 2 performance to other logging libraries. Fixes LOG4J2-1179. |
rpopma |
|
Copying a MutableLogEvent using Log4jLogEvent.Builder should not unnecessarily obtain caller location information. Fixes LOG4J2-1382. |
rpopma |
|
Document dependencies for layouts. Fixes LOG4J2-1011. |
mikes |
|
Pattern to drop first N package parts. Fixes LOG4J2-621. Thanks to Lee Theobald, Kamal Mettananda, Gary Gregory. |
ggregory |
|
Support merging configurations to for a composite configuration. Fixes LOG4J2-494. Thanks to Philipp Knobel. |
rgoers |
|
Option to not log stack traces for logged Throwables in GelfLayout. Fixes LOG4J2-1357. |
mikes |
|
Update SLF4J from 1.7.13 to 1.7.21. Fixes LOG4J2-1375. |
rpopma |
|
Migrate tests from Logback 1.1.3 to 1.1.7. Fixes LOG4J2-1374. |
rpopma |
|
Update Apache Commons CSV from 1.2 to 1.3. Fixes LOG4J2-1384. |
ggregory |
|
XMLLayout indents, but not the first child tag (Event). Fixes LOG4J2-1372. Thanks to Kamal Mettananda, Gary Gregory. |
rgoers |
|
Properties Configuration did not support includeLocation attribute on Loggers. Fixes LOG4J2-1363. |
rgoers |
|
The ConfigurationSource was not saved for BuiltConfigurations so monitor interval had no effect. Fixes LOG4J2-1263. |
rgoers |
|
"xz" compression results in plaintext, uncompressed files. Fixes LOG4J2-1369. Thanks to Alex Birch, Gary Gregory. |
ggregory |
|
(Log4j-internal) Provide message text as CharSequence for some message types to optimize some layouts. Fixes LOG4J2-1365. |
mikes |
|
(Log4j-internal) StatusLogger dropped exceptions when logging parameterized messages. Fixes LOG4J2-1368. |
rpopma |
|
Add an AutoCloseable ThreadContext class: CloseableThreadContext. Fixes LOG4J2-1348. Thanks to Greg Thomas, Gary Gregory. |
ggregory |
|
(Doc) Clarify documentation for properties that control Log4j behaviour. Fixes LOG4J2-1345. |
rpopma |
|
LoggerFactory in 1.2 API module is not compatible with 1.2. Fixes LOG4J2-1336. Thanks to Zbynek Vyskovsky. |
ggregory |
|
No configuration reload is triggered under Windows when replacing the configuration file with one that has older last modified date. Fixes LOG4J2-1354. Thanks to Arkadiusz Adolph. |
ggregory |
|
Exception from Log4jServletContextListener prevents jetty-maven-plugin run-forked. Fixes LOG4J2-1346. |
|
|
(Perf) AsyncLogger performance optimization: avoid calling instanceof TimestampMessage in hot path. Fixes LOG4J2-1339. |
rpopma |
|
Improve error handling in the Async Logger background thread: the new default exception handler no longer rethrows the error. Fixes LOG4J2-1324. |
rpopma |
|
Configuration file error does not show cause exception. Fixes LOG4J2-1309. |
ggregory |
|
Add pattern converter for thread id and priority in PatternLayout. Fixes LOG4J2-1299. |
ggregory |
|
Change flow logging text from "entry' to "Enter" and "exit" to "Exit". Fixes LOG4J2-1289. |
ggregory |
|
Made default MessageFactory configurable. Fixes LOG4J2-1284. |
rpopma |
|
Deprecate org.apache.logging.log4j.util.MessageSupplier. Fixes LOG4J2-1280. |
ggregory |
|
Logger methods taking Supplier parameters now correctly handle cases where the supplied value is a Message. Fixes LOG4J2-1280. |
rpopma |
|
FixedDateFormat was incorrect for formats having MMM with the French locale. Fixes LOG4J2-1268. |
rpopma |
|
Add enhanced entry and exit methods. Fixes LOG4J2-1255. |
rgoers |
|
Add shutdown methods to LogManager. Fixes LOG4J2-124. |
rgoers |
|
Creation of a LoggerContext will fail if shutdown is in progress. LogManager will default to SimpleLogger instead. Fixes LOG4J2-1222. |
rgoers |
|
Added async logger Timeout wait strategy and made this the default wait strategy for async loggers.
This prevents a rare deadlock that may occur on Solaris. Fixes LOG4J2-1221. Thanks to Michael Barker. |
rpopma |
|
Added option to discard events below a certain log level if the async logger ring buffer
or async appender queue is full. Fixes LOG4J2-1080. |
rpopma |
|
Make PatternLayout header and footer accept a pattern. Fixes LOG4J2-1237. Thanks to Mike Calmus, Gary Gregory. |
ggregory |
|
Make header and footer values customizable in JSONLayout. Fixes LOG4J2-1244. Thanks to Anshu Garg, Remko Popma, Gary Gregory. |
ggregory |
|
Make CSV Layout header and footers accept patterns. Fixes LOG4J2-1245. |
ggregory |
|
Dynamic Subject for SMTP Appender. Fixes LOG4J2-1192. Thanks to Jörg Bretschneider, Gary Gregory. |
ggregory |
|
FormattedMessage, MessageFormatMessage and StringFormattedMessage should support passing in a Locale to ensure appropriate formatting. Fixes LOG4J2-1277. Thanks to Gary Gregory, Ludovic Hochet. |
ggregory |
|
TlsSyslogFrame calculates message length incorrectly. Fixes LOG4J2-1260. Thanks to Blake Day, Gary Gregory. |
ggregory |
|
Async DynamicThresholdFilter does not use the log event's context map. Fixes LOG4J2-1258. Thanks to Francis Lalonde. |
ggregory |
|
Incorrect log rotation in last week of year. Fixes LOG4J2-1232. Thanks to Nikolai. |
ggregory |
|
Fixed broken nanotime in pattern layout. Fixes LOG4J2-1248. |
rpopma |
|
JSONLayout doesn't add a comma between log events. Fixes LOG4J2-908. Thanks to Konstantinos Liakos, Patrick Flaherty, Robin Coe, Gary Gregory. |
ggregory |
|
Don't concatenate SYSLOG Messages. Fixes LOG4J2-1230. Thanks to Vladimir Hudec, Ralph Goers, Gary Gregory. |
ggregory |
|
org.apache.logging.log4j.core.net.TcpSocketManager and other classes does not report internal exceptions to the status logger. Fixes LOG4J2-1238. |
ggregory |
|
Fix documentation to specify the correct default wait strategy used by async loggers. Fixes LOG4J2-1212. |
rpopma |
|
Documentation/XSD inconsistencies. Fixes LOG4J2-1215. Thanks to Erik Kemperman. |
ggregory |
|
LoggerMessageSupplierTest and LoggerSupplierTest are Locale sensitive. Fixes LOG4J2-1276. Thanks to Ludovic Hochet. |
ggregory |
|
Update Jackson from 2.7.3 to 2.7.4. Fixes LOG4J2-1380. |
ggregory |
|
Update Jackson from 2.7.0 to 2.7.2. Fixes LOG4J2-1304. |
ggregory |
|
Update LMAX Disruptor from 3.3.2 to 3.3.4. Fixes LOG4J2-1253. |
ggregory |
|
Update SLF4J from 1.7.12 to 1.7.13. Fixes LOG4J2-1219. |
ggregory |
|
Update Jackson from 2.6.3 to 2.6.4. Fixes LOG4J2-1239. |
ggregory |
|
Update Jackson from 2.6.4 to 2.7.0. Fixes LOG4J2-1249. |
ggregory |
|
Update Jackson from 2.7.2 to 2.7.3. Fixes LOG4J2-1351. |
ggregory |
|
Update Liquibase from 3.3.5 to 3.4.2. Fixes LOG4J2-1240. |
ggregory |
|
Update Kafka client from 0.9.0.0 to 0.9.0.1. Fixes LOG4J2-1294. |
ggregory |
|
Update javax.mail from 1.5.4 to 1.5.5. Fixes LOG4J2-1352. |
ggregory |
|
Update Apache Commons Compress from 1.10 to 1.11. Fixes LOG4J2-1358. |
ggregory |
|
Update Google java-allocation-instrumenter from 3.0 to 3.0.1. Fixes LOG4J2-1388. |
rpopma |
|
Misleading Value In Properties Example. Fixes LOG4J2-1233. Thanks to Bahri Gencsoy. |
ggregory |
|
Fix JUL bridge issue where LogRecord.getParameters() is used when null. Fixes LOG4J2-1251. Thanks to Romain Manni-Bucau. |
mattsicker |
|
Fix typo in Flow Tracing documentation. Fixes LOG4J2-1254. Thanks to Josh Trow. |
rpopma |
|
ClassNotFoundException for BundleContextSelector when initialising in an OSGi environment. Fixes LOG4J2-920. Thanks to Ludovic Hochet. |
mattsicker |
|
Remove serializability from classes that don't need it. Fixes LOG4J2-1300. |
mattsicker |
|
Add documentation links to runtime dependencies in each component intro page. Fixes LOG4J2-1303. |
mattsicker |
|
Fix RollingAppenderNoUnconditionalDeleteTest repeat test runs from failing. Fixes LOG4J2-1275. Thanks to Ludovic Hochet. |
mattsicker |
|
Stop throwing unnecessary exception in Log4jServletContextListener.contextDestroyed(). Fixes LOG4J2-1262. |
mattsicker |
|
JeroMqAppender should support layouts. Fixes LOG4J2-1252. |
mattsicker |
|
NullPointerException in MapLookup.lookup if the event is null. Fixes LOG4J2-1227. Thanks to Olivier Lemasle. |
mattsicker |
|
JeroMqAppender should use ShutdownCallbackRegistry instead of runtime hooks. Fixes LOG4J2-1306. |
mattsicker |
|
PatternLayout option to limit length of text. Fixes LOG4J2-1217. Thanks to Thies Wellpott. |
mattsicker |
|
Remove need to pre-specify appender et al. identifiers in property file config format. Fixes LOG4J2-1308. |
mattsicker |
|
Add a Log4jLookup class to help write log files relative to log4j2.xml. Fixes LOG4J2-1050. Thanks to Adam Retter. |
mattsicker |
|
Add JNDI lookup documentation. Fixes LOG4J2-1133. |
mattsicker |
|
JndiLookup mindlessly casts to String and should use String.valueOf(). Fixes LOG4J2-1310. |
mattsicker |
|
org.apache.logging.log4j.core.LoggerContext#updateLoggers should call firePropertyChangeEvent. Fixes LOG4J2-1206. |
mattsicker |
|
Log4jWebInitializerImpl: Use Thread instead of Class for fallback classloader. Fixes LOG4J2-248. |
mattsicker |
|
PatternLayout: Possible variable substitution in equals substitution parameter. Fixes LOG4J2-1169. Thanks to Gerald Kritzinger. |
mattsicker |
|
Update Log4j 1.x migration guide to include information about system property lookup syntax changes. Fixes LOG4J2-1322. |
mattsicker |
|
Fix NoClassDefFoundError in ReflectionUtil on Google App Engine. Fixes LOG4J2-1330. |
mattsicker |