File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -57,7 +57,7 @@ defmodule PostHog.Handler do
5757 end
5858 end )
5959 |> Map . drop ( [ "$exception_list" ] )
60- |> LoggerJSON.Formatter.RedactorEncoder . encode ( [ ] )
60+ |> maybe_update_file_key ( )
6161
6262 Context . get ( config . supervisor_name , "$exception" )
6363 |> enrich_context ( log_event )
@@ -160,4 +160,12 @@ defmodule PostHog.Handler do
160160 end
161161
162162 defp enrich_context ( context , _log_event ) , do: context
163+
164+ defp maybe_update_file_key ( % { file: chardata } = metadata ) when is_list ( chardata ) do
165+ Map . update! ( metadata , :file , & IO . chardata_to_string / 1 )
166+ rescue
167+ _ -> metadata
168+ end
169+
170+ defp maybe_update_file_key ( metadata ) , do: metadata
163171end
Original file line number Diff line number Diff line change @@ -950,6 +950,29 @@ defmodule PostHog.HandlerTest do
950950 refute Map . has_key? ( properties , :shouldnt )
951951 end
952952
953+ @ tag config: [ metadata: :all ]
954+ test "updates file metadata to be a string" , % {
955+ handler_ref: ref ,
956+ config: % { supervisor_name: supervisor_name }
957+ } do
958+ Logger . error ( "Error with default metadata" )
959+ LoggerHandlerKit.Assert . assert_logged ( ref )
960+
961+ assert [ % { properties: % { file: file } } ] = all_captured ( supervisor_name )
962+ assert is_binary ( file )
963+ end
964+
965+ @ tag config: [ metadata: :all ]
966+ test "noop if file is non chardata" , % {
967+ handler_ref: ref ,
968+ config: % { supervisor_name: supervisor_name }
969+ } do
970+ Logger . error ( "Error with default metadata" , file: 123 )
971+ LoggerHandlerKit.Assert . assert_logged ( ref )
972+
973+ assert [ % { properties: % { file: 123 } } ] = all_captured ( supervisor_name )
974+ end
975+
953976 @ tag config: [ metadata: [ :extra ] ]
954977 test "ensures metadata is serializable" , % {
955978 handler_ref: ref ,
You can’t perform that action at this time.
0 commit comments