8
8
# Arguments:
9
9
# - all: message to write
10
10
function os::log::info() {
11
- os::log::internal::prefix_lines " [INFO]" " $* "
11
+ local message; message=" $( os::log::internal::prefix_lines " [INFO]" " $* " ) "
12
+ os::log::internal::to_logfile " ${message} "
13
+ echo " ${message} "
12
14
}
13
15
readonly -f os::log::info
14
16
@@ -19,7 +21,9 @@ readonly -f os::log::info
19
21
# Arguments:
20
22
# - all: message to write
21
23
function os::log::warn() {
22
- os::text::print_yellow " $( os::log::internal::prefix_lines " [WARNING]" " $* " ) " 1>&2
24
+ local message; message=" $( os::log::internal::prefix_lines " [WARNING]" " $* " ) "
25
+ os::log::internal::to_logfile " ${message} "
26
+ os::text::print_yellow " ${message} " 1>&2
23
27
}
24
28
readonly -f os::log::warn
25
29
@@ -30,7 +34,9 @@ readonly -f os::log::warn
30
34
# Arguments:
31
35
# - all: message to write
32
36
function os::log::error() {
33
- os::text::print_red " $( os::log::internal::prefix_lines " [ERROR]" " $* " ) " 1>&2
37
+ local message; message=" $( os::log::internal::prefix_lines " [ERROR]" " $* " ) "
38
+ os::log::internal::to_logfile " ${message} "
39
+ os::text::print_red " ${message} " 1>&2
34
40
}
35
41
readonly -f os::log::error
36
42
@@ -42,23 +48,42 @@ readonly -f os::log::error
42
48
# Arguments:
43
49
# - all: message to write
44
50
function os::log::fatal() {
45
- os::text::print_red " $( os::log::internal::prefix_lines " [FATAL]" " $* " ) " 1>&2
51
+ local message; message=" $( os::log::internal::prefix_lines " [FATAL]" " $* " ) "
52
+ os::log::internal::to_logfile " ${message} "
53
+ os::text::print_red " ${message} " 1>&2
46
54
exit 1
47
55
}
48
56
readonly -f os::log::fatal
49
57
50
58
# os::log::debug writes the message to stderr if
51
59
# the ${OS_DEBUG} variable is set.
52
60
#
61
+ # Globals:
62
+ # - OS_DEBUG
53
63
# Arguments:
54
64
# - all: message to write
55
65
function os::log::debug() {
66
+ local message; message=" $( os::log::internal::prefix_lines " [DEBUG]" " $* " ) "
67
+ os::log::internal::to_logfile " ${message} "
56
68
if [[ -n " ${OS_DEBUG:- } " ]]; then
57
- os::text::print_blue " $( os::log::internal::prefix_lines " [DEBUG] " " $* " ) " 1>&2
69
+ os::text::print_blue " ${message} " 1>&2
58
70
fi
59
71
}
60
72
readonly -f os::log::debug
61
73
74
+ # os::log::internal::to_logfile makes a best-effort
75
+ # attempt to write the message to the script logfile
76
+ #
77
+ # Globals:
78
+ # - LOG_DIR
79
+ # Arguments:
80
+ # - all: message to write
81
+ function os::log::internal::to_logfile() {
82
+ if [[ -n " ${LOG_DIR:- } " ]]; then
83
+ echo " $* " >> " ${LOG_DIR} /scripts.log"
84
+ fi
85
+ }
86
+
62
87
# os::log::internal::prefix_lines prints out the
63
88
# original content with the given prefix at the
64
89
# start of every line.
0 commit comments