loginator.rb 856 B

12345678910111213141516171819202122232425262728293031
  1. class Loginator
  2. constructor :configurator, :project_file_loader, :project_config_manager, :file_wrapper, :system_wrapper
  3. def setup_log_filepath
  4. config_files = []
  5. config_files << @project_file_loader.main_file
  6. config_files << @project_file_loader.user_file
  7. config_files.concat( @project_config_manager.options_files )
  8. config_files.compact!
  9. config_files.map! { |file| file.ext('') }
  10. log_name = config_files.join( '_' )
  11. @project_log_filepath = File.join( @configurator.project_log_path, log_name.ext('.log') )
  12. end
  13. def log(string, heading=nil)
  14. return if (not @configurator.project_logging)
  15. output = "\n[#{@system_wrapper.time_now}]"
  16. output += " :: #{heading}" if (not heading.nil?)
  17. output += "\n#{string.strip}\n"
  18. @file_wrapper.write(@project_log_filepath, output, 'a')
  19. end
  20. end