Class TaskJuggler::LogFile
In: lib/taskjuggler/LogFile.rb
Parent: Object

Methods

debug   error   fatal   info   log   new   warning  

Included Modules

Singleton

Attributes

appName  [RW] 
logFile  [RW] 
logLevel  [RW] 
outputLevel  [RW] 

Public Class methods

[Source]

# File lib/taskjuggler/LogFile.rb, line 24
    def initialize
      @logFile = 'logfile'
      @appName = 'undefined'
      @logLevel = 3
      @outputLevel = 3
    end

Public Instance methods

[Source]

# File lib/taskjuggler/LogFile.rb, line 31
    def debug(message)
      $stderr.puts message if @outputLevel >= 4
      log('DEBUG', message) if @logLevel >= 4
    end

[Source]

# File lib/taskjuggler/LogFile.rb, line 46
    def error(message)
      $stderr.puts message if @outputLevel >= 1
      log("ERROR", message) if @logLevel >= 1
    end

[Source]

# File lib/taskjuggler/LogFile.rb, line 51
    def fatal(message)
      $stderr.puts message if @outputLevel >= 0
      log("FATAL", message) if @logLevel >= 0
      exit 1
    end

[Source]

# File lib/taskjuggler/LogFile.rb, line 36
    def info(message)
      $stderr.puts message if @outputLevel >= 3
      log('INFO', message) if @logLevel >= 3
    end

[Source]

# File lib/taskjuggler/LogFile.rb, line 57
    def log(type, message)
      timeStamp = Time.new.strftime("%Y-%m-%d %H:%M:%S")
      begin
        @logFile.untaint
        File.open(@logFile, 'a') do |f|
          f.write("#{timeStamp} #{type} #{@appName}[#{Process.pid}]: " +
                  "#{message}\n")
        end
      rescue
        $stderr.puts "Cannot write to log file #{@logFile}: #{$!}"
      end
    end

[Source]

# File lib/taskjuggler/LogFile.rb, line 41
    def warning(message)
      $stderr.puts message if @outputLevel >= 2
      log('WARN', message) if @logLevel >= 2
    end

[Validate]