Module: LoggerPatch
- Defined in:
- lib/aws_lambda_ric/logger_patch.rb
Constant Summary collapse
- LOG_LEVEL_MAP =
{ 'TRACE' => Logger::DEBUG, 'DEBUG' => Logger::DEBUG, 'INFO' => Logger::INFO, 'WARN' => Logger::WARN, 'ERROR' => Logger::ERROR, 'FATAL' => Logger::FATAL }.freeze
Class Attribute Summary collapse
-
.aws_lambda_log_format ⇒ Object
readonly
Returns the value of attribute aws_lambda_log_format.
-
.aws_lambda_log_level ⇒ Object
readonly
Returns the value of attribute aws_lambda_log_level.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(logdev, shift_age = 0, shift_size = 1_048_576, **kwargs) ⇒ Object
shift_size default to 1 megabyte, matching Ruby Logger’s default log rotation size.
Class Attribute Details
.aws_lambda_log_format ⇒ Object (readonly)
Returns the value of attribute aws_lambda_log_format.
19 20 21 |
# File 'lib/aws_lambda_ric/logger_patch.rb', line 19 def aws_lambda_log_format @aws_lambda_log_format end |
.aws_lambda_log_level ⇒ Object (readonly)
Returns the value of attribute aws_lambda_log_level.
19 20 21 |
# File 'lib/aws_lambda_ric/logger_patch.rb', line 19 def aws_lambda_log_level @aws_lambda_log_level end |
Class Method Details
.json_format? ⇒ Boolean
27 28 29 |
# File 'lib/aws_lambda_ric/logger_patch.rb', line 27 def json_format? @aws_lambda_log_format == 'JSON' end |
.refresh_runtime_config! ⇒ Object
21 22 23 24 25 |
# File 'lib/aws_lambda_ric/logger_patch.rb', line 21 def refresh_runtime_config! @aws_lambda_log_format = ENV.fetch('AWS_LAMBDA_LOG_FORMAT', '').upcase env_level = ENV.fetch('AWS_LAMBDA_LOG_LEVEL', nil) @aws_lambda_log_level = LOG_LEVEL_MAP[env_level&.upcase] end |
Instance Method Details
#initialize(logdev, shift_age = 0, shift_size = 1_048_576, **kwargs) ⇒ Object
shift_size default to 1 megabyte, matching Ruby Logger’s default log rotation size.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/aws_lambda_ric/logger_patch.rb', line 35 def initialize(logdev, shift_age = 0, shift_size = 1_048_576, **kwargs) level_was_provided = kwargs.key?(:level) kwargs = { level: Logger::DEBUG, progname: nil, formatter: nil, datetime_format: nil, binmode: false, shift_period_suffix: '%Y%m%d' }.merge(kwargs) logdev_override = logdev if !logdev || logdev == $stdout || logdev == $stderr telemetry_sink = AwsLambdaRIC::TelemetryLogger.telemetry_log_sink logdev_override = telemetry_sink || logdev kwargs[:formatter] ||= LoggerPatch.json_format? ? JsonLogFormatter.new : LogFormatter.new kwargs[:level] = LoggerPatch.aws_lambda_log_level if !level_was_provided && LoggerPatch.aws_lambda_log_level end super(logdev_override, shift_age, shift_size, **kwargs) end |