]> granicus.if.org Git - icinga2/commitdiff
DB IDO: Ensure that SOFT state changes with the same state are logged
authorMichael Friedrich <michael.friedrich@netways.de>
Mon, 13 Jun 2016 08:09:18 +0000 (10:09 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Tue, 14 Jun 2016 09:08:28 +0000 (11:08 +0200)
fixes #11933

lib/icinga/checkable-check.cpp

index 4e64d925688936820d88776700a8795f2940fd61..0fe57af71d352ab3e06213375e7e9e9c7a3ee233 100644 (file)
@@ -355,7 +355,9 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
                OnStateChange(this, cr, StateTypeHard, origin);
                Log(LogNotice, "Checkable")
                    << "State Change: Checkable " << GetName() << " hard state change from " << old_state_str << " to " << new_state_str << " detected." << (is_volatile ? " Checkable is volatile." : "");
-       } else if (stateChange) {
+       }
+       /* Whether a state change happened or the state type is SOFT (must be logged too). */
+       else if (stateChange || GetStateType() == StateTypeSoft) {
                OnStateChange(this, cr, StateTypeSoft, origin);
                Log(LogNotice, "Checkable")
                    << "State Change: Checkable " << GetName() << " soft state change from " << old_state_str << " to " << new_state_str << " detected.";