Module: DataDuck::Logs
- Defined in:
- lib/dataduck/logs.rb
Constant Summary collapse
- @@ONE_MB_IN_BYTES =
1048576- @@logger =
nil
Class Method Summary collapse
- .debug(message) ⇒ Object
- .ensure_logger_exists! ⇒ Object
- .error(err, message = nil) ⇒ Object
- .info(message) ⇒ Object
- .sanitize_message(message) ⇒ Object
- .third_party_error_tracking!(err) ⇒ Object
- .warn(message) ⇒ Object
Class Method Details
.debug(message) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/dataduck/logs.rb', line 25 def Logs.debug() self.ensure_logger_exists! = Logs.() puts "[DEBUG] #{ message }" @@logger.debug() end |
.ensure_logger_exists! ⇒ Object
19 20 21 22 23 |
# File 'lib/dataduck/logs.rb', line 19 def Logs.ensure_logger_exists! log_file_path = DataDuck.project_root + '/log/dataduck.log' DataDuck::Util.ensure_path_exists!(log_file_path) @@logger ||= Logger.new(log_file_path, shift_age = 100, shift_size = 100 * @@ONE_MB_IN_BYTES) end |
.error(err, message = nil) ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/dataduck/logs.rb', line 49 def Logs.error(err, = nil) self.ensure_logger_exists! = err.to_s unless = Logs.() puts "[ERROR] #{ message }" @@logger.error() Logs.third_party_error_tracking!(err) end |
.info(message) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/dataduck/logs.rb', line 33 def Logs.info() self.ensure_logger_exists! = Logs.() puts "[INFO] #{ message }" @@logger.info() end |
.sanitize_message(message) ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/dataduck/logs.rb', line 72 def Logs.() = .gsub(/aws_access_key_id=[^';]+/, "aws_access_key_id=******") = .gsub(/AWS_ACCESS_KEY_ID=[^';]+/, "AWS_ACCESS_KEY_ID=******") = .gsub(/aws_secret_access_key=[^';]+/, "aws_secret_access_key=******") = .gsub(/AWS_SECRET_ACCESS_KEY=[^';]+/, "AWS_SECRET_ACCESS_KEY=******") end |
.third_party_error_tracking!(err) ⇒ Object
62 63 64 65 66 67 68 69 70 |
# File 'lib/dataduck/logs.rb', line 62 def Logs.third_party_error_tracking!(err) if ENV['SENTRY_DSN'] Raven.capture_exception(err) end if ENV['AIRBRAKE_PROJECT_ID'] && ENV['AIRBRAKE_PROJECT_KEY'] Airbrake.notify_sync(err) end end |
.warn(message) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/dataduck/logs.rb', line 41 def Logs.warn() self.ensure_logger_exists! = Logs.() puts "[WARN] #{ message }" @@logger.warn() end |