process_log.sh (1195B)
1 #!/bin/sh 2 3 # Usage: service should print "STARTING SERVICE (srvc) for peer [PEER]" where: 4 # - "srvc" is the service name (in lowercase, as in the log output). 5 # It cannot contain parenthesis in its name. 6 # - "PEER" is the peer ID. Should be 4 alfanumeric characters 7 8 grep "STARTING SERVICE " log > __tmp_peers 9 10 SED_EXPR="" 11 while read -r line; do 12 SRVC=`echo "$line" | sed -e 's/.*(\([^)]*\)).*/\1/'` 13 PEER=`echo "$line" | sed -e 's/.*\[\(....\)\].*/\1/'` 14 PID=`echo "$line" | sed -e "s/.*$SRVC-\([0-9]*\).*/\1/"` 15 echo "$SRVC $PID => $PEER" 16 17 SED_EXPR="${SED_EXPR}s/$SRVC-\([a-z2]*\)-$PID/$SRVC \1 $PEER/;" 18 SED_EXPR="${SED_EXPR}s/$SRVC-$PID/$SRVC XXX $PEER/;" 19 SED_EXPR="${SED_EXPR}s/$SRVC-api-[0-9]/$SRVC-api- /;" 20 done < __tmp_peers 21 rm __tmp_peers 22 23 sed -e "$SED_EXPR" log > .log 24 echo "$0 sed regex: $SED_EXPR" >> .log 25 26 if [ -n "$(uname -a | grep -q 'Linux')" ]; then 27 # GNU coreutils: 28 SIZE=`stat -c%s .log` 29 else 30 # NetBSD, FreeBSD (and others?): 31 SIZE=`stat -f%z .log` 32 fi 33 34 # echo $SIZE 35 36 if [ "`ps aux | grep "kwrite .lo[g]"`" = "" -a "$SIZE" -lt "10000000" ]; then 37 kwrite .log --geometry 960x1140-960 & 38 fi