I think AbstractConfiguration (along with XmlConfiguration and JsonConfiguration) seems like a good candidate. I've had it on a list of mine to try to refactor one day. As Ralph said, Logger is pretty off limits being a public API (the duplication is somewhat intentional for user convenience and optimizations), and LogEvent would be somewhat difficult. I'd add that LogEvent has a serialization format to worry about, but we've also been discouraging the use of serialization, so that may not be as big a deal.
On 19 July 2017 at 07:39, Apache <[email protected]> wrote: > Logger is the main interface for logging. I am not sure why we would want > to refactor it. It is also part of the public API so any changes must be > backward compatible. The LogEvent is the class that captures the logging > data. It has several variations as you can see. Although it is not part of > the API, it is used by lots of things so any changes have to be done > carefully. Finally, the configuration classes are how the user tells Log4J > what to do. All the various configurations use AbstractConfiguration. > > All this is to say that the classes you named are at the heart of Log4J. > That doesn't mean they can't be improved, but whatever is done must be done > very carefully. > > Ralph > > > On Jul 19, 2017, at 5:00 AM, Dominik Psenner <[email protected]> wrote: > > > > Hi, > > > > You should do atomar modifications in single commits and file one pull > > request for a sensible set of patches. Remember to also write sensible > > commit messages that explain what is done and why it is done. This allows > > easy and fast code reviews. Github is great for doing all but the actual > > coding. > > > > Cheers > > > > On 19 Jul 2017 1:47 p.m., "João Paulo Lemes Machado" < > [email protected]> > > wrote: > > > >> Hello everyone. > >> > >> My name is João Paulo, I am a graduate student the Federal University of > >> Uberlandia, Brazil. > >> > >> I was analyzing the modularization of some classes of log4j, and I > >> identified some opportunities for cohesion improvement in the following > >> classes: > >> > >> Logger > >> DefaultConfigurationBuilder > >> ConfigurationBuilder > >> MutableLogEvent > >> AbstractConfiguration > >> Log4jLogEvent > >> RingBufferLogEven > >> > >> Could you please take a look and tell me if it's viable? > >> > >> Maybe some of these classes could benefit from some kind of refactoring > >> that we can discuss. > >> > > > -- Matt Sicker <[email protected]>
