From b343343f1efd0df9196b27e9e65b783e5e954112 Mon Sep 17 00:00:00 2001 From: PawelSzalapski Date: Tue, 10 Jul 2018 13:25:18 +0200 Subject: Clean up .sh scripts Removed .sh scripts that are not needed. Fill readme with a description of some of the things that might be not visible at first glance Refactor .sh scripts, remove not used or not needed parts Fix a bug where pidof does not work. Change logging of the scripts and they way that app is run so that the logs are in one place -> collector.logs Fixed a bug where tomcat startup problems are not logged Added log rotation with logrotate tool Change-Id: I156328ab23d18a20072177ae8c5420772c3e2c7c Signed-off-by: PawelSzalapski Issue-ID: DCAEGEN2-610 --- src/main/scripts/logger.sh | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/main/scripts/logger.sh (limited to 'src/main/scripts/logger.sh') diff --git a/src/main/scripts/logger.sh b/src/main/scripts/logger.sh new file mode 100644 index 00000000..0c56aef0 --- /dev/null +++ b/src/main/scripts/logger.sh @@ -0,0 +1,58 @@ +#!/bin/bash +### +# ============LICENSE_START======================================================= +# PROJECT +# ================================================================================ +# Copyright (C) 2018 Nokia Networks Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +log() { + logMessage "INFO " "$1" +} + +logWarn() { + logMessage "WARN " "$1" +} + +logError() { + logMessage "ERROR" "$1" +} + +# Mimics log4j formatter so log files are consistent +logMessage() { + echo "[$(date -u +'%Y-%m-%d %H:%M:%S,%3N')][$1][$(printf "%-9s %s\n" "PID $$")][$0] - $2" +} + +# Run command, catch all the stdout and stderr and based on whether it succeeded, take the output, +# and log them using common formatter. +# It is done, so that the log files could be consistent and not look like swiss cheese having +# nicely formatted lines surrounded with raw command outputs +# All log lines that are logged by those external comments are prepended with (ext process) so they +# can be distinguished from hand-rolled messages +loggedCommand() { + output=$($1 2>&1) + if [ ! -z "${output}" ]; then + if [ $? -eq 0 ]; then + while read -r line; do + log "(ext process) $line" + done <<< "$output" + else + while read -r line; do + logError "(ext process) $line" + done <<< "$output" + fi + fi +} \ No newline at end of file -- cgit 1.2.3-korg