lib/cryptum/log.rb in cryptum-0.0.388 vs lib/cryptum/log.rb in cryptum-0.0.389
- old
+ new
@@ -5,31 +5,35 @@
module Log
# Supported Method Parameters::
# Cryptum::Log.create(
# )
public_class_method def self.append(opts = {})
+ level = opts[:level].to_s.downcase.to_sym
+ msg = opts[:msg]
+ which_self = opts[:which_self].to_s
+ event_history = opts[:event_history]
+
+ # Always append to log file
+ log_file = File.open('/tmp/cryptum.log', 'a')
+
# Leave 10 "old" log files where
# each file is ~ 1,024,000 bytes
- log_file = File.open('/tmp/cryptum.log', 'a')
logger = Logger.new(
log_file,
10,
1_024_000
)
- level = opts[:level].to_s.downcase.to_sym
- msg = opts[:msg]
- which_self = opts[:which_self].to_s
- event_history = opts[:event_history]
+ # Only attempt to exit gracefully if level == :error
exit_gracefully = false
case level
when :debug
logger.level = Logger::DEBUG
when :error
- logger.level = Logger::ERROR
exit_gracefully = true
+ logger.level = Logger::ERROR
when :fatal
# This is reserved for:
# Cryptum::UI::Exit
# module(s) if StandardError is triggered.
# This ensures we're not infintely attempting
@@ -44,14 +48,18 @@
else
raise "ERROR: Invalid log level. Valid options are:\n:info\n:warn\n:unknown\n:fatal\n:error\n:debug"
end
logger.datetime_format = '%Y-%m-%d %H:%M:%S.%N'
+ log_event = ''
+ log_event = event_history.order_book[:path] if event_history.respond_to?('order_book')
if msg.instance_of?(Interrupt)
- logger.add(logger.level, 'CTRL+C Detected...Ended Session.', which_self)
+ log_event += ' => CTRL+C Detected...Exiting Session.'
else
- logger.add(logger.level, msg, which_self)
+ log_event += " => #{msg}"
end
+
+ logger.add(logger.level, log_event, which_self)
Cryptum::UI::Exit.gracefully(event_history: event_history) if exit_gracefully
rescue Interrupt, StandardError => e
raise e
end