summaryrefslogtreecommitdiffstats
path: root/src/main/scripts/logger.sh
diff options
context:
space:
mode:
authorPawelSzalapski <pawel.szalapski@nokia.com>2018-07-10 13:25:18 +0200
committerPawelSzalapski <pawel.szalapski@nokia.com>2018-07-13 12:31:07 +0200
commitb343343f1efd0df9196b27e9e65b783e5e954112 (patch)
treee19094ffbbd8c2a1616ed99983a95c32cac0343b /src/main/scripts/logger.sh
parentcd66181b35300f020f197bb411d6bdf6ad2514fb (diff)
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 <package> 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 <pawel.szalapski@nokia.com> Issue-ID: DCAEGEN2-610
Diffstat (limited to 'src/main/scripts/logger.sh')
-rw-r--r--src/main/scripts/logger.sh58
1 files changed, 58 insertions, 0 deletions
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