Nebo15 / logger_json

JSON logger formatter with support for Google Cloud, DataDog and other for Elixir.
https://nebo15.github.io/logger_json/
MIT License
237 stars 92 forks source link

Datadog FORMATTER CRASH #119

Closed joecorkerton closed 4 months ago

joecorkerton commented 4 months ago

Hi,

Since upgrading to logger_json 6.0.1, we've been getting 'FORMATTER CRASH' messages in Datadog. I followed the upgrade guide and made the following changes:

config.exs

- config :logger_json, :backend,
-   metadata: [:network, :phoenix, :duration, :http, :"usr.id"],
-   formatter: LoggerJSON.Formatters.DatadogLogger

- config :logger, backends: [LoggerJSON]
+ config :logger, :default_handler,
+ formatter:
+  {LoggerJSON.Formatters.DatadogLogger,
+  metadata: [:network, :phoenix, :duration, :http, :"usr.id"]}

endpoint.ex

- plug LoggerJSON.Plug, metadata_formatter: LoggerJSON.Plug.MetadataFormatters.DatadogLogger

application.ex

def start(_, _) do
...
+ LoggerJSON.Plug.attach("logger-json-phoenix", [:phoenix, :endpoint, :stop], :info)
...

The output we're getting is of the form:

2024-05-24T08:19:38.771136+00:00 info: FORMATTER CRASH: {string,[<<"PATCH">>,32,<<"{REDACTED_URL}">>,32,<<"[">>,<<"Sent">>,32,[<<"200">>,32],<<"in ">>,[<<"1">>,<<"ms">>],<<"]">>]}

Don't seem to be getting a lot of feedback about why there's an issue or where it's coming from. Any advice appreciated!

AndrewDryga commented 4 months ago

Hello @joecorkerton. It looks like it's crashing from logs written in the plug: https://github.com/Nebo15/logger_json/blob/master/lib/logger_json/plug.ex#L72. Can you please test what happens if you log those two things:

Logger.info(fn -> ["iodata"] end)

and

Logger.info("foo", conn: conn)

where conn is a plug conn.

My gut feeling is that there is something in your conn that can't be encoded or there is an issue with returning iodata from functions (but we have tests for both cases).

AndrewDryga commented 4 months ago

Also, are there any suspicious logs around that error one?

joecorkerton commented 4 months ago

Hello @joecorkerton. It looks like it's crashing from logs written in the plug: https://github.com/Nebo15/logger_json/blob/master/lib/logger_json/plug.ex#L72. Can you please test what happens if you log those two things:

Logger.info(fn -> ["iodata"] end)

and

Logger.info("foo", conn: conn)

where conn is a plug conn.

My gut feeling is that there is something in your conn that can't be encoded or there is an issue with returning iodata from functions (but we have tests for both cases).

I'll look into this early next week

Also, are there any suspicious logs around that error one?

No, all the logs are of that form info: FORMATTER CRASH and then the actual log message that should be going through

AndrewDryga commented 4 months ago

@joecorkerton does the formatter only crash for messages logged by LoggerJSON.Plug or other log records are also affected by the issue?

joecorkerton commented 4 months ago

@joecorkerton does the formatter only crash for messages logged by LoggerJSON.Plug or other log records are also affected by the issue?

@AndrewDryga it was happening for all logs (e.g.)

2024-05-23T14:22:05.852391+00:00 error: FORMATTER CRASH: {string,<<"Failed to look up users by email: timeout">>}

Should have been an error log but didn't get classified as an error by datadog, I guess because it is crashing

joecorkerton commented 4 months ago

@AndrewDryga when I run it locally I get the following errors

Running

Logger.info(fn -> ["iodata"] end)

In a test endpoint produces:

formatter_crashed: 'Elixir.LoggerJSON.Formatters.DatadogLogger'
    config: [{met2024-05-28T10:24:25.403698+01:00 info: FORMATTER CRASH: {string,[<<"iodata">>]}
adata,[network,phoenix,duration,http,'usr.id']}]
    log_event: #{meta=>#{line=>410,pid=><0.1451.0>,time=>1716888265403523,file=>"logger_h_common.erl",gl=><0.1082.0>,internal_log_event=>true,mfa=>{logger_h_common,try_format,3},report_cb=>fun logger:format_otp_report/1},msg=>{report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta=>#{line=>278,pid=><0.1451.0>,time=>1716888265403284,file=>"lib/phoenix/logger.ex",gl=><0.1082.0>,domain=>[elixir],application=>phoenix,mfa=>{'Elixir.Phoenix.Logger',phoenix_router_dispatch_start2024-05-28T10:24:25.404179+01:00 debug: FORMATTER CRASH: {report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta => #{line => 18,pid => <0.1451.0>,time => 1716888265403698,file => "lib/accounts_web/controllers/v1/account_controller.ex",gl => <0.1082.0>,domain => [elixir],application => accounts,mfa => {'Elixir.AccountsWeb.V1.AccountController',test,2},request_id => <<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id => "ad01ccabc2b569c4",otel_trace_flags => "01",otel_trace_id => "df3f6b94b43bb0488db79c505d2029ce"},msg => {string,[<<"iodata">>]},level => info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta => #{line => 18,pid => <0.1451.0>,time => 1716888265403698,file => "lib/accounts_web/controllers/v1/account_controller.ex",gl => <0.1082.0>,domain => [elixir],application => accounts,mfa => {'Elixir.AccountsWeb.V1.AccountController',test,2},request_id => <<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id => "ad01ccabc2b569c4",otel_trace_flags => "01",otel_trace_id => "df3f6b94b43bb0488db79c505d2029ce"},msg => {string,[<<"iodata">>]},level => info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]}
