module Logging
Logging
function module
Public Class Methods
configure_logger_for(classname)
click to toggle source
Configure Logger instance for the user class.
-
create Logger instance with given log file and sterams
-
set progname to user class name
# File lib/sony_camera_remote_api/logging.rb, line 74 def configure_logger_for(classname) @log_file.compact! fios = @log_file.map do |f| f.is_a?(String) ? File.open(f, 'a') : f end logger = Logger.new MultiDelegator.delegate(:write, :close).to(*fios) logger.progname = classname.split('::')[-1] logger.level = @@level logger end
log_file(classname, log_file)
click to toggle source
Set log files and streams. Logger class instance is re-created.
# File lib/sony_camera_remote_api/logging.rb, line 61 def log_file(classname, log_file) @log_file = Array(log_file) @loggers[classname] = nil end
logger_for(classname)
click to toggle source
Get Logger class instance or create it for the user class
# File lib/sony_camera_remote_api/logging.rb, line 67 def logger_for(classname) @loggers[classname] ||= configure_logger_for(classname) end
Public Instance Methods
log()
click to toggle source
Get Logger class instance for the user class. @return [Logger] Logging
class instance
# File lib/sony_camera_remote_api/logging.rb, line 29 def log @logger ||= Logging.logger_for(self.class.name) end
set_level(level)
click to toggle source
Set log level. @param [Fixnum] level Log level for Logger object.
# File lib/sony_camera_remote_api/logging.rb, line 44 def set_level(level) @@level = level end
set_output(*log_file)
click to toggle source
Set file name or stream to output log. Log file is common in each user class. @param [String, IO, Array<String, IO>] log_file
file name or stream to output log. @return [void]
# File lib/sony_camera_remote_api/logging.rb, line 38 def set_output(*log_file) Logging.log_file self.class.name, log_file end