#!/bin/bash
# ----------------------------------------------------------------------------
# Continuously watches the Apache Karaf log; survives 'karaf clean'
# ----------------------------------------------------------------------------
. $ONOS_ROOT/tools/build/envDefaults

KARAF_LOG=/tmp/onos-$ONOS_POM_VERSION/apache-karaf-$KARAF_VERSION/data/log/karaf.log

while true; do
    [ ! -f $KARAF_LOG ] && sleep 2 && continue
    tail -n 512 -f -F $KARAF_LOG
done
