|
1 | 1 | module ManageIQ
|
2 | 2 | module AutomationEngine
|
3 | 3 | class Logger < ManageIQ::Loggers::Base
|
| 4 | + attr_reader :automation_log_wrapper |
| 5 | + |
| 6 | + def initialize(*args, automation_log_wrapper:, **kwargs) |
| 7 | + @automation_log_wrapper = automation_log_wrapper |
| 8 | + super(*args, **kwargs) |
| 9 | + end |
| 10 | + |
| 11 | + def self.create_log_wrapper(io = File::NULL) |
| 12 | + # We modify the interface of logger methods such as info/warn/etc. to allow the keyword argument |
| 13 | + # resource_id. Therefore, we need to wrap all client logger calls to these methods to process the resource_id, |
| 14 | + # cut the request_log entry and forward the remaining arguments to the logger. |
| 15 | + new(io, :progname => "automation", :automation_log_wrapper => Vmdb::Loggers.create_logger("automation.log")) |
| 16 | + end |
| 17 | + |
4 | 18 | private def add_to_db(severity, message = nil, progname = nil, resource_id: nil)
|
5 | 19 | return [severity, message, progname] unless resource_id
|
6 | 20 |
|
@@ -28,31 +42,37 @@ class Logger < ManageIQ::Loggers::Base
|
28 | 42 |
|
29 | 43 | def info(progname = nil, resource_id: nil, &block)
|
30 | 44 | severity, message, progname = add_to_db(INFO, nil, progname, resource_id: resource_id, &block)
|
| 45 | + automation_log_wrapper.add(severity, message, progname, &block) |
31 | 46 | add(severity, message, progname, &block)
|
32 | 47 | end
|
33 | 48 |
|
34 | 49 | def debug(progname = nil, resource_id: nil, &block)
|
35 | 50 | severity, message, progname = add_to_db(DEBUG, nil, progname, resource_id: resource_id, &block)
|
| 51 | + automation_log_wrapper.add(severity, message, progname, &block) |
36 | 52 | add(severity, message, progname, &block)
|
37 | 53 | end
|
38 | 54 |
|
39 | 55 | def warn(progname = nil, resource_id: nil, &block)
|
40 | 56 | severity, message, progname = add_to_db(WARN, nil, progname, resource_id: resource_id, &block)
|
| 57 | + automation_log_wrapper.add(severity, message, progname, &block) |
41 | 58 | add(severity, message, progname, &block)
|
42 | 59 | end
|
43 | 60 |
|
44 | 61 | def error(progname = nil, resource_id: nil, &block)
|
45 | 62 | severity, message, progname = add_to_db(ERROR, nil, progname, resource_id: resource_id, &block)
|
| 63 | + automation_log_wrapper.add(severity, message, progname, &block) |
46 | 64 | add(severity, message, progname, &block)
|
47 | 65 | end
|
48 | 66 |
|
49 | 67 | def fatal(progname = nil, resource_id: nil, &block)
|
50 | 68 | severity, message, progname = add_to_db(FATAL, nil, progname, resource_id: resource_id, &block)
|
| 69 | + automation_log_wrapper.add(severity, message, progname, &block) |
51 | 70 | add(severity, message, progname, &block)
|
52 | 71 | end
|
53 | 72 |
|
54 | 73 | def unknown(progname = nil, resource_id: nil, &block)
|
55 | 74 | severity, message, progname = add_to_db(UNKNOWN, nil, progname, resource_id: resource_id, &block)
|
| 75 | + automation_log_wrapper.add(severity, message, progname, &block) |
56 | 76 | add(severity, message, progname, &block)
|
57 | 77 | end
|
58 | 78 | end
|
|
0 commit comments