...
1
2
3
4
5
6 package jwalterweatherman
7
8 import (
9 "io"
10 "io/ioutil"
11 "log"
12 "os"
13 )
14
15 var (
16 TRACE *log.Logger
17 DEBUG *log.Logger
18 INFO *log.Logger
19 WARN *log.Logger
20 ERROR *log.Logger
21 CRITICAL *log.Logger
22 FATAL *log.Logger
23
24 LOG *log.Logger
25 FEEDBACK *Feedback
26
27 defaultNotepad *Notepad
28 )
29
30 func reloadDefaultNotepad() {
31 TRACE = defaultNotepad.TRACE
32 DEBUG = defaultNotepad.DEBUG
33 INFO = defaultNotepad.INFO
34 WARN = defaultNotepad.WARN
35 ERROR = defaultNotepad.ERROR
36 CRITICAL = defaultNotepad.CRITICAL
37 FATAL = defaultNotepad.FATAL
38
39 LOG = defaultNotepad.LOG
40 FEEDBACK = defaultNotepad.FEEDBACK
41 }
42
43 func init() {
44 defaultNotepad = NewNotepad(LevelError, LevelWarn, os.Stdout, ioutil.Discard, "", log.Ldate|log.Ltime)
45 reloadDefaultNotepad()
46 }
47
48
49 func SetLogThreshold(threshold Threshold) {
50 defaultNotepad.SetLogThreshold(threshold)
51 reloadDefaultNotepad()
52 }
53
54
55 func SetLogOutput(handle io.Writer) {
56 defaultNotepad.SetLogOutput(handle)
57 reloadDefaultNotepad()
58 }
59
60
61
62 func SetStdoutThreshold(threshold Threshold) {
63 defaultNotepad.SetStdoutThreshold(threshold)
64 reloadDefaultNotepad()
65 }
66
67
68 func SetStdoutOutput(handle io.Writer) {
69 defaultNotepad.outHandle = handle
70 defaultNotepad.init()
71 reloadDefaultNotepad()
72 }
73
74
75 func SetPrefix(prefix string) {
76 defaultNotepad.SetPrefix(prefix)
77 reloadDefaultNotepad()
78 }
79
80
81 func SetFlags(flags int) {
82 defaultNotepad.SetFlags(flags)
83 reloadDefaultNotepad()
84 }
85
86
87 func SetLogListeners(l ...LogListener) {
88 defaultNotepad.logListeners = l
89 defaultNotepad.init()
90 reloadDefaultNotepad()
91 }
92
93
94 func LogThreshold() Threshold {
95 return defaultNotepad.logThreshold
96 }
97
98
99 func StdoutThreshold() Threshold {
100 return defaultNotepad.stdoutThreshold
101 }
102
103
104 func GetLogThreshold() Threshold {
105 return defaultNotepad.GetLogThreshold()
106 }
107
108
109 func GetStdoutThreshold() Threshold {
110 return defaultNotepad.GetStdoutThreshold()
111 }
112
View as plain text