#!/bin/bash
# -----------------------------------------------------------------------------
# Writes block text into the 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

remote=$(find_node $1)
remote=$ONOS_USER@${remote:-$OCI}
remote_scp=$ONOS_USER@[${remote:-$OCI}]
message=$2

if [ -z "$message" ]; then
    echo "Usage: onos-log-write <instance> <message>"
    exit
fi
if [ -z $(which figlet) ]; then
    echo "Install figlet; example: brew install figlet"
    exit
fi

#text=$(figlet $message)
#echo "Writing to $remote:"
#echo $text
#echo

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

#broken by special chars like `
#ssh -t $remote "sudo mkdir -p $(dirname $LOG) && echo $text | sudo tee -a $LOG"

figlet $message > /tmp/message.txt
scp /tmp/message.txt $remote_scp:/tmp
ssh -t $remote "sudo mkdir -p $(dirname $LOG) && cat /tmp/message.txt | sudo tee -a $LOG; rm /tmp/message.txt"
