FTR: https://projectlombok.org/features/log
On Thu, Jul 19, 2018 at 8:48 AM Gary Gregory <garydgreg...@gmail.com> wrote: > > > On Thu, Jul 19, 2018 at 8:26 AM Rob Tompkins <chtom...@gmail.com> wrote: > >> >> >> > On Jul 19, 2018, at 10:17 AM, Gary Gregory <garydgreg...@gmail.com> >> wrote: >> > >> > On Thu, Jul 19, 2018 at 8:07 AM Rob Tompkins <chtom...@gmail.com> >> wrote: >> > >> >> >> >> >> >>> On Jul 19, 2018, at 9:29 AM, Gary Gregory <garydgreg...@gmail.com> >> >> wrote: >> >>> >> >>> Annotation-based logging comes up once in a while here but we have not >> >>> implemented it. Project Lombok does that IIRC. >> >> >> >> Any reason for having not yet implemented it, or just the standard >> “time”? >> >> >> > >> > It's just more "stuff" and yes, time. And also, no one's wanted to put >> the >> > time in. >> > >> > But then there are design issues and adding more "stuff" to the API jar. >> > >> > - Would you allow @Log(level=Level.TRACE) (should be the default?) and >> > @Log(level=Level.DEBUG) >> > - What happens if you say both? >> > - Should you be able to break it up and only say @LogEntry() or >> @LogExit(). >> > - What about @Log(file="${user.home}\foo.log") >> > - and on and on ;-) >> >> Definitely fair points, I think I would try to go as simple as possible >> in a first pass…right? >> >> @Log >> @Log(level=X) >> > > Well, yes. But we need to think about the scope of the annotation. The > name @Log is as broad as you can think of making the name. So if we want to > put more in there later, then we need to make sure that's the best name. > > Do you think > > @Log() > > could be the default for (for example) > > @Log(level=Level.TRACE, entry=true, entryParameters=ALL, exit=true, > exitValue=true) > > Where entryParameters (if on a method) would let me list which params for > that methods to log) > > How do I avoid logging a password argument for example? Sounds like we can > do away with entryParameters if we have a @LogHide to annotate a > parameter. > > I could see that as step one but we need to think about all that we would > want to do to make sure @Log is the right name. What's a name that says log > all entries and exits? @LogEntryExit? > > Overall I would think that this kind of annotated class would change that > class' byte codes after compilation so that there are no runtime > requirements even for annotations. I certainly would not want to leave > behind clues like @LogHide to would be attackers.... > > Thoughts? > > Gary > > >> -Rob >> >> > >> > Gary >> > >> > >> >> >> >>> >> >>> Gary >> >>> >> >>> On Thu, Jul 19, 2018, 07:15 Rob Tompkins <chtom...@gmail.com> wrote: >> >>> >> >>>> Hey folks, >> >>>> >> >>>> I’m curious if anyone has thought about adding a class level @Log >> >>>> annotation such that upon debug or trace configuration, method entry >> and >> >>>> exit gets automatically logged? >> >>>> >> >>>> -Rob >> >> >> >> >> >>