summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/bin/onos-log
blob: fe89f6dd85df960476305ea277e9ca1af7b51123 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
# -----------------------------------------------------------------------------
# Monitors remote ONOS log file on the specified node.
# -----------------------------------------------------------------------------

[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults
. $ONOS_ROOT/tools/test/bin/find-node.sh

less=0
[ "$1" = "-l" ] && shift && less=1

remote=$(find_node $1)

remote=$ONOS_USER@${remote:-$OCI}
instance=$2

pattern=$3

[ -n "$instance" -a "$instance" != "-" ] && \
    LOG=$ONOS_INSTALL_DIR/$KARAF_DIST/instances/$instance/data/log/karaf.log || \
    LOG=$ONOS_INSTALL_DIR/log/karaf.log


if [ $less -eq 1 ]; then
    ssh -t $remote "less $LOG"
elif [ -n "$pattern" ]; then
    ssh $remote "grep $LOG -Ee \"$pattern\""
else
    ssh -t $remote "
    while true; do
        echo ==================================================================
        [ ! -f $LOG ] && sleep 2 && continue
        [ \$(uname) = "Darwin" ] && tail -n 512 -f -F $LOG ||
            tail -n 512 --follow=name $LOG --pid \$$ --sleep-interval 2
    done
    "
fi