Module: Tina4::Log
- Defined in:
- lib/tina4/log.rb
Constant Summary collapse
- LEVELS =
{ "[TINA4_LOG_ALL]" => 0, "[TINA4_LOG_DEBUG]" => 0, "[TINA4_LOG_INFO]" => 1, "[TINA4_LOG_WARNING]" => 2, "[TINA4_LOG_ERROR]" => 3, "[TINA4_LOG_NONE]" => 4 }.freeze
- SEVERITY_MAP =
{ debug: 0, info: 1, warn: 2, error: 3 }.freeze
- COLORS =
{ reset: "\e[0m", red: "\e[31m", green: "\e[32m", yellow: "\e[33m", blue: "\e[34m", magenta: "\e[35m", cyan: "\e[36m", gray: "\e[90m" }.freeze
- ANSI_RE =
ANSI escape code regex for stripping from file output
/\033\[[0-9;]*m/
Class Attribute Summary collapse
-
.log_dir ⇒ Object
readonly
Returns the value of attribute log_dir.
Class Method Summary collapse
- .clear_request_id ⇒ Object
- .configure(root_dir = Dir.pwd) ⇒ Object
- .debug(message, context = {}) ⇒ Object
- .error(message, context = {}) ⇒ Object
- .get_request_id ⇒ Object
- .info(message, context = {}) ⇒ Object
- .json_mode? ⇒ Boolean
- .set_request_id(id) ⇒ Object
- .warning(message, context = {}) ⇒ Object
Class Attribute Details
.log_dir ⇒ Object (readonly)
Returns the value of attribute log_dir.
31 32 33 |
# File 'lib/tina4/log.rb', line 31 def log_dir @log_dir end |
Class Method Details
.clear_request_id ⇒ Object
54 55 56 |
# File 'lib/tina4/log.rb', line 54 def clear_request_id @mutex.synchronize { @request_id = nil } end |
.configure(root_dir = Dir.pwd) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/tina4/log.rb', line 33 def configure(root_dir = Dir.pwd) @log_dir = File.join(root_dir, "logs") FileUtils.mkdir_p(@log_dir) @max_size_mb = (ENV["TINA4_LOG_MAX_SIZE"] || "10").to_i @max_size = @max_size_mb * 1024 * 1024 @keep = (ENV["TINA4_LOG_KEEP"] || "5").to_i @json_mode = production? @log_file = File.join(@log_dir, "tina4.log") @console_level = resolve_level @request_id = nil @current_context = {} @mutex = Mutex.new @initialized = true end |
.debug(message, context = {}) ⇒ Object
70 71 72 |
# File 'lib/tina4/log.rb', line 70 def debug(, context = {}) log(:debug, , context) end |
.error(message, context = {}) ⇒ Object
78 79 80 |
# File 'lib/tina4/log.rb', line 78 def error(, context = {}) log(:error, , context) end |
.get_request_id ⇒ Object
58 59 60 |
# File 'lib/tina4/log.rb', line 58 def get_request_id @mutex.synchronize { @request_id } end |
.info(message, context = {}) ⇒ Object
66 67 68 |
# File 'lib/tina4/log.rb', line 66 def info(, context = {}) log(:info, , context) end |
.json_mode? ⇒ Boolean
62 63 64 |
# File 'lib/tina4/log.rb', line 62 def json_mode? @json_mode end |
.set_request_id(id) ⇒ Object
50 51 52 |
# File 'lib/tina4/log.rb', line 50 def set_request_id(id) @mutex.synchronize { @request_id = id } end |
.warning(message, context = {}) ⇒ Object
74 75 76 |
# File 'lib/tina4/log.rb', line 74 def warning(, context = {}) log(:warn, , context) end |