Class: Watobo::Gui::LogViewer

Inherits:
FXVerticalFrame
  • Object
show all
Defined in:
lib/watobo/gui/log_viewer.rb

Constant Summary

Constants included from Constants

Constants::AC_GROUP_APACHE, Constants::AC_GROUP_DOMINO, Constants::AC_GROUP_ENUMERATION, Constants::AC_GROUP_FILE_INCLUSION, Constants::AC_GROUP_FLASH, Constants::AC_GROUP_GENERIC, Constants::AC_GROUP_JBOSS, Constants::AC_GROUP_JOOMLA, Constants::AC_GROUP_SAP, Constants::AC_GROUP_SQL, Constants::AC_GROUP_TYPO3, Constants::AC_GROUP_XSS, Constants::AUTH_TYPE_BASIC, Constants::AUTH_TYPE_DIGEST, Constants::AUTH_TYPE_NONE, Constants::AUTH_TYPE_NTLM, Constants::CHAT_SOURCE_AUTO_SCAN, Constants::CHAT_SOURCE_FUZZER, Constants::CHAT_SOURCE_INTERCEPT, Constants::CHAT_SOURCE_MANUAL, Constants::CHAT_SOURCE_MANUAL_SCAN, Constants::CHAT_SOURCE_PROXY, Constants::CHAT_SOURCE_UNDEF, Constants::DEFAULT_PORT_HTTP, Constants::DEFAULT_PORT_HTTPS, Constants::FINDING_TYPE_HINT, Constants::FINDING_TYPE_INFO, Constants::FINDING_TYPE_UNDEFINED, Constants::FINDING_TYPE_VULN, Constants::FIRST_TIME_FILE, Constants::GUI_REGULAR_FONT_SIZE, Constants::GUI_SMALL_FONT_SIZE, Constants::ICON_PATH, Constants::LOG_DEBUG, Constants::LOG_INFO, Constants::SCAN_CANCELED, Constants::SCAN_FINISHED, Constants::SCAN_PAUSED, Constants::SCAN_STARTED, Constants::TE_CHUNKED, Constants::TE_COMPRESS, Constants::TE_DEFLATE, Constants::TE_GZIP, Constants::TE_IDENTITY, Constants::TE_NONE, Constants::VULN_RATING_CRITICAL, Constants::VULN_RATING_HIGH, Constants::VULN_RATING_INFO, Constants::VULN_RATING_LOW, Constants::VULN_RATING_MEDIUM, Constants::VULN_RATING_UNDEFINED

Instance Method Summary collapse

Constructor Details

#initialize(parent, mode = nil, opts) ⇒ LogViewer

Returns a new instance of LogViewer.


61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/watobo/gui/log_viewer.rb', line 61

def initialize(parent, mode = nil, opts)
  opts[:padding]=0
  
  @mode = mode.nil? ? :inster : mode

  super(parent, opts)

  @log_queue = Queue.new

  @log_text_lock = Mutex.new

  @textbox = FXText.new(self,  nil, 0, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
  @textbox.editable = false
  start_update_timer
end

Instance Method Details

#log(log_level, msg) ⇒ Object

LOG_INFO


42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/watobo/gui/log_viewer.rb', line 42

def log(log_level, msg )

  t = Time.now
  now = t.strftime("%m/%d/%Y @ %H:%M:%S")

  begin
    log_text = case log_level
    when LOG_INFO
      "#{now}: #{msg}\n"
    else
    ""
    end
    @log_queue << log_text
  rescue => bang
    puts bang
    puts bang.backtrace if $DEBUG
  end
end

#purge_logsObject


28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/watobo/gui/log_viewer.rb', line 28

def purge_logs
  begin
    @log_text_lock.synchronize do
      @textbox.setText('')
    # @textbox.makePositionVisible 0
    end
  rescue => bang
    puts "! Could not purge logs"
    puts bang
    puts bang.backtrace if $DEBUG
  end
end