File tree Expand file tree Collapse file tree 1 file changed +28
-2
lines changed
lib/rails_semantic_logger/action_mailer Expand file tree Collapse file tree 1 file changed +28
-2
lines changed Original file line number Diff line number Diff line change @@ -55,12 +55,13 @@ def payload
55
55
h [ :cc ] = event . payload [ :cc ]
56
56
h [ :date ] = date
57
57
h [ :duration ] = event . duration . round ( 2 ) if log_duration?
58
+ h [ :args ] = formatted_args
58
59
end
59
60
end
60
61
61
62
def date
62
- if event . payload [ :date ] . respond_to? ( :strftime )
63
- event . payload [ :date ]
63
+ if event . payload [ :date ] . respond_to? ( :to_time )
64
+ event . payload [ :date ] . to_time . utc
64
65
elsif event . payload [ :date ] . is_a? ( String )
65
66
Time . parse ( date ) . utc
66
67
else
@@ -80,6 +81,31 @@ def action
80
81
event . payload [ :action ]
81
82
end
82
83
84
+ def formatted_args
85
+ if defined? ( mailer . contantize . log_arguments? ) && !mailer . contantize . log_arguments?
86
+ ""
87
+ else
88
+ JSON . pretty_generate ( event . payload [ :args ] . map { |arg | format ( arg ) } ) if event . payload [ :args ] . present?
89
+ end
90
+ end
91
+
92
+ def format ( arg )
93
+ case arg
94
+ when Hash
95
+ arg . transform_values { |value | format ( value ) }
96
+ when Array
97
+ arg . map { |value | format ( value ) }
98
+ when GlobalID ::Identification
99
+ begin
100
+ arg . to_global_id
101
+ rescue StandardError
102
+ arg
103
+ end
104
+ else
105
+ arg
106
+ end
107
+ end
108
+
83
109
def log_duration?
84
110
@log_duration
85
111
end
You can’t perform that action at this time.
0 commit comments