annotate pkg/log/log.go @ 5597:163f38c69a07

Removed unused variable found by staticcheck.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 05 Aug 2022 12:25:24 +0200
parents b4f59aef3f9e
children 1222b777f51f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 // This is Free Software under GNU Affero General Public License v >= 3.0
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2 // without warranty, see README.md and license for details.
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 //
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4 // SPDX-License-Identifier: AGPL-3.0-or-later
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 // License-Filename: LICENSES/AGPL-3.0.txt
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 //
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
7 // Copyright (C) 2021 by via donau
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8 // – Österreichische Wasserstraßen-Gesellschaft mbH
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9 // Software engineering by Intevation GmbH
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10 //
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11 // Author(s):
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 // * Sascha L. Teichmann <sascha.teichmann@intevation.de>
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 package log
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 import (
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 "fmt"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 lg "log"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 "os"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 "strings"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21 "sync"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 "sync/atomic"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 )
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 type LogLevel uint32
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 const (
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 TraceLogLevel = LogLevel(iota)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 DebugLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30 InfoLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 WarnLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 ErrorLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 FatalLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 )
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36 var (
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37 logLevel = uint32(InfoLogLevel)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 logFileMu sync.Mutex
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 logFile *os.File
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40 )
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 func init() {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 lg.SetFlags(lg.LstdFlags | lg.Lshortfile)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
46 const callDepth = 2
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
47
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 func SetupLog(filename string, perm os.FileMode) error {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49 f, err := os.OpenFile(filename, os.O_APPEND|os.O_CREATE|os.O_WRONLY, perm)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 if err != nil {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 return err
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 logFileMu.Lock()
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 defer logFileMu.Unlock()
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 if logFile != nil {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 logFile.Close()
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 logFile = f
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 lg.SetOutput(logFile)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 return nil
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
62
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 func ShutdownLog() {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 logFileMu.Lock()
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 defer logFileMu.Unlock()
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66 if logFile != nil {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67 logFile.Close()
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
68 logFile = nil
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 lg.SetOutput(os.Stderr)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73 func ParseLogLevel(s string) LogLevel {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
74 switch strings.ToLower(s) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
75 case "trace":
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
76 return TraceLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77 case "debug":
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
78 return DebugLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
79 case "info":
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
80 return InfoLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
81 case "warn":
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
82 return WarnLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
83 case "error":
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
84 return ErrorLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
85 case "fatal":
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
86 return FatalLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
87 default:
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
88 return InfoLogLevel
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
89 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
90 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
91
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
92 func (level LogLevel) String() string {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
93 switch level {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
94 case TraceLogLevel:
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
95 return "trace"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
96 case DebugLogLevel:
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
97 return "debug"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
98 case InfoLogLevel:
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
99 return "info"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
100 case WarnLogLevel:
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
101 return "warn"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
102 case ErrorLogLevel:
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
103 return "error"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
104 case FatalLogLevel:
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
105 return "fatal"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
106 default:
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
107 return "unknown"
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
108 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
109 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
110
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
111 func GetLogLevel() LogLevel {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
112 return LogLevel(atomic.LoadUint32(&logLevel))
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
113 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
114
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
115 func SetLogLevel(level LogLevel) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
116 atomic.StoreUint32(&logLevel, uint32(level))
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
117 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
118
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
119 func Tracef(f string, args ...interface{}) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
120 if TraceLogLevel >= GetLogLevel() {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
121 s := fmt.Sprintf(f, args...)
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
122 lg.Output(callDepth, "[TRACE] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
123 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
124 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
125
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
126 func Traceln(s string) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
127 if TraceLogLevel >= GetLogLevel() {
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
128 lg.Output(callDepth, "[TRACE] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
130 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
131
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
132 func Debugf(f string, args ...interface{}) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
133 if DebugLogLevel >= GetLogLevel() {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
134 s := fmt.Sprintf(f, args...)
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
135 lg.Output(callDepth, "[DEBUG] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
136 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
137 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
138
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
139 func Debugln(s string) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
140 if DebugLogLevel >= GetLogLevel() {
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
141 lg.Output(callDepth, "[DEBUG] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
142 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
143 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
144
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
145 func Infof(f string, args ...interface{}) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
146 if InfoLogLevel >= GetLogLevel() {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
147 s := fmt.Sprintf(f, args...)
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
148 lg.Output(callDepth, "[INFO] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
149 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
150 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
151
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
152 func Infoln(s string) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
153 if InfoLogLevel >= GetLogLevel() {
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
154 lg.Output(callDepth, "[INFO] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
155 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
156 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
157
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
158 func Warnf(f string, args ...interface{}) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
159 if WarnLogLevel >= GetLogLevel() {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
160 s := fmt.Sprintf(f, args...)
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
161 lg.Output(callDepth, "[WARN] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
162 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
163 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
164
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
165 func Warnln(s string) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
166 if WarnLogLevel >= GetLogLevel() {
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
167 lg.Output(callDepth, "[WARN] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
168 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
169 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
170
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
171 func Errorf(f string, args ...interface{}) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
172 if ErrorLogLevel >= GetLogLevel() {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
173 s := fmt.Sprintf(f, args...)
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
174 lg.Output(callDepth, "[ERROR] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
175 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
176 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
177
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
178 func Errorln(s string) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
179 if ErrorLogLevel >= GetLogLevel() {
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
180 lg.Output(callDepth, "[ERROR] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
181 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
182 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
183
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
184 func Fatalf(f string, args ...interface{}) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
185 if FatalLogLevel >= GetLogLevel() {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
186 s := fmt.Sprintf(f, args...)
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
187 lg.Output(callDepth, "[FATAL] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
188 os.Exit(1)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
189 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
190 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
191
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
192 func Fatalln(s string) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
193 if FatalLogLevel >= GetLogLevel() {
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
194 lg.Output(callDepth, "[FATAL] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
195 os.Exit(1)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
196 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
197 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
198
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
199 func Panicf(f string, args ...interface{}) {
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
200 s := fmt.Sprintf(f, args...)
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
201 lg.Output(callDepth, "[PANIC] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
202 panic(s)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
203 }
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
204
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
205 func Panicln(s string) {
5492
b4f59aef3f9e Use correct calldepth for logging.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 5490
diff changeset
206 lg.Output(callDepth, "[PANIC] "+s)
5490
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
207 panic(s)
5f47eeea988d Use own logging package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
208 }