,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"Processing with ">>,<<"AccountsWeb.V1.AccountController">>,[46,<<"test">>,47,50],10,<<"  Parameters: ">>,<<"%{}">>,10,<<"  Pipelines: ">>,<<"[]">>]},level=>debug}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>278,pid=><0.1451.0>,time=>1716888265403284,file=>"lib/phoenix/logger.ex",gl=><0.1082.0>,domain=>[elixir],application=>phoenix,mfa=>{'Elixir.Phoenix.Logger',phoenix_router_dispatch_start,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"Processing with ">>,<<"AccountsWeb.V1.AccountController">>,[46,<<"test">>,47,50],10,<<"  Parameters: ">>,<<"%{}">>,10,<<"  Pipelines: ">>,<<"[]">>]},level=>debug},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]},level=>debug}
2024-05-28 10:24:25.404525 2024-05-28 10:24:25.404952     reason: {error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>410,pid=><0.1451.0>,time=>1716888265403523,file=>"logger_h_common.erl",gl=><0.1082.0>,internal_log_event=>true,mfa=>{logger_h_common,try_format,3},report_cb=>fun logger:format_otp_report/1},msg=>{report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta=>#{line=>278,pid=><0.1451.0>,time=>1716888265403284,file=>"lib/phoenix/logger.ex",gl=><0.1082.0>,domain=>[elixir],application=>phoenix,mfa=>{'Elixir.Phoenix.Logger',phoenix_router_dispatch_start,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"Processing with ">>,<<"AccountsWeb.V1.AccountController">>,[46,<<"test">>,47,50],10,<<"  Parameters: ">>,<<"%{}">>,10,<<"  Pipelines: ">>,<<"[]">>]},level=>debug}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>278,pid=><0.1451.0>,time=>1716888265403284,file=>"lib/phoenix/logger.ex",gl=><0.1082.0>,domain=>[elixir],application=>phoenix,mfa=>{'Elixir.Phoenix.Logger',phoenix_router_dispatch_start,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"Processing with ">>,<<"AccountsWeb.V1.AccountController">>,[46,<<"test">>,47,50],10,<<"  Parameters: ">>,<<"%{}">>,10,<<"  Pipelines: ">>,<<"[]">>]},level=>debug},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]},level=>debug},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}
{error,simple_handler_process_dead}
{error,simple_handler_process_dead}
2024-05-28 10:24:25.404892 2024-05-28 10:24:25.404470 

2024-05-28T10:24:25.404243+01:00 info: FORMATTER CRASH: {string,[<<"Sent">>,32,<<"200">>,<<" in ">>,[<<"15">>,<<"ms">>]]}
    formatter_crashed: 'Elixir.LoggerJSON.Formatters.DatadogLogger'
    config:     formatter_crashed: [{metadata,[network,phoenix,duration,http,'usr.id']}]
'Elixir.LoggerJSON.Formatters.DatadogLogger'
    log_event: #{me    config: 2024-05-28T10:24:25.404747+01:00 debug: FORMATTER CRASH: {report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta => #{line => 231,pid => <0.1451.0>,time => 1716888265404243,file => "lib/phoenix/logger.ex",gl => <0.1082.0>,domain => [elixir],application => phoenix,mfa => {'Elixir.Phoenix.Logger',phoenix_endpoint_stop,4},request_id => <<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id => "ad01ccabc2b569c4",otel_trace_flags => "01",otel_trace_id => "df3f6b94b43bb0488db79c505d2029ce"},msg => {string,[<<"Sent">>,32,<<"200">>,<<" in ">>,[<<"15">>,<<"ms">>]]},level => info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta => #{line => 231,pid => <0.1451.0>,time => 1716888265404243,file => "lib/phoenix/logger.ex",gl => <0.1082.0>,domain => [elixir],application => phoenix,mfa => {'Elixir.Phoenix.Logger',phoenix_endpoint_stop,4},request_id => <<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id => "ad01ccabc2b569c4",otel_trace_flags => "01",otel_trace_id => "df3f6b94b43bb0488db79c505d2029ce"},msg => {string,[<<"Sent">>,32,<<"200">>,<<" in ">>,[<<"15">>,<<"ms">>]]},level => info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]}
ta=>#{line=>410,pid=><0.1451.0>,time=>1716888265404747,file=>"logger_h_common.erl",gl=><0.1082.0>,internal_log_event=>true,mfa=>{logger_h_common,try_format,3},report_cb=>fun logger:format_otp_report/1},msg=>{report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta=>#{line=>231,pid=><0.1451.0>,time=>1716888265404243,file=>"lib/phoenix/logger.ex",gl=><0.1082.0>,domain=>[elixir],application=>phoenix,mfa=>{'Elixir.Phoenix.Logger',phoenix_endpoint_stop,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"Sent">>,32,<<"200">>,<<" in ">>,[<<"15">>,<<"ms">>]]},level=>info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>231,pid=><0.1451.0>,time=>1716888265404243,file=>"lib/phoenix/logger.ex",gl=><0.1082.0>,domain=>[elixir],application=>phoenix,mfa=>{'Elixir.Phoenix.Logger',phoenix_endpoint_stop,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"Sent">>,32,<<"200">>,<<" in ">>,[<<"15">>,<<"ms">>]]},level=>info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]},level=>debug}
[{metadata,[network,phoenix,duration,http,'usr.id']}]
    reason:     log_event: {error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>410,pid=><0.1451.0>,time=>1716888265404747,file=>"logger_h_common.erl",gl=><0.1082.0>,internal_log_event=>true,mfa=>{logger_h_common,try_format,3},report_cb=>fun logger:format_otp_report/1},msg=>{report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta=>#{line=>232024-05-28T10:24:25.406347+01:00 info: FORMATTER CRASH: {string,[<<"GET">>,32,<<"/">>,32,<<"[">>,<<"Sent">>,32,[<<"200">>,32],<<"in ">>,[<<"15">>,<<"ms">>],<<"]">>]}
1,pid=><0.1451.0>,time=>1716888265404243,file=>"lib/phoenix/logger.ex",gl=><0.1082.0>,domain=>[elixir],application=>phoenix,mfa=>{'Elixir.Phoenix.Logger',phoenix_endpoint_stop,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"Sent">>,32,<<"200">>,<<" in ">>,[<<"15">>,<<"ms">>]]},level=>info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>231,pid=><0.1451.0>,time=>1716888265404243,file=>"lib/phoenix/logger.ex",gl=><0.1082.0>,domain=>[elixir],application=>phoenix,mfa=>{'Elixir.Phoenix.Logger',phoenix_endpoint_stop,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"Sent">>,32,<<"200">>,<<" in ">>,[<<"15">>,<<"ms">>]]},level=>info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]},level=>debug},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}
#{meta=>#{line=>410,pid=><0.1451.0>,time=>1716888265404179,file=>"logger_h_common.erl",gl=><0.1082.0>,internal_log_event=>true,mfa=>{logger_h_common,try_format,3},report_cb=>fun logger:format_otp_report/1},msg=>{report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta=>#{line=>18,pid=><0.1451.0>,time=>1716888265403698,file=>"lib/accounts_web/controllers/v1/account_controller.ex",gl=><0.1082.0>,domain=>[elixir],application=>accounts,mfa=>{'Elixir.AccountsWeb.V1.AccountController',test,2},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"iodata">>]},level=>info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>18,pid=><0.1451.0>,time=>1716888265403698,file=>"lib/accounts_web/controllers/v1/account_controller.ex",gl=><0.1082.0>,domain=>[elixir],application=>accounts,mfa=>{'Elixir.AccountsWeb.V1.AccountController',test,2},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"iodata">>]},level=>info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]},level=>debug}
2024-05-28 10:24:25.408389     reason: {error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>410,pid=><0.1451.0>,time=>1716888265404179,file=>"logger_h_common.erl",gl=><0.1082.0>,internal_log_event=>true,mfa=>{logger_h_common,try_format,3},report_cb=>fun logger:format_otp_report/1},msg=>{report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta=>#{line=>18,pid=><0.1451.0>,time=>1716888265403698,file=>"lib/accounts_web/controllers/v1/account_controller.ex",gl=><0.1082.0>,domain=>[elixir],application=>accounts,mfa=>{'Elixir.AccountsWeb.V1.AccountController',test,2},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"iodata">>]},level=>info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>18,pid=><0.1451.0>,time=>1716888265403698,file=>"lib/accounts_web/controllers/v1/account_controller.ex",gl=><0.1082.0>,domain=>[elixir],application=>accounts,mfa=>{'Elixir.AccountsWeb.V1.AccountController',test,2},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"iodata">>]},level=>info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]},level=>debug},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}
{error,simple_handler_process_dead}
2024-05-28 10:24:25.408331 
    formatter_crashed: 'Elixir.LoggerJSON.Formatters.DatadogLogger'
    config: [{metadata,[network,phoenix,duration,http,'usr.id']}]
2024-05-28T10:24:25.407414+01:00 debug: FORMATTER CRASH: {report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta => #{line => 62,pid => <0.1451.0>,time => 1716888265406347,file => "lib/logger_json/plug.ex",gl => <0.1082.0>,domain => [elixir],application => logger_json,mfa => {'Elixir.LoggerJSON.Plug',telemetry_logging_handler,4},request_id => <<"F9Ocx-l1wZSD4IsAAAVD">>,conn => #{owner => <0.1451.0>,port => 4004,private => #{phoenix_view => #{<<"html">> => 'Elixir.AccountsWeb.V1.AccountHTML',<<"json">> => 'Elixir.AccountsWeb.V1.AccountJSON'},'Elixir.AccountsWeb.Router' => [],phoenix_action => test,phoenix_layout => #{<<"html">> => {'Elixir.AccountsWeb.Layouts',app}},phoenix_controller => 'Elixir.AccountsWeb.V1.AccountController',phoenix_endpoint => 'Elixir.AccountsWeb.Endpoint',phoenix_router => 'Elixir.AccountsWeb.Router',plug_session_fetch => #Fun<Elixir.Plug.Session.1.76384852>,before_send => [#Fun<Elixir.Plug.Telemetry.0.54455629>],phoenix_request_logger => {<<"request_logger">>,<<"request_logger">>}},scheme => http,status => 200,script_name => [],state => set,host => <<"localhost">>,params => #{},'__struct__' => 'Elixir.Plug.Conn',halted => false,adapter => {'Elixir.Bandit.Adapter',#{status => nil,opts => #{http => [],websocket => [],http_1 => [],http_2 => []},'__struct__' => 'Elixir.Bandit.Adapter',metrics => #{req_header_end_time => -576460742267729375},method => <<"GET">>,upgrade => nil,transport => #{version => 'HTTP/1.1',buffer => <<>>,keepalive => true,opts => #{http => [],websocket => [],http_1 => [],http_2 => []},socket => #{socket => #Port<0.29>,span => #{'__struct__' => 'Elixir.ThousandIsland.Telemetry',telemetry_span_context => #Ref<0.3334396846.2048131075.174099>,start_time => -576460742299619167,span_name => connection,start_metadata => #{remote_port => 55503,remote_address => {127,0,0,1},telemetry_span_context => #Ref<0.3334396846.2048131075.174099>,parent_telemetry_span_context => #Ref<0.3334396846.2048131075.173851>}},'__struct__' => 'Elixir.ThousandIsland.Socket',read_timeout => 60000,transport_module => 'Elixir.ThousandIsland.Transports.TCP',silent_terminate_on_error => false},'__struct__' => 'Elixir.Bandit.HTTP1.Socket',body_encoding => nil,bytes_remaining => nil,read_state => read,send_buffer => nil,write_state => unsent},content_encoding => <<"gzip">>,owner_pid => <0.1451.0>}},secret_key_base => <<"bItfhpl3JqbJ5YZF8Cdt9k0W5hkgyF9KjJDewljEwF6EBMiCazcfRV165fysh51b">>,cookies => #{},request_path => <<"/">>,assigns => #{},query_string => <<>>,body_params => #{},query_params => #{},resp_headers => [{<<"content-type">>,<<"text/html; charset=utf-8">>},{<<"cache-control">>,<<"max-age=0, private, must-revalidate">>},{<<"x-request-id">>,<<"F9Ocx-l1wZSD4IsAAAVD">>}],path_info => [],resp_body => <<"ok">>,path_params => #{},method => <<"GET">>,req_headers => [{<<"accept-language">>,<<"en-GB,en-US;q=0.9,en;q=0.8">>},{<<"accept-encoding">>,<<"gzip, deflate, br, zstd">>},{<<"sec-fetch-dest">>,<<"document">>},{<<"sec-fetch-user">>,<<"?1">>},{<<"sec-fetch-mode">>,<<"navigate">>},{<<"sec-fetch-site">>,<<"cross-site">>},{<<"accept">>,<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7">>},{<<"user-agent">>,<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36">>},{<<"upgrade-insecure-requests">>,<<"1">>},{<<"sec-ch-ua-platform">>,<<"\"macOS\"">>},{<<"sec-ch-ua-mobile">>,<<"?0">>},{<<"sec-ch-ua">>,<<"\"Google Chrome\";v=\"123\", \"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"123\"">>},{<<"cache-control">>,<<"max-age=0">>},{<<"connection">>,<<"keep-alive">>},{<<"host">>,<<"localhost:4004">>}],resp_cookies => #{},req_cookies => #{},remote_ip => {127,0,0,1}},'duration_μs' => 15876,otel_span_id => "ad01ccabc2b569c4",otel_trace_flags => "01",otel_trace_id => "df3f6b94b43bb0488db79c505d2029ce"},msg => {string,[<<"GET">>,32,<<"/">>,32,<<"[">>,<<"Sent">>,32,[<<"200">>,32],<<"in ">>,[<<"15">>,<<"ms">>],<<"]">>]},level => info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta => #{line => 62,pid => <0.1451.0>,time => 1716888265406347,file => "lib/logger_json/plug.ex",gl => <0.1082.0>,domain => [elixir],application => logger_json,mfa => {'Elixir.LoggerJSON.Plug',telemetry_logging_handler,4},request_id => <<"F9Ocx-l1wZSD4IsAAAVD">>,conn => #{owner => <0.1451.0>,port => 4004,private => #{phoenix_view => #{<<"html">> => 'Elixir.AccountsWeb.V1.AccountHTML',<<"json">> => 'Elixir.AccountsWeb.V1.AccountJSON'},'Elixir.AccountsWeb.Router' => [],phoenix_action => test,phoenix_layout => #{<<"html">> => {'Elixir.AccountsWeb.Layouts',app}},phoenix_controller => 'Elixir.AccountsWeb.V1.AccountController',phoenix_endpoint => 'Elixir.AccountsWeb.Endpoint',phoenix_router => 'Elixir.AccountsWeb.Router',plug_session_fetch => #Fun<Elixir.Plug.Session.1.76384852>,before_send => [#Fun<Elixir.Plug.Telemetry.0.54455629>],phoenix_request_logger => {<<"r    log_event: equest_logger">>,<<"request_logger">>}},scheme => http,status => 200,script_name => [],state => set,host => <<"localhost">>,params => #{},'__struct__' => 'Elixir.Plug.Conn',halted => false,adapter => {'Elixir.Bandit.Adapter',#{status => nil,opts => #{http => [],websocket => [],http_1 => [],http_2 => []},'__struct__' => 'Elixir.Bandit.Adapter',metrics => #{req_header_end_time => -576460742267729375},method => <<"GET">>,upgrade => nil,transport => #{version => 'HTTP/1.1',buffer => <<>>,keepalive => true,opts => #{http => [],websocket => [],http_1 => [],http_2 => []},socket => #{socket => #Port<0.29>,span => #{'__struct__' => 'Elixir.ThousandIsland.Telemetry',telemetry_span_context => #Ref<0.3334396846.2048131075.174099>,start_time => -576460742299619167,span_name => connection,start_metadata => #{remote_port => 55503,remote_address => {127,0,0,1},telemetry_span_context => #Ref<0.3334396846.2048131075.174099>,parent_telemetry_span_context => #Ref<0.3334396846.2048131075.173851>}},'__struct__' => 'Elixir.ThousandIsland.Socket',read_timeout => 60000,transport_module => 'Elixir.ThousandIsland.Transports.TCP',silent_terminate_on_error => false},'__struct__' => 'Elixir.Bandit.HTTP1.Socket',body_encoding => nil,bytes_remaining => nil,read_state => read,send_buffer => nil,write_state => unsent},content_encoding => <<"gzip">>,owner_pid => <0.1451.0>}},secret_key_base => <<"bItfhpl3JqbJ5YZF8Cdt9k0W5hkgyF9KjJDewljEwF6EBMiCazcfRV165fysh51b">>,cookies => #{},request_path => <<"/">>,assigns => #{},query_string => <<>>,body_params => #{},query_params => #{},resp_headers => [{<<"content-type">>,<<"text/html; charset=utf-8">>},{<<"cache-control">>,<<"max-age=0, private, must-revalidate">>},{<<"x-request-id">>,<<"F9Ocx-l1wZSD4IsAAAVD">>}],path_info => [],resp_body => <<"ok">>,path_params => #{},method => <<"GET">>,req_headers => [{<<"accept-language">>,<<"en-GB,en-US;q=0.9,en;q=0.8">>},{<<"accept-encoding">>,<<"gzip, deflate, br, zstd">>},{<<"sec-fetch-dest">>,<<"document">>},{<<"sec-fetch-user">>,<<"?1">>},{<<"sec-fetch-mode">>,<<"navigate">>},{<<"sec-fetch-site">>,<<"cross-site">>},{<<"accept">>,<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7">>},{<<"user-agent">>,<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36">>},{<<"upgrade-insecure-requests">>,<<"1">>},{<<"sec-ch-ua-platform">>,<<"\"macOS\"">>},{<<"sec-ch-ua-mobile">>,<<"?0">>},{<<"sec-ch-ua">>,<<"\"Google Chrome\";v=\"123\", \"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"123\"">>},{<<"cache-control">>,<<"max-age=0">>},{<<"connection">>,<<"keep-alive">>},{<<"host">>,<<"localhost:4004">>}],resp_cookies => #{},req_cookies => #{},remote_ip => {127,0,0,1}},'duration_μs' => 15876,otel_span_id => "ad01ccabc2b569c4",otel_trace_flags => "01",otel_trace_id => "df3f6b94b43bb0488db79c505d2029ce"},msg => {string,[<<"GET">>,32,<<"/">>,32,<<"[">>,<<"Sent">>,32,[<<"200">>,32],<<"in ">>,[<<"15">>,<<"ms">>],<<"]">>]},level => info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]}
#{meta=>#{line=>410,pid=><0.1451.0>,time=>1716888265407414,file=>"logger_h_common.erl",gl=><0.1082.0>,internal_log_event=>true,mfa=>{logger_h_common,try_format,3},report_cb=>fun logger:format_otp_report/1},msg=>{report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta=>#{line=>62,pid=><0.1451.0>,time=>1716888265406347,file=>"lib/logger_json/plug.ex",gl=><0.1082.0>,domain=>[elixir],application=>logger_json,mfa=>{'Elixir.LoggerJSON.Plug',telemetry_logging_handler,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,conn=>#{owner=><0.1451.0>,port=>4004,private=>#{phoenix_view=>#{<<"html">>=>'Elixir.AccountsWeb.V1.AccountHTML',<<"json">>=>'Elixir.AccountsWeb.V1.AccountJSON'},'Elixir.AccountsWeb.Router'=>[],phoenix_action=>test,phoenix_layout=>#{<<"html">>=>{'Elixir.AccountsWeb.Layouts',app}},phoenix_controller=>'Elixir.AccountsWeb.V1.AccountController',phoenix_endpoint=>'Elixir.AccountsWeb.Endpoint',phoenix_router=>'Elixir.AccountsWeb.Router',plug_session_fetch=>#Fun<Elixir.Plug.Session.1.76384852>,before_send=>[#Fun<Elixir.Plug.Telemetry.0.54455629>],phoenix_request_logger=>{<<"request_logger">>,<<"request_logger">>}},scheme=>http,status=>200,script_name=>[],state=>set,host=><<"localhost">>,params=>#{},'__struct__'=>'Elixir.Plug.Conn',halted=>false,adapter=>{'Elixir.Bandit.Adapter',#{status=>nil,opts=>#{http=>[],websocket=>[],http_1=>[],http_2=>[]},'__struct__'=>'Elixir.Bandit.Adapter',metrics=>#{req_header_end_time=>-576460742267729375},method=><<"GET">>,upgrade=>nil,transport=>#{version=>'HTTP/1.1',buffer=><<>>,keepalive=>true,opts=>#{http=>[],websocket=>[],http_1=>[],http_2=>[]},socket=>#{socket=>#Port<0.29>,span=>#{'__struct__'=>'Elixir.ThousandIsland.Telemetry',telemetry_span_context=>#Ref<0.3334396846.2048131075.174099>,start_time=>-576460742299619167,span_name=>connection,start_metadata=>#{remote_port=>55503,remote_address=>{127,0,0,1},telemetry_span_context=>#Ref<0.3334396846.2048131075.174099>,parent_telemetry_span_context=>#Ref<0.3334396846.2048131075.173851>}},'__struct__'=>'Elixir.ThousandIsland.Socket',read_timeout=>60000,transport_module=>'Elixir.ThousandIsland.Transports.TCP',silent_terminate_on_error=>false},'__struct__'=>'Elixir.Bandit.HTTP1.Socket',body_encoding=>nil,bytes_remaining=>nil,read_state=>read,send_buffer=>nil,write_state=>unsent},content_encoding=><<"gzip">>,owner_pid=><0.1451.0>}},secret_key_base=><<"bItfhpl3JqbJ5YZF8Cdt9k0W5hkgyF9KjJDewljEwF6EBMiCazcfRV165fysh51b">>,cookies=>#{},request_path=><<"/">>,assigns=>#{},query_string=><<>>,body_params=>#{},query_params=>#{},resp_headers=>[{<<"content-type">>,<<"text/html; charset=utf-8">>},{<<"cache-control">>,<<"max-age=0, private, must-revalidate">>},{<<"x-request-id">>,<<"F9Ocx-l1wZSD4IsAAAVD">>}],path_info=>[],resp_body=><<"ok">>,path_params=>#{},method=><<"GET">>,req_headers=>[{<<"accept-language">>,<<"en-GB,en-US;q=0.9,en;q=0.8">>},{<<"accept-encoding">>,<<"gzip, deflate, br, zstd">>},{<<"sec-fetch-dest">>,<<"document">>},{<<"sec-fetch-user">>,<<"?1">>},{<<"sec-fetch-mode">>,<<"navigate">>},{<<"sec-fetch-site">>,<<"cross-site">>},{<<"accept">>,<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7">>},{<<"user-agent">>,<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36">>},{<<"upgrade-insecure-requests">>,<<"1">>},{<<"sec-ch-ua-platform">>,<<"\"macOS\"">>},{<<"sec-ch-ua-mobile">>,<<"?0">>},{<<"sec-ch-ua">>,<<"\"Google Chrome\";v=\"123\", \"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"123\"">>},{<<"cache-control">>,<<"max-age=0">>},{<<"connection">>,<<"keep-alive">>},{<<"host">>,<<"localhost:4004">>}],resp_cookies=>#{},req_cookies=>#{},remote_ip=>{127,0,0,1}},'duration_μs'=>15876,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"GET">>,32,<<"/">>,32,<<"[">>,<<"Sent">>,32,[<<"200">>,32],<<"in ">>,[<<"15">>,<<"ms">>],<<"]">>]},level=>info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>62,pid=><0.1451.0>,time=>1716888265406347,file=>"lib/logger_json/plug.ex",gl=><0.1082.0>,domain=>[elixir],application=>logger_json,mfa=>{'Elixir.LoggerJSON.Plug',telemetry_logging_handler,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,conn=>#{owner=><0.1451.0>,port=>4004,private=>#{phoenix_view=>#{<<"html">>=>'Elixir.AccountsWeb.V1.AccountHTML',<<"json">>=>'Elixir.AccountsWeb.V1.AccountJSON'},'Elixir.AccountsWeb.Router'=>[],phoenix_action=>test,phoenix_layout=>#{<<"html">>=>{'Elixir.AccountsWeb.Layouts',app}},phoenix_controller=>'Elixir.AccountsWeb.V1.AccountController',phoenix_endpoint=>'Elixir.AccountsWeb.Endpoint',phoenix_router=>'Elixir.AccountsWeb.Router',plug_session_fetch=>#Fun<Elixir.Plug.Session.1.76384852>,before_send=>[#Fun<Elixir.Plug.Telemetry.0.54455629>],phoenix_request_logger=>{<<"request_logger">>,<<"request_logger">>}},scheme=>http,status=>200,script_name=>[],state=>set,host=><<"localhost">>,params=>#{},'__struct__'=>'Elixir.Plug.Conn',halted=>false,adapter=>{'Elixir.Bandit.Adapter',#{status=>nil,opts=>#{http=>[],websocket=>[],http_1=>[],http_2=>[]},'__struct__'=>'Elixir.Bandit.Adapter',metrics=>#{req_header_end_time=>-576460742267729375},method=><<"GET">>,upgrade=>nil,transport=>#{version=>'HTTP/1.1',buffer=><<>>,keepalive=>true,opts=>#{http=>[],websocket=>[],http_1=>[],http_2=>[]},socket=>#{socket=>#Port<0.29>,span=>#{'__struct__'=>'Elixir.ThousandIsland.Telemetry',telemetry_span_context=>#Ref<0.3334396846.2048131075.174099>,start_time=>-576460742299619167,span_name=>connection,start_metadata=>#{remote_port=>55503,remote_address=>{127,0,0,1},telemetry_span_context=>#Ref<0.3334396846.2048131075.174099>,parent_telemetry_span_context=>#Ref<0.3334396846.2048131075.173851>}},'__struct__'=>'Elixir.ThousandIsland.Socket',read_timeout=>60000,transport_module=>'Elixir.ThousandIsland.Transports.TCP',silent_terminate_on_error=>false},'__struct__'=>'Elixir.Bandit.HTTP1.Socket',body_encoding=>nil,bytes_remaining=>nil,read_state=>read,send_buffer=>nil,write_state=>unsent},content_encoding=><<"gzip">>,owner_pid=><0.1451.0>}},secret_key_base=><<"bItfhpl3JqbJ5YZF8Cdt9k0W5hkgyF9KjJDewljEwF6EBMiCazcfRV165fysh51b">>,cookies=>#{},request_path=><<"/">>,assigns=>#{},query_string=><<>>,body_params=>#{},query_params=>#{},resp_headers=>[{<<"content-type">>,<<"text/html; charset=utf-8">>},{<<"cache-control">>,<<"max-age=0, private, must-revalidate">>},{<<"x-request-id">>,<<"F9Ocx-l1wZSD4IsAAAVD">>}],path_info=>[],resp_body=><<"ok">>,path_params=>#{},method=><<"GET">>,req_headers=>[{<<"accept-language">>,<<"en-GB,en-US;q=0.9,en;q=0.8">>},{<<"accept-encoding">>,<<"gzip, deflate, br, zstd">>},{<<"sec-fetch-dest">>,<<"document">>},{<<"sec-fetch-user">>,<<"?1">>},{<<"sec-fetch-mode">>,<<"navigate">>},{<<"sec-fetch-site">>,<<"cross-site">>},{<<"accept">>,<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7">>},{<<"user-agent">>,<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36">>},{<<"upgrade-insecure-requests">>,<<"1">>},{<<"sec-ch-ua-platform">>,<<"\"macOS\"">>},{<<"sec-ch-ua-mobile">>,<<"?0">>},{<<"sec-ch-ua">>,<<"\"Google Chrome\";v=\"123\", \"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"123\"">>},{<<"cache-control">>,<<"max-age=0">>},{<<"connection">>,<<"keep-alive">>},{<<"host">>,<<"localhost:4004">>}],resp_cookies=>#{},req_cookies=>#{},remote_ip=>{127,0,0,1}},'duration_μs'=>15876,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"GET">>,32,<<"/">>,32,<<"[">>,<<"Sent">>,32,[<<"200">>,32],<<"in ">>,[<<"15">>,<<"ms">>],<<"]">>]},level=>info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]},level=>debug}
    reason: {error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>410,pid=><0.1451.0>,time=>1716888265407414,file=>"logger_h_common.erl",gl=><0.1082.0>,internal_log_event=>true,mfa=>{logger_h_common,try_format,3},report_cb=>fun logger:format_otp_report/1},msg=>{report,[{formatter_crashed,'Elixir.LoggerJSON.Formatters.DatadogLogger'},{config,[{metadata,[network,phoenix,duration,http,'usr.id']}]},{log_event,#{meta=>#{line=>62,pid=><0.1451.0>,time=>1716888265406347,file=>"lib/logger_json/plug.ex",gl=><0.1082.0>,domain=>[elixir],application=>logger_json,mfa=>{'Elixir.LoggerJSON.Plug',telemetry_logging_handler,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,conn=>#{owner=><0.1451.0>,port=>4004,private=>#{phoenix_view=>#{<<"html">>=>'Elixir.AccountsWeb.V1.AccountHTML',<<"json">>=>'Elixir.AccountsWeb.V1.AccountJSON'},'Elixir.AccountsWeb.Router'=>[],phoenix_action=>test,phoenix_layout=>#{<<"html">>=>{'Elixir.AccountsWeb.Layouts',app}},phoenix_controller=>'Elixir.AccountsWeb.V1.AccountController',phoenix_endpoint=>'Elixir.AccountsWeb.Endpoint',phoenix_router=>'Elixir.AccountsWeb.Router',plug_session_fetch=>#Fun<Elixir.Plug.Session.1.76384852>,before_send=>[#Fun<Elixir.Plug.Telemetry.0.54455629>],phoenix_request_logger=>{<<"request_logger">>,<<"request_logger">>}},scheme=>http,status=>200,script_name=>[],state=>set,host=><<"localhost">>,params=>#{},'__struct__'=>'Elixir.Plug.Conn',halted=>false,adapter=>{'Elixir.Bandit.Adapter',#{status=>nil,opts=>#{http=>[],websocket=>[],http_1=>[],http_2=>[]},'__struct__'=>'Elixir.Bandit.Adapter',metrics=>#{req_header_end_time=>-576460742267729375},method=><<"GET">>,upgrade=>nil,transport=>#{version=>'HTTP/1.1',buffer=><<>>,keepalive=>true,opts=>#{http=>[],websocket=>[],http_1=>[],http_2=>[]},socket=>#{socket=>#Port<0.29>,span=>#{'__struct__'=>'Elixir.ThousandIsland.Telemetry',telemetry_span_context=>#Ref<0.3334396846.2048131075.174099>,start_time=>-576460742299619167,span_name=>connection,start_metadata=>#{remote_port=>55503,remote_address=>{127,0,0,1},telemetry_span_context=>#Ref<0.3334396846.2048131075.174099>,parent_telemetry_span_context=>#Ref<0.3334396846.2048131075.173851>}},'__struct__'=>'Elixir.ThousandIsland.Socket',read_timeout=>60000,transport_module=>'Elixir.ThousandIsland.Transports.TCP',silent_terminate_on_error=>false},'__struct__'=>'Elixir.Bandit.HTTP1.Socket',body_encoding=>nil,bytes_remaining=>nil,read_state=>read,send_buffer=>nil,write_state=>unsent},content_encoding=><<"gzip">>,owner_pid=><0.1451.0>}},secret_key_base=><<"bItfhpl3JqbJ5YZF8Cdt9k0W5hkgyF9KjJDewljEwF6EBMiCazcfRV165fysh51b">>,cookies=>#{},request_path=><<"/">>,assigns=>#{},query_string=><<>>,body_params=>#{},query_params=>#{},resp_headers=>[{<<"content-type">>,<<"text/html; charset=utf-8">>},{<<"cache-control">>,<<"max-age=0, private, must-revalidate">>},{<<"x-request-id">>,<<"F9Ocx-l1wZSD4IsAAAVD">>}],path_info=>[],resp_body=><<"ok">>,path_params=>#{},method=><<"GET">>,req_headers=>[{<<"accept-language">>,<<"en-GB,en-US;q=0.9,en;q=0.8">>},{<<"accept-encoding">>,<<"gzip, deflate, br, zstd">>},{<<"sec-fetch-dest">>,<<"document">>},{<<"sec-fetch-user">>,<<"?1">>},{<<"sec-fetch-mode">>,<<"navigate">>},{<<"sec-fetch-site">>,<<"cross-site">>},{<<"accept">>,<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7">>},{<<"user-agent">>,<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36">>},{<<"upgrade-insecure-requests">>,<<"1">>},{<<"sec-ch-ua-platform">>,<<"\"macOS\"">>},{<<"sec-ch-ua-mobile">>,<<"?0">>},{<<"sec-ch-ua">>,<<"\"Google Chrome\";v=\"123\", \"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"123\"">>},{<<"cache-control">>,<<"max-age=0">>},{<<"connection">>,<<"keep-alive">>},{<<"host">>,<<"localhost:4004">>}],resp_cookies=>#{},req_cookies=>#{},remote_ip=>{127,0,0,1}},'duration_μs'=>15876,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"GET">>,32,<<"/">>,32,<<"[">>,<<"Sent">>,32,[<<"200">>,32],<<"in ">>,[<<"15">>,<<"ms">>],<<"]">>]},level=>info}},{reason,{error,undef,[{'Elixir.LoggerJSON.Formatters.DatadogLogger',format,[#{meta=>#{line=>62,pid=><0.1451.0>,time=>1716888265406347,file=>"lib/logger_json/plug.ex",gl=><0.1082.0>,domain=>[elixir],application=>logger_json,mfa=>{'Elixir.LoggerJSON.Plug',telemetry_logging_handler,4},request_id=><<"F9Ocx-l1wZSD4IsAAAVD">>,conn=>#{owner=><0.1451.0>,port=>4004,private=>#{phoenix_view=>#{<<"html">>=>'Elixir.AccountsWeb.V1.AccountHTML',<<"json">>=>'Elixir.AccountsWeb.V1.AccountJSON'},'Elixir.AccountsWeb.Router'=>[],phoenix_action=>test,phoenix_layout=>#{<<"html">>=>{'Elixir.AccountsWeb.Layouts',app}},phoenix_controller=>'Elixir.AccountsWeb.V1.AccountController',phoenix_endpoint=>'Elixir.AccountsWeb.Endpoint',phoenix_router=>'Elixir.AccountsWeb.Router',plug_session_fetch=>#Fun<Elixir.Plug.Session.1.76384852>,before_send=>[#Fun<Elixir.Plug.Telemetry.0.54455629>],phoenix_request_logger=>{<<"request_logger">>,<<"request_logger">>}},scheme=>http,status=>200,script_name=>[],state=>set,host=><<"localhost">>,params=>#{},'__struct__'=>'Elixir.Plug.Conn',halted=>false,adapter=>{'Elixir.Bandit.Adapter',#{status=>nil,opts=>#{http=>[],websocket=>[],http_1=>[],http_2=>[]},'__struct__'=>'Elixir.Bandit.Adapter',metrics=>#{req_header_end_time=>-576460742267729375},method=><<"GET">>,upgrade=>nil,transport=>#{version=>'HTTP/1.1',buffer=><<>>,keepalive=>true,opts=>#{http=>[],websocket=>[],http_1=>[],http_2=>[]},socket=>#{socket=>#Port<0.29>,span=>#{'__struct__'=>'Elixir.ThousandIsland.Telemetry',telemetry_span_context=>#Ref<0.3334396846.2048131075.174099>,start_time=>-576460742299619167,span_name=>connection,start_metadata=>#{remote_port=>55503,remote_address=>{127,0,0,1},telemetry_span_context=>#Ref<0.3334396846.2048131075.174099>,parent_telemetry_span_context=>#Ref<0.3334396846.2048131075.173851>}},'__struct__'=>'Elixir.ThousandIsland.Socket',read_timeout=>60000,transport_module=>'Elixir.ThousandIsland.Transports.TCP',silent_terminate_on_error=>false},'__struct__'=>'Elixir.Bandit.HTTP1.Socket',body_encoding=>nil,bytes_remaining=>nil,read_state=>read,send_buffer=>nil,write_state=>unsent},content_encoding=><<"gzip">>,owner_pid=><0.1451.0>}},secret_key_base=><<"bItfhpl3JqbJ5YZF8Cdt9k0W5hkgyF9KjJDewljEwF6EBMiCazcfRV165fysh51b">>,cookies=>#{},request_path=><<"/">>,assigns=>#{},query_string=><<>>,body_params=>#{},query_params=>#{},resp_headers=>[{<<"content-type">>,<<"text/html; charset=utf-8">>},{<<"cache-control">>,<<"max-age=0, private, must-revalidate">>},{<<"x-request-id">>,<<"F9Ocx-l1wZSD4IsAAAVD">>}],path_info=>[],resp_body=><<"ok">>,path_params=>#{},method=><<"GET">>,req_headers=>[{<<"accept-language">>,<<"en-GB,en-US;q=0.9,en;q=0.8">>},{<<"accept-encoding">>,<<"gzip, deflate, br, zstd">>},{<<"sec-fetch-dest">>,<<"document">>},{<<"sec-fetch-user">>,<<"?1">>},{<<"sec-fetch-mode">>,<<"navigate">>},{<<"sec-fetch-site">>,<<"cross-site">>},{<<"accept">>,<<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7">>},{<<"user-agent">>,<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36">>},{<<"upgrade-insecure-requests">>,<<"1">>},{<<"sec-ch-ua-platform">>,<<"\"macOS\"">>},{<<"sec-ch-ua-mobile">>,<<"?0">>},{<<"sec-ch-ua">>,<<"\"Google Chrome\";v=\"123\", \"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"123\"">>},{<<"cache-control">>,<<"max-age=0">>},{<<"connection">>,<<"keep-alive">>},{<<"host">>,<<"localhost:4004">>}],resp_cookies=>#{},req_cookies=>#{},remote_ip=>{127,0,0,1}},'duration_μs'=>15876,otel_span_id=>"ad01ccabc2b569c4",otel_trace_flags=>"01",otel_trace_id=>"df3f6b94b43bb0488db79c505d2029ce"},msg=>{string,[<<"GET">>,32,<<"/">>,32,<<"[">>,<<"Sent">>,32,[<<"200">>,32],<<"in ">>,[<<"15">>,<<"ms">>],<<"]">>]},level=>info},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}}]},level=>debug},[{metadata,[network,phoenix,duration,http,'usr.id']}]],[]}]}
joecorkerton commented 4 months ago

Just realised it was a silly mistake, using DatadogLogger rather than Datadog for the module name!

Thanks @AndrewDryga for the help

AndrewDryga commented 4 months ago

Ah, no worries. Issues like that are always hard to notice. Have a great day! :)