-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
33 lines (29 loc) · 748 Bytes
/
main.go
File metadata and controls
33 lines (29 loc) · 748 Bytes
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
package logger
import (
"io"
)
// NewLog Create new log message instance
func NewLog(tf string, f TimeFormatter, typ string, writers ...io.Writer) Log {
log := new(logDriver)
log.timeFormat = tf
log.formatter = f
log.writers = writers
return log
}
// NewLogger create a new logger instance
func NewLogger(tf string, f TimeFormatter) Logger {
lgr := new(loggerDriver)
lgr.timeFormat = tf
lgr.formatter = f
lgr.writers = make(map[string]io.Writer)
return lgr
}
// NewFileLogger create new file logger writer
func NewFileLogger(path string, prefix string, tf string, f TimeFormatter) io.Writer {
fLogger := new(fileLogger)
fLogger.path = path
fLogger.prefix = prefix
fLogger.timeFormat = tf
fLogger.formatter = f
return fLogger
}