I used to work for teams that built software as a service applications. Our requirements, regarding production, were often the same :

  • A complex service (web application, database, daemons, typically) to be continuously available.
  • Bugs to be corrected in fast cycles (and to do so, full specification of production bugs).

In order to do so we often built continuous delivery effort, as well as monitoring system around the application. Monitoring usually involved :

  • System and application performance metrics sent to a database elsewhere
  • Stack traces and error codes caught and handled by Sentry or similar
  • External alerts designed to catch massive failures

Once we got there, regarding our requirements are the production logs of any further help ?

If so, what kind of useful information contained in them do we expect them to hold ?

  • The answer to this question depends entirely on what your specific requirements are (ergo, the word "need" in your question). i.e. if you need them, then you need them. If you don't, you don't. – Robert Harvey Apr 26 '19 at 19:45
  • @RobertHarvey I thought software as a service app conveyed enough context for the need but I'll be a bit more specific. – Arthur Havlicek Apr 26 '19 at 19:47
  • Logs can be useful to find unexpected correlations when something goes wrong. Of course this depends a bit on lucky circumstances (such as the choice of what to log) but it can and does happen that the information needed to analyze a problem can be found in the logs. This means that the log retainment period can be fairly short, basically just enough to make logs available to a developer after an incident happened. – Hans-Martin Mosner Apr 26 '19 at 19:48
  • @RobertHarvey I've heavily edited to make the question more specific – Arthur Havlicek Apr 26 '19 at 19:57
  • To supplement @Hans-MartinMosner 's comment, it reduces the time to return-to-service for non-trivially fixable bugs. In that sense it improves availability by speeding up the bug investigation process. Whether this is a significant impact depend on whether the system is large and complex enough that non-trivial bugs (including severe performance bugs or complex system interaction bugs) occur frequently. It is also a matter of luck whether the available logs contain the necessary data. Another approach is to capture enough data for symptom reproduction, but that's beyond logging. – rwong Apr 26 '19 at 20:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.