Thanks Imesha! I appreciate you taking the time to answer my question. This is very helpful. :)
-----Original Message----- From: Imesha Sudasingha [mailto:imesha...@cse.mrt.ac.lk] Sent: Tuesday, June 05, 2018 12:23 AM To: dev Subject: Re: [DISCUSSION] Logging in OODT Hi Valerie, For example, let's say we wanted to log that the file manager started on a given port by a given user. This will be written, in java util logging, *logger.log(Level.INFO, "File manager started at port: " + port + " by " + username + "successfully");* in SLF4J API, *logger.info <http://logger.info>("File manager started at port {} by {} successfully", port, username);* As you can see, JUL requires many string concatenations which makes it hard to write (for the programmer because he have to type many + and " marks. Compared to that, SLF4J API is easy to use and arguably more readable. And SLF4J API implementations usually support printing complex objects like lists, maps and sets rather than just calling #toString() method which will print class name and object ID. Those features will come in handy for debugging purposes. In addition to that, SLF4J implementations are better when it comes to performance. Because those log lines are formatted at the runtime only if the corresponding logging level is activated. But in JUL, no matter what the logging level is. those string concatenations needs to take place before checking the log level. From performance point of view, string concatenation is an expensive operation when we have lots of logs. Hope you got it. Thanks! Hi Chris, Yes, thanks! Imesha On 5 June 2018 at 08:10, Chris Mattmann <mattm...@apache.org> wrote: > I think this is a great approach and am +1 for it. > > > > Cheers, > > Chris > > > > > > > > From: Imesha Sudasingha <imesha...@cse.mrt.ac.lk> > Reply-To: <dev@oodt.apache.org> > Date: Sunday, June 3, 2018 at 4:13 AM > To: dev <dev@oodt.apache.org> > Subject: [DISCUSSION] Logging in OODT > > > > Hi All, > > > > When I was working on stabilizing Avro RPC versions of file manager, > > workflow manager and resource manager, it became extremely difficult > to > > debug due to lack of logging in OODT. Therefore, we need more logging > > support throughout the project. Personally, I find *java.util.Logging > (JUL)* > > not convenient to use since it requires explicit string concatenation > when > > logging. > > > > As a solution, I suggest to use SLF4J which has already been used > partially > > in same components in OODT. Therefore, I have re-opened an existing > issue > > [1] related to this and created few sub tasks. I want to know your > opinion > > on following, > > > > 1. As for now, we can redirect [2] JUL logs to SLF4J logs by adding a > new > > handler to existing logging.properties files. Will that be ok? In > future we > > can completely remove JUL log lines. > > > > 2. Will there be any backward compatibility issue if we add log4j2 > along > > with log4j2.xml's to distributions from 1.9 onwards? > > > > What are your thoughts? > > > > [1] https://issues.apache.org/jira/browse/OODT-693 > > [2] > > https://stackoverflow.com/questions/6020545/send-redirect-ro > ute-java-util-logging-logger-jul-to-logback-using-slf4j > > > > Cheers, > > Imesha > > > >