-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexamples.sh
More file actions
92 lines (81 loc) · 2.64 KB
/
examples.sh
File metadata and controls
92 lines (81 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/bash
#--------------------------------------------------------------------------------------------------
# Bash Logger
# Copyright (c) Dean Rather
# Copyright (c) Hexosse
# Licensed under the MIT license
# http://github.com/dockbox/bash-logger
#--------------------------------------------------------------------------------------------------
# Including the logger functions
source bash-logger.sh
# set log level do DEBUG
LOG_LEVEL=$(LOG_LEVEL_VALUE DEBUG)
INFO "Log level set to $(LOG_LEVEL_NAME ${LOG_LEVEL})"
# Regular Usage
echo # newline
DEBUG "Debug log with default configurations"
INFO "Info log with default configurations"
NOTICE "Notice log with default configurations"
WARNING "Waring log with default configurations"
# Overwriting default configurables
echo # newline
export LOGFILE=~/my-bash-logger.log
export LOG_DATE_FORMAT='+%c'
export LOG_FORMAT='%LEVEL %DATE -- %MESSAGE'
WARNING "Configurations changed"
DEBUG "example debug log"
INFO "example info log"
NOTICE "example notice log"
WARNING "example warning log"
# reset to overwrite config changes
echo # newline
LOG_RESET
export LOGFILE=./my-bash-logger.log
WARNING "Configurations Reset"
DEBUG "example debug log"
INFO "example info log"
NOTICE "example notice log"
WARNING "example warning log"
# Overwriting log function behavior (eg. don't exit on errors)
echo # newline
INFO "Changing default log behavior"
ERROR() { LOG_HANDLER_DEFAULT "$FUNCNAME" "$@"; }
CRITICAL() { LOG_HANDLER_DEFAULT "$FUNCNAME" "$@"; }
ALERT() { LOG_HANDLER_DEFAULT "$FUNCNAME" "$@"; }
EMERGENCY() { LOG_HANDLER_DEFAULT "$FUNCNAME" "$@"; }
NOTICE "default logging behavior overwritten"
# Example of all log levels
echo # newline
DEBUG "Example Debug log"
INFO "Example Info log"
NOTICE "Example Notice log"
WARNING "Example Warning log"
ERROR "Example Error log"
CRITICAL "Example Critical log"
ALERT "Example Alert log"
EMERGENCY "Example Emergency log"
# Overwriting default log behavior (eg. adding another echo)
echo # newline
INFO "Adding additional default behavior"
LOG_HANDLER_DEFAULT() {
local formatted_log="$(FORMAT_LOG "$@")"
LOG_HANDLER_COLORTERM "$1" "$formatted_log"
LOG_HANDLER_LOGFILE "$1" "$formatted_log"
echo "logged to logfile"
}
NOTICE "test notice log"
# From pipe
source bash-logger.sh
echo # newline
echo "Log message from pipe" | NOTICE
echo "Log message from pipe" | WARNING "prefix:"
# Pipe multiline input
echo -e "This is a\nmultiline message\nfrom pipe" | NOTICE "pipe:"
# Pipe empty message
echo "" | WARNING "pipe:"
# Do not log to file
export LOG_LOGFILE_ENABLE=0
WARNING "NOT LOGGING TO FILE"
DEBUG "NOT LOGGING TO FILE"
INFO "NOT LOGGING TO FILE"
NOTICE "NOT LOGGING TO FILE"