32 lines
856 B
Ruby
32 lines
856 B
Ruby
|
|
||
|
class Loginator
|
||
|
|
||
|
constructor :configurator, :project_file_loader, :project_config_manager, :file_wrapper, :system_wrapper
|
||
|
|
||
|
|
||
|
def setup_log_filepath
|
||
|
config_files = []
|
||
|
config_files << @project_file_loader.main_file
|
||
|
config_files << @project_file_loader.user_file
|
||
|
config_files.concat( @project_config_manager.options_files )
|
||
|
config_files.compact!
|
||
|
config_files.map! { |file| file.ext('') }
|
||
|
|
||
|
log_name = config_files.join( '_' )
|
||
|
|
||
|
@project_log_filepath = File.join( @configurator.project_log_path, log_name.ext('.log') )
|
||
|
end
|
||
|
|
||
|
|
||
|
def log(string, heading=nil)
|
||
|
return if (not @configurator.project_logging)
|
||
|
|
||
|
output = "\n[#{@system_wrapper.time_now}]"
|
||
|
output += " :: #{heading}" if (not heading.nil?)
|
||
|
output += "\n#{string.strip}\n"
|
||
|
|
||
|
@file_wrapper.write(@project_log_filepath, output, 'a')
|
||
|
end
|
||
|
|
||
|
end
|