I too thought that his logging recommendations were weak. Simply logging an error (even with context) doesn&#x27;t tell you much about how you entered that state.<p>I follow these guidelines (similar to yours):<p><pre><code>  - ERROR: Failed assertions, unrecoverable conditions
  - WARN: Exceptions (request is toast, but system works)
  - INFO: Important actions (entered a certain state)
  - DEBUG: Information associated with the actions above
</code></pre>
Note that we too don&#x27;t log full requests, etc. at DEBUG - that&#x27;s way, way too much. If you really want to do that? TRACE, but that&#x27;s usually important for the developers of those libraries. We&#x27;re also lucky in that we use logback, so we can change the log level of the system at runtime very easily.<p>In production we usually run on INFO and above and the logs aren&#x27;t overwhelming - though we&#x27;re constantly trying to improve the quality and consistency of the messages.