semantic_logger_datadog 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 020c3daa1a448ca0458063e7aeb32302a5836f10bd5a734926eb7fa42178b956
4
- data.tar.gz: 8c2206bf4c264dbd82a8dd50ab13a7f14e7bc80b3a9e59fb366061215d6a4815
3
+ metadata.gz: 2025f51dda770776569afc5db87ded32b635dc0754070cfddbe1f471bcb6eb4c
4
+ data.tar.gz: 86dcb7f5a2bb59d130e07e314c7b9bbfa5faa2343a079e39ebedd1190e760ba7
5
5
  SHA512:
6
- metadata.gz: 231b648522e693a3d957ceb3293d44013827759312a62794edeb69bba44e026ad247308f28e33f0e32ee3dd55461d78136fd39d4db7d29b4403b7a4a0cdb450a
7
- data.tar.gz: b0f7354bca0178bb90d7efdf82f88cba0905d580e9dd02822a1458ef40b6ed9598fcc5858c93605d798d99711adf7e1bff9679e173608ea1ea2e2c3dbf77b4b6
6
+ metadata.gz: 5d9074ab8f9bcb59a4ac1285dd95c400e035dfcbfd315496354a31e05881b898103131fb837dd058af3d2184dd3548c8fe741b8383997099d4611c62f1c40abb
7
+ data.tar.gz: 324d9f5afcf7b3f3022462a4a17bac09cb83fd7df1f6df4127d24d1c98155186b76033bd5191fcf6ee88970c298dcceaa7dff8a717899711cf904a5186899f2a
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # semantic_logger_datadog
2
2
 
