log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java (5 lines): - line 51: /** TODO Consider removing now that we require Java 8. */ - line 58: /** TODO: Use Object.class. */ - line 102: // TODO: return Object.class instead of null (though it will have a null ClassLoader) - line 155: // TODO: return Object.class - line 174: // TODO: return Object.class src/site/xdoc/manual/appenders.xml (5 lines): - line 222: - line 230: - line 240: - line 2134: (TODO: performance tests that compare performance of this appender to - line 2142: (TODO: performance test remapping various sizes.) log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HtmlTextRenderer.java (4 lines): - line 20: * TODO Renders an input as HTML output. - line 25: // TODO Auto-generated constructor stub - line 30: // TODO Auto-generated method stub - line 35: // TODO Auto-generated method stub log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java (3 lines): - line 50: * TODO All the isEnabled methods could be pushed into a filter interface. Not sure of the utility of having isEnabled - line 63: // FIXME: ditto to the above - line 300: // FIXME: this really ought to be an Iterable instead of an Iterator log4j-core/src/main/java/org/apache/logging/log4j/core/osgi/Activator.java (3 lines): - line 77: // TODO: bundle state can change during this - line 107: // TODO: plugin lifecycle code - line 122: // FIXME: STARTING instead of STARTED? log4j-core/src/main/java/org/apache/logging/log4j/core/tools/picocli/CommandLine.java (3 lines): - line 2958: // TODO remember longest concatenated option string length (issue #45) - line 4098: return str.length; // TODO count some characters as double length - line 4108: done += copy(word, columnValue, offset + done); // TODO localized length src/site/xdoc/manual/extending.xml (3 lines): - line 25: - line 530: - line 575: src/site/xdoc/manual/garbagefree.xml (2 lines): - line 607: TODO Applications that wish to reuse custom Message instances with Async Loggers should let - line 609: TODO This is not sufficient: see LOG4J2-1342, would be nice if we could solve this in a generic way. log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java (2 lines): - line 174: // TODO: would it be a terrible idea to try and find the caller ClassLoader here? - line 453: // FIXME: should we allow only one update of the factory? log4j-api/src/main/java/org/apache/logging/log4j/MarkerManager.java (2 lines): - line 145: // TODO: use java.util.concurrent - line 368: // FIXME: might want to use an initial capacity; the default is 16 (or str.length() + 16) log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/JAnsiTextRenderer.java (2 lines): - line 95: // TODO Should the keys be in an enum? - line 134: // TODO Should the keys be in an enum? log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractJacksonLayout.java (2 lines): - line 301: // TODO Jackson-based layouts have certain filters set up for Log4jLogEvent. - line 302: // TODO Need to set up the same filters for MutableLogEvent but don't know how... log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java (2 lines): - line 45: * TODO: Move this class to org.apache.logging.log4j.core because it is used from LogEvent. - line 48: * TODO: Deserialize: Try to rebuild Throwable if the target exception is in this class loader? log4j-jul/src/main/java/org/apache/logging/log4j/jul/DefaultLevelConverter.java (2 lines): - line 86: * TODO consider making public for advanced configuration. - line 93: * TODO consider making public for advanced configuration. log4j-core/src/main/java/org/apache/logging/log4j/core/util/CronExpression.java (2 lines): - line 334: //FUTURE_TODO: (QUARTZ-481) IMPROVE THIS! The following is a BAD solution to this problem. Performance will be very bad here, depending on the cron expression. It is, however A solution. - line 1663: // FUTURE_TODO: implement QUARTZ-423 log4j-1.2-api/src/main/java/org/apache/log4j/xml/DOMConfigurator.java (1 line): - line 92: // TODO Watch src/site/xdoc/manual/customconfig.xml (1 line): - line 308: log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java (1 line): - line 162: // TODO Why not make this a Map or add a Map. log4j-core/src/main/java/org/apache/logging/log4j/core/util/Transform.java (1 line): - line 131: // TODO: escaped Unicode chars. log4j-core/src/main/java/org/apache/logging/log4j/core/LogEventListener.java (1 line): - line 25: * TODO (MS) How is this class any different from Appender? log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java (1 line): - line 224: * @deprecated Not used internally, no replacement. TODO remove and make source final. log4j-api/src/main/java/org/apache/logging/log4j/util/LoaderUtil.java (1 line): - line 166: // FIXME: looking at the code for Class.newInstance(), this seems to do the same thing as above log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FormatCache.java (1 line): - line 36: // TODO: Before making public move from getDateTimeInstance(Integer,...) to int; or some other approach. log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java (1 line): - line 162: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcDatabaseManager.java (1 line): - line 260: // TODO How about also using the className? log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginAttribute.java (1 line): - line 91: // TODO: could we allow a blank value and infer the attribute name through reflection? log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java (1 line): - line 37: /** Array of appenders. TODO */ log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TriggeringPolicy.java (1 line): - line 28: public interface TriggeringPolicy /* TODO 3.0: extends LifeCycle */ { log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessageFactory.java (1 line): - line 34: // FIXME: cannot use ResourceBundle name for serialization until Java 8 log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java (1 line): - line 248: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java (1 line): - line 410: // TODO Should additivity be inherited? log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1SyslogLayout.java (1 line): - line 198: // TODO: splitting message into 1024 byte chunks? log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java (1 line): - line 101: *
  • String using {@link Charset#defaultCharset()} [TODO Should this be UTF-8 instead?]
  • log4j-api/src/main/java/org/apache/logging/log4j/message/Message.java (1 line): - line 77: * TODO Do all messages have a format? What syntax? Using a Formatter object could be cleaner. log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MarkerFilter.java (1 line): - line 155: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java (1 line): - line 82: // FIXME: should we use Matcher.quoteReplacement() here? log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java (1 line): - line 142: // TODO return (visitor.success || ignoreProcessingFailure) log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java (1 line): - line 157: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java (1 line): - line 231: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-iostreams/src/main/java/org/apache/logging/log4j/io/package-info.java (1 line): - line 19: * TODO: introduction to IoBuilder log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocatorUtil.java (1 line): - line 39: // TODO: return Object.class instead of null (though it will have a null ClassLoader) log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java (1 line): - line 468: // TODO We could parameterize this class with a TriggeringPolicy instead of type casting here. log4j-core/src/main/java/org/apache/logging/log4j/core/filter/RegexFilter.java (1 line): - line 125: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java (1 line): - line 148: // TODO should super track Configuration instead of LoggerContext? log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java (1 line): - line 456: // TODO: extract charset from content-type log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java (1 line): - line 2180: // TODO Configuration setting to propagate exceptions back to the caller *if requested* log4j-iostreams/src/main/java/org/apache/logging/log4j/io/IoBuilder.java (1 line): - line 268: // TODO: could this builder use generics to infer the desired IO class? log4j-mongodb4/src/main/java/org/apache/logging/log4j/mongodb4/MongoDb4Provider.java (1 line): - line 86: // TODO Where does this number come from? log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginProcessor.java (1 line): - line 54: // TODO: this could be made more abstract to allow for compile-time and run-time plugin processing log4j-core/src/main/java/org/apache/logging/log4j/core/config/json/JsonConfiguration.java (1 line): - line 76: // TODO: this duplicates a lot of the XmlConfiguration constructor log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java (1 line): - line 314: // TODO: wrap SLF4J 2.x LoggingEventBuilder log4j-core/src/main/java/org/apache/logging/log4j/core/util/Loader.java (1 line): - line 59: // TODO: this method could use some explanation log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/AbstractPathAction.java (1 line): - line 80: // TODO return (visitor.success || ignoreProcessingFailure) log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java (1 line): - line 33: public abstract class AbstractStyleNameConverter extends LogEventPatternConverter /*TODO: implements AnsiConverter*/ { log4j-core/src/main/java/org/apache/logging/log4j/core/config/Order.java (1 line): - line 29: // TODO: 2.2+ use this annotation for all @Plugin classes log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java (1 line): - line 203: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-core/src/main/java/org/apache/logging/log4j/core/ErrorHandler.java (1 line): - line 21: * TODO if the appender interface is simplified, then error handling could just be done by wrapping src/site/xdoc/manual/plugins.xml (1 line): - line 71: TODO: in future, plugins will be able to be annotated with @Order which can override priorities log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java (1 line): - line 51: * TODO Accessing System.out or System.err as a byte stream instead of a writer bypasses the log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/PoolingDriverConnectionSource.java (1 line): - line 128: // TODO Auto-generated method stub log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java (1 line): - line 61: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-core/src/main/java/org/apache/logging/log4j/core/LogEvent.java (1 line): - line 158: * TODO guess this could go into a thread context object too. (RG) Why? log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JdbcAppender.java (1 line): - line 82: // TODO Consider moving up to AbstractDatabaseAppender.Builder. log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java (1 line): - line 111: // TODO Do we even want a format without seconds? log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ScriptFilter.java (1 line): - line 130: // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder log4j-1.2-api/src/main/java/org/apache/log4j/Category.java (1 line): - line 423: // TODO Should this be an IllegalStateException?