Настройки логирования Sikuli
Я использую sikuli-script.jar в своем Java-приложении. Он пишет много сообщений в журнале консоли. Итак, я хочу отключить ведение журнала или изменить уровень ведения журнала. Как я могу это сделать? Какая библиотека логирования там используется и как ее можно настроить?
5 ответов
Я запускал несколько сценариев Sikuli несколько раз и никогда не замечал подробного вывода. Я думаю, что вы можете переопределить его, передав в JVM такую опцию:
-Dsikuli.Debug=ERROR
или же
-Dsikuli.Debug=0
Это непроверенный ответ. Вы должны попробовать это сами.
Если вы используете Java, вы можете вместо этого проверить Sikuli-API. Он пытается быть более стандартной библиотекой Java.
Sikuli-API использует SLF4J, поэтому вы просто подключаете его к любой используемой среде ведения журналов (мне очень нравится Logback), и он будет использовать эту конфигурацию.
Вы можете включить эту строку в свой сценарий вверху, чтобы отключить журналы действий, такие как журналы щелчков мышью на стандартный вывод:D
Settings.ActionLogs=0
Для Sikuli 1.1.0 под Mac OS X 10.11.5 и JDK 1.8 это единственный способ, которым я могу запретить ведение журнала при запуске сценария через CLI:
java -Dsikuli.Debug=-2 -jar /Applications/SikuliX.app/Contents/Java/sikulix.jar -r /path/to/your/test.sikuli
НОТА:
1) Вы должны установить -Dsikuli.Debug в -2, чтобы заставить его работать (спасибо @NullPointer)
2) Вы должны поместить -Dsikuli.Debug=-2 в качестве опции JVM сразу после "java" вместо того, чтобы поместить ее в конце команды
В файле sikuli-java.jar sikuli-basics предоставляет доступ к некоторым настраиваемым параметрам:
Settings.ActionLogs
Settings.InfoLogs
Либо / обоим можно присвоить значение false, чтобы отключить ведение журнала.
В качестве альтернативы, Debug.setLogFile(имя файла) может использоваться для перенаправления вывода в файл, а не на стандартный вывод.
Удачи, Сикули-парень!