Java has a long history with logging libraries that help developers and operations. Logging capabilities help to analyze errors after they happened, integrate application monitoring to quickly react on specific events and perform application archeology to learn about user behavior and usage patterns. Libraries like Log4j or the JDK's own java.util.logging have been available for a long time and are widely used in many projects
While the technical aspects of using loggers, formatters and handlers are well described in the respective documentation and various blogs, less thought is given on how to actually word log messages, which information to include/exclude and in which situations to apply certain log levels. In this talk we are going to take a closer look at these topics in order to make your software easier to debug and support.
This talk from the Java User Group Graz meetup provides recommendations on how to address these issues.
For Python developers, there also is a variant of this talk about Helpful logging with Python.