|
|
@@ -0,0 +1,75 @@ |
|
|
|
#!/bin/bash |
|
|
|
############################### |
|
|
|
# usage: logs.sh [ -l ARG ] [ -n ARG ] |
|
|
|
# -l ARG: name of log file to display. |
|
|
|
# valid values are 'all', 'sonar', 'web', 'ce' and 'es' (case insensitive). |
|
|
|
# default value is 'all'. |
|
|
|
# -n ARG: number of log line to display. Value is passed to n option of tail. |
|
|
|
# default value is 25 |
|
|
|
############################### |
|
|
|
|
|
|
|
set -euo pipefail |
|
|
|
|
|
|
|
DEFAULT_LOG="all" |
|
|
|
DEFAULT_LINES="25" |
|
|
|
LOGS="sonar web ce es" |
|
|
|
function checkLogArgument() { |
|
|
|
local logArg="$1" |
|
|
|
if [ "${logArg,,}" == "$DEFAULT_LOG" ]; then |
|
|
|
return |
|
|
|
fi |
|
|
|
for t in $LOGS; do |
|
|
|
if [ "${logArg,,}" == "$t" ]; then |
|
|
|
return |
|
|
|
fi |
|
|
|
done |
|
|
|
echo "Unsupported -l argument $logArg" |
|
|
|
exit 1 |
|
|
|
} |
|
|
|
|
|
|
|
function buildTailArgs() { |
|
|
|
local logArg="$1" |
|
|
|
local logLines="$2" |
|
|
|
local res="" |
|
|
|
for t in $LOGS; do |
|
|
|
if [ "${logArg,,}" == "$DEFAULT_LOG" ] || [ "${logArg,,}" == "$t" ]; then |
|
|
|
res="$res -Fn $logLines $SQ_HOME/logs/$t.log" |
|
|
|
fi |
|
|
|
done |
|
|
|
echo "$res" |
|
|
|
} |
|
|
|
|
|
|
|
function doTail() { |
|
|
|
local logArg="$1" |
|
|
|
local logLines="${2:-"$DEFAULT_LINES"}" |
|
|
|
TAIL_ARG=$(buildTailArgs "$logArg" "$logLines") |
|
|
|
tail $TAIL_ARG |
|
|
|
} |
|
|
|
|
|
|
|
# check the script was called to avoid execute when script is only sourced |
|
|
|
script_name=$(basename "$0") |
|
|
|
if [ "$script_name" == "logs.sh" ]; then |
|
|
|
LOG="$DEFAULT_LOG" |
|
|
|
LINES="$DEFAULT_LINES" |
|
|
|
while getopts ":l:n:" opt; do |
|
|
|
case "$opt" in |
|
|
|
l) LOG=${OPTARG:=$DEFAULT_LOG} |
|
|
|
;; |
|
|
|
n) LINES=${OPTARG:=$DEFAULT_LINES} |
|
|
|
;; |
|
|
|
\?) |
|
|
|
echo "Unsupported option $OPTARG" >&2 |
|
|
|
exit 1 |
|
|
|
;; |
|
|
|
esac |
|
|
|
done |
|
|
|
|
|
|
|
checkLogArgument "$LOG" |
|
|
|
|
|
|
|
ROOT=$(pwd) |
|
|
|
cd sonar-application/target/sonarqube-* |
|
|
|
SQ_HOME=$(pwd) |
|
|
|
cd "$ROOT" |
|
|
|
|
|
|
|
doTail "$LOG" "$LINES" |
|
|
|
fi |