Javaアプリケーションでsikuli-script.jarを使用しています。コンソールに多くのログメッセージを書き込みます。そこで、ロギングを無効にするか、ロギングレベルを変更したいと思います。どうすればこれを行うことができますか?そこで使用されているロギングライブラリとその構成方法を教えてください。
5 に答える
Sikuliスクリプトを数回実行しましたが、冗長な出力に気付くことはありませんでした。次のようなオプションをJVMに渡すことで、オーバーライドできると思います。
-Dsikuli.Debug=ERROR
また
-Dsikuli.Debug=0
これはテストされていない答えです。自分で試してみる必要があります。
Javaを使用している場合は、代わりにSikuli-APIを確認することをお勧めします。これは、より標準的なJavaライブラリにしようとしています。
Sikuli-APIはSLF4Jを使用するため、使用するログフレームワークに接続するだけで(私はLogbackが大好きです)、その構成を使用します。
上部のスクリプトにこの行を含めると、stdout:Dでのマウスクリックログなどのアクションログを無効にできます。
Settings.ActionLogs=0
sikuli-java.jarで、sikuli-basicsはいくつかの構成可能なオプションへのアクセスを許可します。
Settings.ActionLogs
Settings.InfoLogs
どちらか/両方にfalseを割り当てて、ロギングを無効にすることができます。
または、Debug.setLogFile(filename)を使用して、出力をstdoutではなくファイルにリダイレクトすることもできます。
頑張って、sikuli-guy!
Mac OS X10.11.5およびJDK1.8でのSikuli1.1.0の場合、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)コマンドの最後に配置するのではなく、「java」の直後に-Dsikuli.Debug=-2をJVMオプションとして配置する必要があります