Module: Logging
Overview
The Logging module
Class Method Summary collapse
-
.config ⇒ Object
rubocop: disable Metrics/MethodLength.
- .log_level ⇒ Object
-
.log_level=(log_level) ⇒ Object
rubocop: enable Metrics/CyclomaticComplexity.
-
.symbolize_numeric_log_level(level) ⇒ Object
rubocop: disable Metrics/CyclomaticComplexity OFF: 0 FATAL: 100 ERROR: 200 WARN: 300 INFO: 400 DEBUG: 500 TRACE: 600 ALL: 2147483647 See: logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Level.html.
Instance Method Summary collapse
-
#get_formatted_logger_name(logger_name = nil) ⇒ Object
rubocop: enable Metrics/AbcSize.
-
#init_java_logger(level, logger_name = nil, source_location = nil) ⇒ Object
rubocop: disable Metrics/AbcSize.
- #init_logger(level = :all, logger_name = nil) ⇒ Object
- #init_ruby_logger(level) ⇒ Object
- #log(level = Logging.log_level, log_name = nil) ⇒ Object (also: #logger)
Class Method Details
.config ⇒ Object
rubocop: disable Metrics/MethodLength
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/log.rb', line 22 def config @config ||= begin lib_dir_path = File.(__dir__) project_dir_path = File.(File.dirname(lib_dir_path)) logs_dir_path = File.(File.join(project_dir_path, 'logs')) server_log_file = File.(File.join(logs_dir_path, 'server.log')) { level: :info, name: 'telnet', logs_dir_path: logs_dir_path, server_log_file: server_log_file, rolling_log_file_name_template: 'server-%d{yyyy-MM-dd}.log.gz', logger_pattern_template: '%d{ABSOLUTE} %-5p [%c{1}] %m%n', schedule: '0 0 0 * * ?', size: '100M' } end end |
.log_level ⇒ Object
219 220 221 |
# File 'lib/log.rb', line 219 def log_level Logging.config[:level] end |
.log_level=(log_level) ⇒ Object
rubocop: enable Metrics/CyclomaticComplexity
215 216 217 |
# File 'lib/log.rb', line 215 def log_level=(log_level) Logging.config[:level] = symbolize_numeric_log_level(log_level) end |
.symbolize_numeric_log_level(level) ⇒ Object
rubocop: disable Metrics/CyclomaticComplexity OFF: 0 FATAL: 100 ERROR: 200 WARN: 300 INFO: 400 DEBUG: 500 TRACE: 600 ALL: 2147483647 See: logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Level.html
201 202 203 204 205 206 207 208 209 210 211 212 |
# File 'lib/log.rb', line 201 def symbolize_numeric_log_level(level) case level when 5..Float::INFINITY then :off when 4 then :fatal when 3 then :error when 2 then :warn when 1 then :info when 0 then :debug when -1 then :trace when -2..-Float::INFINITY then :all end end |
Instance Method Details
#get_formatted_logger_name(logger_name = nil) ⇒ Object
rubocop: enable Metrics/AbcSize
178 179 180 181 182 |
# File 'lib/log.rb', line 178 def get_formatted_logger_name(logger_name = nil) return logger_name.to_s[/\w+$/] unless logger_name.nil? return name[/\w+$/] if is_a?(Class) || is_a?(Module) self.class.name[/\w+$/] end |
#init_java_logger(level, logger_name = nil, source_location = nil) ⇒ Object
rubocop: disable Metrics/AbcSize
169 170 171 172 173 174 175 |
# File 'lib/log.rb', line 169 def init_java_logger(level, logger_name = nil, source_location = nil) logger_name = get_formatted_logger_name(logger_name) logger_name = source_location.split(/\//).last if logger_name.empty? logger_instance = org.apache.logging.log4j.LogManager.getLogger(logger_name) logger_instance.level = org.apache.logging.log4j.Level.to_level(level.to_s.upcase) logger_instance end |
#init_logger(level = :all, logger_name = nil) ⇒ Object
157 158 159 160 |
# File 'lib/log.rb', line 157 def init_logger(level = :all, logger_name = nil) return init_java_logger(level, logger_name, caller[2]) if defined?(Java) init_ruby_logger(level) end |