3
- **[Semantic Logger](https://logger.rocketjob.io) formatter for submitting JSON logs to [Datadog](https://www.datadoghq.com).**
3
+ **[Semantic Logger](https://logger.reidmorrison.com) formatter for submitting JSON logs to [Datadog](https://www.datadoghq.com).**
4
4
 
5
5
  [![Gem](https://img.shields.io/gem/v/semantic_logger_datadog.svg?logo=rubygems&style=for-the-badge)](https://rubygems.org/gems/semantic_logger_datadog)
6
6
  [![Downloads](https://img.shields.io/gem/dt/semantic_logger_datadog.svg?logo=rubygems&style=for-the-badge)](https://rubygems.org/gems/semantic_logger_datadog)
@@ -22,7 +22,7 @@ require "semantic_logger_datadog"
22
22
  # Set the global default log level.
23
23
  SemanticLogger.default_level = :trace
24
24
 
25
- # Log to a file, and use the Datadog formatter.
25
+ # Log to a file and use the Datadog formatter.
26
26
  SemanticLogger.add_appender(file_name: "development.log", formatter: SemanticLoggerDatadog::Formatters::Json.new)
27
27
 
28
28
  # Create an instance of a logger and add the class name to every log message.
@@ -32,7 +32,7 @@ logger = SemanticLogger["MyClass"]
32
32
  logger.info "Hello, world!"
33
33
  ```
34
34
 
35
- Refer to [Semantic Logger's documentation](https://logger.rocketjob.io/customize.html) for more customization options.
35
+ Refer to [Semantic Logger's documentation](https://logger.reidmorrison.com/config.html) for more configuration options.
36
36
 
37
37
  ## Configuring Ruby on Rails
38
38
 
@@ -47,7 +47,7 @@ The included middleware configures relevant log tags using values provided by [A
47
47
 
48
48
  ### Adding custom controller action data
49
49
 
50
- Optionally configure user-specific data in `app/controllers/application_controller.rb` by adding [an `append_info_to_payload` method](https://logger.rocketjob.io/rails.html#adding-custom-data-to-the-rails-completed-log-message):
50
+ Optionally configure user-specific data in `app/controllers/application_controller.rb` by adding [an `append_info_to_payload` method](https://logger.reidmorrison.com/rails.html#add-custom-data-to-the-completed-message):
51
51
 
52
52
  ```ruby
53
53
  def append_info_to_payload(payload)
@@ -7,9 +7,18 @@ module SemanticLoggerDatadog
7
7
  super
8
8
  end
9
9
 
10
+ # Returns log messages in JSON format.
11
+ #
10
12
  # @return [String]
11
13
  def call(*)
12
- super.to_json
14
+ SemanticLogger::Utils.to_json(super)
15
+ end
16
+
17
+ # Returns a batch of log messages as a JSON array.
18
+ #
19
+ # @return [String]
20
+ def batch(logs, logger)
21
+ "[#{logs.map { |log| call(log, logger) }.join(",")}]"
13
22
  end
14
23
  end
15
24
  end
@@ -3,6 +3,8 @@
3
3
  module SemanticLoggerDatadog
4
4
  module Formatters
5
5
  class Raw < SemanticLogger::Formatters::Raw
6
+ # Returns log messages in Hash format.
7
+ #
6
8
  # @return [Hash]
7
9
  def call(*)
8
10
  super
@@ -66,7 +68,7 @@ module SemanticLoggerDatadog
66
68
 
67
69
  # Don't log process ID.
68
70
  #
69
- # @see https://logger.rocketjob.io/customize.html#example-do-not-log-the-process-id
71
+ # @see https://logger.reidmorrison.com/config.html#:~:text=A%20common%20request%20is%20to%20leave%20out%20the%20process%20id
70
72
  #
71
73
  # @return [nil]
72
74
  def pid
@@ -10,29 +10,25 @@ require_relative "middleware"
10
10
 
11
11
  module SemanticLoggerDatadog
12
12
  class Railtie < Rails::Railtie
13
+ # Log to standard output when +RAILS_LOG_TO_STDOUT+ is configured.
14
+ #
15
+ # @see https://logger.reidmorrison.com/rails.html#output-formats
16
+ # @see https://logger.reidmorrison.com/rails.html#production-on-a-container-platform-docker-kubernetes-heroku
17
+ if ENV["RAILS_LOG_TO_STDOUT"].present?
18
+ config.rails_semantic_logger.appenders do |appenders|
19
+ appenders.add(formatter: SemanticLoggerDatadog::Formatters::Json.new, io: $stdout)
20
+ end
21
+ end
22
+
13
23
  initializer "semantic_logger_datadog.configure_rails_initialization" do |app|
14
24
  # Set application name.
15
25
  app.config.semantic_logger.application = Rails.application.name
16
26
 
17
27
  # Set backtrace level to avoid memory leaks due to high object allocation.
18
28
  #
19
- # @see https://logger.rocketjob.io/rails.html#include-the-file-name-and-line-number-in-the-source-code-where-the-message-originated
29
+ # @see https://logger.reidmorrison.com/rails.html#source-file-name-and-line-number
20
30
  app.config.semantic_logger.backtrace_level = :error if Rails.env.production?
21
31
 
22
- # Set log output format.
23
- #
24
- # @see https://logger.rocketjob.io/rails.html#output-format
25
- app.config.rails_semantic_logger.format = SemanticLoggerDatadog::Formatters::Json.new
26
-
27
- # Log to standard output when +RAILS_LOG_TO_STDOUT+ is configured.
28
- #
29
- # @see https://logger.rocketjob.io/rails.html#log-to-standard-out
30
- if ENV["RAILS_LOG_TO_STDOUT"].present?
31
- $stdout.sync = true
32
- app.config.rails_semantic_logger.add_file_appender = false
33
- app.config.semantic_logger.add_appender(formatter: app.config.rails_semantic_logger.format, io: $stdout)
34
- end
35
-
36
32
  app.middleware.insert_before RailsSemanticLogger::Rack::Logger, SemanticLoggerDatadog::Middleware
37
33
  end
38
34
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  Gem::Specification.new do |spec|
4
- spec.required_ruby_version = ">= 3.1"
4
+ spec.required_ruby_version = ">= 3.2"
5
5
 
6
6
  spec.name = "semantic_logger_datadog"
7
- spec.version = "0.2.0"
7
+ spec.version = "1.0.0"
8
8
  spec.authors = ["CargoSense"]
9
9
  spec.email = ["rubygems@cargosense.com"]
10
10
 
@@ -28,5 +28,5 @@ Gem::Specification.new do |spec|
28
28
  "source_code_uri" => "#{spec.homepage}/tree/v#{spec.version}",
29
29
  }
30
30
 
31
- spec.add_dependency "semantic_logger", "~> 4.17"
31
+ spec.add_dependency "semantic_logger", "~> 5.1"
32
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semantic_logger_datadog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CargoSense
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '4.17'
18
+ version: '5.1'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '4.17'
25
+ version: '5.1'
26
26
  description: Semantic Logger formatter for submitting JSON logs to Datadog.
27
27
  email:
28
28
  - rubygems@cargosense.com
@@ -44,10 +44,10 @@ licenses:
44
44
  metadata:
45
45
  bug_tracker_uri: https://github.com/CargoSense/semantic_logger_datadog/issues
46
46
  changelog_uri: https://github.com/CargoSense/semantic_logger_datadog/releases
47
- documentation_uri: https://rubydoc.info/gems/semantic_logger_datadog/0.2.0
47
+ documentation_uri: https://rubydoc.info/gems/semantic_logger_datadog/1.0.0
48
48
  homepage_uri: https://github.com/CargoSense/semantic_logger_datadog
49
49
  rubygems_mfa_required: 'true'
50
- source_code_uri: https://github.com/CargoSense/semantic_logger_datadog/tree/v0.2.0
50
+ source_code_uri: https://github.com/CargoSense/semantic_logger_datadog/tree/v1.0.0
51
51
  rdoc_options: []
52
52
  require_paths:
53
53
  - lib
@@ -55,14 +55,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
55
  requirements:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
- version: '3.1'
58
+ version: '3.2'
59
59
  required_rubygems_version: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  requirements: []
65
- rubygems_version: 3.7.2
65
+ rubygems_version: 4.0.21
66
66
  specification_version: 4
67
67
  summary: Semantic Logger formatter for submitting JSON logs to Datadog.
68
68
  test_files: []