Während der Programmausführung kommt es immer zu Ereignissen und Zuständen, die für die Fehlersuche und die Programmanalyse interessant sind.
- Admin: richtet das Programm ein und kümmert sich um dessen Betrieb, vorrangiges Interesse an der Lauffähigkeit
- Entwickler: entwickelt das Programm
- Support-Mitarbeiter/Nutzer: arbeitet mit dem Programm und interessiert sich für dessen Funktionsfähigkeit, korrekte Arbeitsweise
Critical
- Target: Service Admin
- Reason: events rendering the service unusable and manual action from the Admin is required
- Example:
- invalid config setting
- access to database prohibited, i. e. login failure
- bind to listening socket failed
Error
- Target: Service Admin
- Reason: Bad events, where no fallback or auto-recovery is possible and manual action from the Admin is required
- Example:
- unhandled exception
- database connection failed (due to network outage), but possibly the next request might succeed
Warn
- Target: Service Admin
- Reason: Bad events, where fallback or auto-recovery exists, but the admin should care about, because they should not happen too often
- Example:
- database query failed due to lock contention and a rerun of the query happens
- connection to remote system failed, user has to start a new run (i. e. user interaction required)
Notice
- Target: Service Admin
- Reason: Interesting actions which are helpful for reporting and examination of user error reports; syslog says »normal, but significant, condition«
- Example:
- login/logout of users
- new entities (account, business unit, invoice, chat room)
- broken user requests
- connection to remote system failed, (automatic) retry in the next cycle (i. e. no user interaction required)
Info
- Target: Developer, Reporting system, someone who analyses problems
- Reason: informational message
- Example:
- request … handled within … seconds
- save attachment to file …
- connecting to …
- federation_transaction_transmission_loop TimeoutError('',)
- federation_transaction_transmission_loop HttpResponseException("403: b'Forbidden'",)
Debug
- Target: Developer
- Reason: messages showing some interesting behaviour what the service is doing, but mostly useful for developers.
- Example:
- Lock acquired/released
- Value of variables on some points
- Number of written bytes
Trace
- Target: Developer
- Reason: Verbose message printing the state of a variable or a point in the code. Only interesting during development.