Настройки логирования 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(имя файла) может использоваться для перенаправления вывода в файл, а не на стандартный вывод.

Удачи, Сикули-парень!

Другие вопросы по тегам