Browse Source

[script] add logs.sh + tail all SQ log files in start.sh

tags/6.3-RC1
Sébastien Lesaint 7 years ago
parent
commit
0ce4d2cae3
3 changed files with 94 additions and 7 deletions
  1. 1
    0
      logs.sh
  2. 75
    0
      scripts/logs.sh
  3. 18
    7
      scripts/start.sh

+ 1
- 0
logs.sh View File

scripts/logs.sh

+ 75
- 0
scripts/logs.sh View File

#!/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

+ 18
- 7
scripts/start.sh View File

#!/bin/bash #!/bin/bash
############################### ###############################
# usage: start.sh [ -p ARG ]
# usage: start.sh [ -p ARG ] [ -l ARG ]
# -p ARG: name(s) of patch separated by colon (name of patch is filename without extension) # -p ARG: name(s) of patch separated by colon (name of patch is filename without extension)
# -l ARG: name of log file to display.
# valid values are 'all', 'sonar', 'web', 'ce' and 'es' (case insensitive).
# default value is 'all'.
############################### ###############################


set -euo pipefail

ROOT=$(pwd) ROOT=$(pwd)


source "$ROOT"/scripts/logs.sh

PATCHES="" PATCHES=""
while getopts ":p:" opt; do
LOG="$DEFAULT_LOG"
while getopts ":p:l:" opt; do
case "$opt" in case "$opt" in
p) PATCHES=$OPTARG p) PATCHES=$OPTARG
;; ;;
l) LOG=${OPTARG:=$DEFAULT_LOG}
;;
\?) \?)
echo "Unsupported option $OPTARG" >&2 echo "Unsupported option $OPTARG" >&2
exit 1 exit 1
esac esac
done done


if [[ "$OSTYPE" == "darwin"* ]]; then
checkLogArgument "$LOG"

if [[ "${OSTYPE:-}" == "darwin"* ]]; then
OS='macosx-universal-64' OS='macosx-universal-64'
else else
OS='linux-x86-64' OS='linux-x86-64'


if ! ls sonar-application/target/sonarqube-*.zip &> /dev/null; then if ! ls sonar-application/target/sonarqube-*.zip &> /dev/null; then
echo 'Sources are not built' echo 'Sources are not built'
./build.sh
"$ROOT"/build.sh
fi fi


cd sonar-application/target/ cd sonar-application/target/
fi fi
cd sonarqube-* cd sonarqube-*


# from that point on, strict bash
set -euo pipefail
SQ_HOME=$(pwd) SQ_HOME=$(pwd)
cd "$ROOT" cd "$ROOT"




"$SQ_EXEC" start "$SQ_EXEC" start
sleep 1 sleep 1
tail -fn 100 "$SQ_HOME"/logs/sonar.log
doTail "$LOG"


Loading…
Cancel
Save