@@ -6,6 +6,9 @@ declare -Ag __oo__logScopeOutputs
6
6
declare -Ag __oo__logDisabledFilter
7
7
declare -Ag __oo__loggers
8
8
9
+ # Controls verbosity of the script output and logging.
10
+ VERBOSE=" ${VERBOSE:- 5} "
11
+
9
12
Log::NameScope () {
10
13
local scopeName=" $1 "
11
14
local script=" ${BASH_SOURCE[1]} "
@@ -36,11 +39,16 @@ Log::DisableFilter() {
36
39
}
37
40
38
41
Log () {
42
+ # support verbosing logging
43
+ local V=" ${V:- 0} "
44
+ if [[ $VERBOSE < $V ]]; then
45
+ return
46
+ fi
47
+
39
48
local callingFunction=" ${FUNCNAME[1]} "
40
49
local callingScript=" ${BASH_SOURCE[1]} "
41
50
local scope
42
- if [[ ! -z " ${__oo__logScopes["$callingScript"]} " ]]
43
- then
51
+ if [[ ! -z " ${__oo__logScopes["$callingScript"]} " ]]; then
44
52
scope=" ${__oo__logScopes["$callingScript"]} "
45
53
else # just the filename without extension
46
54
scope=" ${callingScript##*/ } "
@@ -51,49 +59,38 @@ Log() {
51
59
local logger
52
60
local logged
53
61
54
- if [[ ! -z " $subject " ]]
55
- then
56
- if [[ ! -z " ${__oo__logScopeOutputs["$scope/$callingFunction/$subject"]} " ]]
57
- then
62
+ if [[ ! -z " $subject " ]]; then
63
+ if [[ ! -z " ${__oo__logScopeOutputs["$scope/$callingFunction/$subject"]} " ]]; then
58
64
loggerList=" ${__oo__logScopeOutputs["$scope/$callingFunction/$subject"]} "
59
- elif [[ ! -z " ${__oo__logScopeOutputs["$scope/$subject"]} " ]]
60
- then
65
+ elif [[ ! -z " ${__oo__logScopeOutputs["$scope/$subject"]} " ]]; then
61
66
loggerList=" ${__oo__logScopeOutputs["$scope/$subject"]} "
62
- elif [[ ! -z " ${__oo__logScopeOutputs["$subject"]} " ]]
63
- then
67
+ elif [[ ! -z " ${__oo__logScopeOutputs["$subject"]} " ]]; then
64
68
loggerList=" ${__oo__logScopeOutputs["$subject"]} "
65
69
fi
66
70
67
- loggers=( ${loggerList// ;/ } )
68
- for logger in " ${loggers[@]} "
69
- do
71
+ loggers=(${loggerList// ;/ } )
72
+ for logger in " ${loggers[@]} " ; do
70
73
subject=" ${subject:- LOG} " Log::Using " $logger " " $@ "
71
74
logged=true
72
75
done
73
76
fi
74
77
75
- if [[ ! -z " ${__oo__logScopeOutputs["$scope/$callingFunction"]} " ]]
76
- then
77
- if [[ -z $logged ]] || [[ ${__oo__logDisabledFilter["$scope/$callingFunction"]} == true || ${__oo__logDisabledFilter["$scope"]} == true ]]
78
- then
78
+ if [[ ! -z " ${__oo__logScopeOutputs["$scope/$callingFunction"]} " ]]; then
79
+ if [[ -z $logged ]] || [[ ${__oo__logDisabledFilter["$scope/$callingFunction"]} == true || ${__oo__logDisabledFilter["$scope"]} == true ]]; then
79
80
loggerList=" ${__oo__logScopeOutputs["$scope/$callingFunction"]} "
80
- loggers=( ${loggerList// ;/ } )
81
- for logger in " ${loggers[@]} "
82
- do
83
- subject=" ${subject:- LOG} " Log::Using " $logger " " $@ "
84
- logged=true
81
+ loggers=(${loggerList// ;/ } )
82
+ for logger in " ${loggers[@]} " ; do
83
+ subject=" ${subject:- LOG} " Log::Using " $logger " " $@ "
84
+ logged=true
85
85
done
86
86
fi
87
87
fi
88
88
89
- if [[ ! -z " ${__oo__logScopeOutputs["$scope"]} " ]]
90
- then
91
- if [[ -z $logged ]] || [[ ${__oo__logDisabledFilter["$scope"]} == true ]]
92
- then
89
+ if [[ ! -z " ${__oo__logScopeOutputs["$scope"]} " ]]; then
90
+ if [[ -z $logged ]] || [[ ${__oo__logDisabledFilter["$scope"]} == true ]]; then
93
91
loggerList=" ${__oo__logScopeOutputs["$scope"]} "
94
- loggers=( ${loggerList// ;/ } )
95
- for logger in " ${loggers[@]} "
96
- do
92
+ loggers=(${loggerList// ;/ } )
93
+ for logger in " ${loggers[@]} " ; do
97
94
subject=" ${subject:- LOG} " Log::Using " $logger " " $@ "
98
95
done
99
96
fi
@@ -109,29 +106,28 @@ Log::RegisterLogger() {
109
106
Log::Using () {
110
107
local logger=" $1 "
111
108
shift
112
- if [[ ! -z ${__oo__loggers["$logger"]} ]]
113
- then
114
- ${__oo__loggers["$logger"]} " $@ "
109
+ if [[ ! -z ${__oo__loggers["$logger"]} ]]; then
110
+ ${__oo__loggers["$logger"]} " $@ "
115
111
fi
116
112
}
117
113
118
114
Logger::DEBUG () {
119
- Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Yellow) DEBUG " $@ "
115
+ Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Yellow) DEBUG " $@ "
120
116
}
121
117
Logger::ERROR () {
122
- Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Red) ERROR " $@ "
118
+ Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Red) ERROR " $@ "
123
119
}
124
120
Logger::INFO () {
125
- Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Blue) INFO " $@ "
121
+ Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Blue) INFO " $@ "
126
122
}
127
123
Logger::WARN () {
128
- Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Yellow) WARN " $@ "
124
+ Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Yellow) WARN " $@ "
129
125
}
130
126
Logger::CUSTOM () {
131
- Console::WriteStdErr " $( UI.Color.Yellow) [${subject^^} ] $( UI.Color.Default) $* "
127
+ Console::WriteStdErr " $( UI.Color.Yellow) [${subject^^} ] $( UI.Color.Default) $* "
132
128
}
133
129
Logger::DETAILED () {
134
- Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Yellow) " ${subject^^} " " $@ "
130
+ Console::WriteStdErrAnnotated " ${BASH_SOURCE[3]##*/ } " ${BASH_LINENO[2]} $( UI.Color.Yellow) " ${subject^^} " " $@ "
135
131
}
136
132
137
133
Log::RegisterLogger STDERR Console::WriteStdErr
0 commit comments