start here:
http://sikulix.com

button <nightly builds>

there you find everything.

the current gem:
https://rubygems.org/gems/sikulix

-- 
You received this bug notification because you are a member of Sikuli
Drivers, which is subscribed to Sikuli.
https://bugs.launchpad.net/bugs/1350735

Title:
  [request] want options to redirect Sikuli's log messages to my own
  logging

Status in Sikuli:
  In Progress

Bug description:
  A previous thread that is closest to answering my current question is:
      https://answers.launchpad.net/sikuli/+question/248604
  in which RaiMan suggest the usage of a setSikuliXLogCallback

  I searched the net for setSikuliXLogCallback, but the only hit I got
  was that thread.  Hence this question/plea for more detail.

  I recently started looking into Sikuli using IDE first, then I moved onto 
using standalone Jython, and then finally had the courage to venture into using 
Ruby, which is the primary language of my test framework.
  I was pleasantly surprised how easy and great the interface was. Kudos to 
RaiMan and contributors on this great tool.

  Now, onto my question...
  I can redirect the java output to a single log file via 
Debug.setLogFile(log_file). 
  My test framework, however, uses Log4R which direct the log output to 
multiple files as well as the console. 
  Ideally I would like to redirect the logging requests to my logger to do it's 
thing, so that I can get all the output like:
  [LOG] CLICK on L(27,10)@S(0)[0,0 1440x900]
  in the standard log files.

  I kind-a implemented a workaround that does this as follows:
  1. I put in a one-line callback patch in the native_exception_protect() 
method  in the sikulix.rb  file, like this:
              m.bind(self).call(*args)  # previous existing line
              SikuliX4Ruby.post_region_callback(m) if 
SikuliX4Ruby.respond_to?(:post_region_callback)  # line added

  2.  Redirected the java logs to a temp file first, by defining and calling 
the following:
  module SikuliLib
     def self.log_file=(log_file)
      @@log_file = log_file
      Debug.setLogFile(log_file)
  end

  3.  Captured the original logoutput and logged it via myLogger as such:
  module SikuliX4Ruby
    def self.post_region_callback(method = nil, obj =nil)
      file = SikuliLib.log_file
      File.readlines(file).each { |line| myLogger.info(line.chomp) } if 
File.size?(file)
      FileUtils.rm file
    end
  end

  My workaround does the trick for now, but I'm not happy about the fact that I 
had to copy and patch the sikulix.rb file.
  I would rather not muck with original SikuliX distribution files and use a 
callback that is officially supported, if there is one (The previous question 
thread hinted that there might be one already.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/sikuli/+bug/1350735/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~sikuli-driver
Post to     : sikuli-driver@lists.launchpad.net
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp

Reply via email to