summaryrefslogtreecommitdiffstats
path: root/tinyusb/test/vendor/ceedling/lib/ceedling/loginator.rb
blob: 92276e1dfdc8c9f4129ae9f2d8ba6fab8c9e967d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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