This is a pre-conference seminar element
For the moment, this page is not a generic guide to uPortal logging configuration. It is the specific ramblings that will be presented at the JA-SIG Vancouver uPortal 101 seminar. General documentation belongs elsewhere.
This seminar element should take 10 minutes. So Andrew should talk fast!
Why Log?
In which the philosophy, motivation, and intent behind logging is explained.
Logging makes code more maintainable. In debugging a system, crank up the logging and get a readout of some information about its state, what it's doing, how it sees the world. When troubleshooting a slight difference between the behaviors of development and production, diff the log files for sections related to the question. Logging fits somewhere in the continuum between static code inspection and interactive debugging. The right logging can make transparent a system that is too difficult, too locked down to interactively debug, and can capture information even when you're not actively looking.
Logging makes code more literate. Ideally it narrates the activity of the code, drawing attention to critical portions and relevant state, crying out about errors, but importantly just plugging along as an active spectator for your code's work. Some good logging servies in a role of "active comments", it's the same comment you would have written, but now active and including some relevant state.
Logging makes code better designed. Maybe this point is a stretch, but I think it's true: adding quality log messages, articulating what your class does and what its relevant state is, motivates additional thought about what the class does and what its state is. If you're uncomfortable narrating what you're doing, then maybe you're doing something that ideally you don't want to be doing. Sitting down to write the log message that apologizes for your excessively clever trick motivates refactoring towards something more literate.
Why not log: why logging gets a bad rap
And what to do about it
How does uPortal logging work?
Once upon a time, like every other Java project on the planet, uPortal invented and maintained its own LogService. It was a static singleton that knew how to write to a log file.
In which uPortal's legacy LogService evolution is traced to the present.