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

Ignore metadata "time" #51

Closed w1mvy closed 4 years ago

w1mvy commented 4 years ago

Description

When use Elixir 1.10 and GoogleCloudLogging Formatter, logger_json's millseconds "time" value be overwritten by metadata microseconds "time". According to the documentation, logger_json be expected "time" value is milliseconds. So, Made a change to add "time" to ignored_metadata_keys.

Fixed: #49

Before

Basic Formatter

%{"message" => "hello", "metadata" => %{"domain" => ["elixir"], "dynamic_metadata" => 5, "time" => 1596772387300756, "user_id" => 11}, "severity" => "debug", "time" => "2020-08-07T12:53:07.302Z"}

GoogleCloudLogging Formatter

%{"domain" => ["elixir"], "logging.googleapis.com/sourceLocation" => %{"file" => "/Users/w1mvy/ghq/github.com/Nebo15/logger_json/test/unit/logger_
json_google_test.exs", "function" => "Elixir.LoggerJSONGoogleTest.test logs binary messages/1", "line" => 59}, "message" => "hello", "severity" => "DEBUG", "time" => 1596772397130034}

After

Basic Formatter

%{"message" => "hello", "metadata" => %{"domain" => ["elixir"], "dynamic_metadata" => 5, "user_id" => 11}, "severity" => "debug", "time" => "2020-08-07T12:54:31.489Z"}

GoogleCloudLogging Formatter

%{"domain" => ["elixir"], "logging.googleapis.com/sourceLocation" => %{"file" => "/Users/w1mvy/ghq/github.com/Nebo15/logger_json/test/unit/logger_json_google_test.exs", "function" => "Elixir.LoggerJSONGoogleTest.test logs binary messages/1", "line" => 59}, "message" => "hello", "severity" => "DEBUG", "time" => "2020-08-07T12:54:43.897Z"}
coveralls commented 4 years ago

Coverage Status

Coverage remained the same at 74.118% when pulling 41be37581cdcc08d65947f13eacd5dfe4271b42c on w1mvy:ignore-metadata-time into 1eb578a4c3286857f65f855fe2df69d13ee4f125 on Nebo15:master.

w1mvy commented 4 years ago

Thanks merge 👍