systemd: log failed conditions

ConditionPathExists=/tmp/nosuchpath failed for nosuchpath.service.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2013-06-25 12:15:07 -04:00
parent d121b396cc
commit 4b744dfabe
3 changed files with 13 additions and 3 deletions

View file

@ -37,6 +37,7 @@
#include "virt.h"
#include "path-util.h"
#include "fileio.h"
#include "unit.h"
Condition* condition_new(ConditionType type, const char *parameter, bool trigger, bool negate) {
Condition *c;
@ -333,7 +334,7 @@ bool condition_test(Condition *c) {
}
}
bool condition_test_list(Condition *first) {
bool condition_test_list(const char *unit, Condition *first) {
Condition *c;
int triggered = -1;
@ -348,6 +349,15 @@ bool condition_test_list(Condition *first) {
bool b;
b = condition_test(c);
if (unit)
log_debug_unit(unit,
"%s=%s%s%s %s for %s.",
condition_type_to_string(c->type),
c->trigger ? "|" : "",
c->negate ? "!" : "",
c->parameter,
b ? "succeeded" : "failed",
unit);
if (!c->trigger && !b)
return false;

View file

@ -61,7 +61,7 @@ void condition_free(Condition *c);
void condition_free_list(Condition *c);
bool condition_test(Condition *c);
bool condition_test_list(Condition *c);
bool condition_test_list(const char *unit, Condition *c);
void condition_dump(Condition *c, FILE *f, const char *prefix);
void condition_dump_list(Condition *c, FILE *f, const char *prefix);

View file

@ -996,7 +996,7 @@ bool unit_condition_test(Unit *u) {
assert(u);
dual_timestamp_get(&u->condition_timestamp);
u->condition_result = condition_test_list(u->conditions);
u->condition_result = condition_test_list(u->id, u->conditions);
return u->condition_result;
}