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
5555 h [ :cc ] = event . payload [ :cc ]
5656 h [ :date ] = date
5757 h [ :duration ] = event . duration . round ( 2 ) if log_duration?
58+ h [ :args ] = formatted_args
5859 end
5960 end
6061
6162 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
6465 elsif event . payload [ :date ] . is_a? ( String )
6566 Time . parse ( date ) . utc
6667 else
@@ -80,6 +81,31 @@ def action
8081 event . payload [ :action ]
8182 end
8283
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+
83109 def log_duration?
84110 @log_duration
85111 end
You can’t perform that action at this time.
0 commit comments