Androidで開発していると、コンソール(logcat)でいくつかのアサートを見逃すことがあるので、logcatに「Assert」メッセージが届くたびに通知を受け取りたいと思います。たとえば、「growl」通知があります(Mac OSを使用しています)。バツ)。
私はこの簡単なコマンドを試しました:
adb logcat | grep Assert | growlnotify
しかし、logcatプロセスを強制終了するまで通知は送信されません。
何か案は?
Androidで開発していると、コンソール(logcat)でいくつかのアサートを見逃すことがあるので、logcatに「Assert」メッセージが届くたびに通知を受け取りたいと思います。たとえば、「growl」通知があります(Mac OSを使用しています)。バツ)。
私はこの簡単なコマンドを試しました:
adb logcat | grep Assert | growlnotify
しかし、logcatプロセスを強制終了するまで通知は送信されません。
何か案は?
OK私はそれを機能させることができましたが、外部スクリプトを使用する必要がありました:
growl-on-assert.sh
#!/bin/bash
while read; do
COUNT=`echo "$REPLY" | grep -c Assert`
if [ $COUNT -ne 0 ]; then
echo "$REPLY" | growlnotify -t "Assert on logcat"
fi
done
次に、コンソールでこのワンライナーを使用して監視を開始します。
while [ 1 ]; do adb logcat -sv time *:E | growl-on-assert.sh; done
無限ループは、デバイスが接続/切断されたときにadbが自動的に再接続できるようにするために役立ちます。
同時に複数のデバイス/シミュレータが接続されているParallelsモニタリングを起動したり、うなり声の通知の代わりに電子メールを送信したりするなど、あらゆる改善を歓迎します。;-)