@@ -32,6 +32,15 @@ const (
32
32
33
33
// Nothing - this will log nothing.
34
34
Nothing
35
+
36
+ // Ansible Events
37
+ EventPlaybookOnTaskStart = "playbook_on_task_start"
38
+ EventRunnerOnOk = "runner_on_ok"
39
+ EventRunnerOnFailed = "runner_on_failed"
40
+
41
+ // Ansible Task Actions
42
+ TaskActionSetFact = "set_fact"
43
+ TaskActionDebug = "debug"
35
44
)
36
45
37
46
// EventHandler - knows how to handle job events.
@@ -51,17 +60,32 @@ func (l loggingEventHandler) Handle(u *unstructured.Unstructured, e eventapi.Job
51
60
"gvk" : u .GroupVersionKind ().String (),
52
61
"event_type" : e .Event ,
53
62
})
63
+ if l .LogLevel == Nothing {
64
+ return
65
+ }
66
+ // log only the following for the 'Tasks' LogLevel
54
67
t , ok := e .EventData ["task" ]
55
68
if ok {
56
- log = log .WithField ("task" , t )
69
+ setFactAction := e .EventData ["task_action" ] == TaskActionSetFact
70
+ debugAction := e .EventData ["task_action" ] == TaskActionDebug
71
+
72
+ if e .Event == EventPlaybookOnTaskStart && ! setFactAction && ! debugAction {
73
+ log .Infof ("[playbook task]: %s" , e .EventData ["name" ])
74
+ return
75
+ }
76
+ if e .Event == EventRunnerOnOk && debugAction {
77
+ log .Infof ("[playbook debug]: %v" , e .EventData ["task_args" ])
78
+ return
79
+ }
80
+ if e .Event == EventRunnerOnFailed {
81
+ log .Errorf ("[failed]: [playbook task] '%s' failed with task_args - %v" ,
82
+ t , e .EventData ["task_args" ])
83
+ return
84
+ }
57
85
}
58
- switch l . LogLevel {
59
- case Everything :
86
+ // log everything else for the 'Everything' LogLevel
87
+ if l . LogLevel == Everything {
60
88
log .Infof ("event: %#v" , e .EventData )
61
- case Tasks :
62
- if ok {
63
- log .Infof ("event: %#v" , e .EventData )
64
- }
65
89
}
66
90
}
67
91
0 commit comments