move the setLogger config and ConfigureLogger to be part of types for reuse accross modules
This commit is contained in:
parent
ec81bc1f9a
commit
0d03ecc2cb
2 changed files with 63 additions and 30 deletions
|
@ -1,7 +1,6 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
@ -19,7 +18,6 @@ import (
|
||||||
|
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
|
|
||||||
"gopkg.in/natefinch/lumberjack.v2"
|
|
||||||
"gopkg.in/tomb.v2"
|
"gopkg.in/tomb.v2"
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
)
|
)
|
||||||
|
@ -39,33 +37,6 @@ var (
|
||||||
lastProcessedItem time.Time /*keep track of last item timestamp in time-machine. it is used to GC buckets when we dump them.*/
|
lastProcessedItem time.Time /*keep track of last item timestamp in time-machine. it is used to GC buckets when we dump them.*/
|
||||||
)
|
)
|
||||||
|
|
||||||
func configureLogger(logMode string, logFolder string, logLevel log.Level) error {
|
|
||||||
/*Configure logs*/
|
|
||||||
if logMode == "file" {
|
|
||||||
log.SetOutput(&lumberjack.Logger{
|
|
||||||
Filename: logFolder + "/crowdsec.log",
|
|
||||||
MaxSize: 500, //megabytes
|
|
||||||
MaxBackups: 3,
|
|
||||||
MaxAge: 28, //days
|
|
||||||
Compress: true, //disabled by default
|
|
||||||
})
|
|
||||||
log.SetFormatter(&log.TextFormatter{TimestampFormat: "02-01-2006 15:04:05", FullTimestamp: true})
|
|
||||||
} else if logMode != "stdout" {
|
|
||||||
return fmt.Errorf("log mode '%s' unknown", logMode)
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Printf("setting loglevel to %s", logLevel)
|
|
||||||
log.SetLevel(logLevel)
|
|
||||||
log.SetFormatter(&log.TextFormatter{FullTimestamp: true})
|
|
||||||
if logLevel >= log.InfoLevel {
|
|
||||||
log.SetFormatter(&log.TextFormatter{TimestampFormat: "02-01-2006 15:04:05", FullTimestamp: true})
|
|
||||||
}
|
|
||||||
if logLevel >= log.DebugLevel {
|
|
||||||
log.SetReportCaller(true)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
|
@ -92,7 +63,7 @@ func main() {
|
||||||
log.Fatalf(err.Error())
|
log.Fatalf(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = configureLogger(cConfig.LogMode, cConfig.LogFolder, cConfig.LogLevel); err != nil {
|
if err = types.SetDefaultLoggerConfig(cConfig.LogMode, cConfig.LogFolder, cConfig.LogLevel); err != nil {
|
||||||
log.Fatal(err.Error())
|
log.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,11 @@ package types
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
|
log "github.com/sirupsen/logrus"
|
||||||
|
"gopkg.in/natefinch/lumberjack.v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
func IP2Int(ip net.IP) uint32 {
|
func IP2Int(ip net.IP) uint32 {
|
||||||
|
@ -40,3 +44,61 @@ func LastAddress(n *net.IPNet) net.IP {
|
||||||
ip[2]|^n.Mask[2],
|
ip[2]|^n.Mask[2],
|
||||||
ip[3]|^n.Mask[3])
|
ip[3]|^n.Mask[3])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var logMode string
|
||||||
|
var logFolder string
|
||||||
|
var logLevel log.Level
|
||||||
|
|
||||||
|
func SetDefaultLoggerConfig(inlogMode string, inlogFolder string, inlogLevel log.Level) error {
|
||||||
|
logMode = inlogMode
|
||||||
|
logFolder = inlogFolder
|
||||||
|
logLevel = inlogLevel
|
||||||
|
|
||||||
|
/*Configure logs*/
|
||||||
|
if logMode == "file" {
|
||||||
|
log.SetOutput(&lumberjack.Logger{
|
||||||
|
Filename: logFolder + "/crowdsec.log",
|
||||||
|
MaxSize: 500, //megabytes
|
||||||
|
MaxBackups: 3,
|
||||||
|
MaxAge: 28, //days
|
||||||
|
Compress: true, //disabled by default
|
||||||
|
})
|
||||||
|
log.SetFormatter(&log.TextFormatter{TimestampFormat: "02-01-2006 15:04:05", FullTimestamp: true})
|
||||||
|
} else if logMode != "stdout" {
|
||||||
|
return fmt.Errorf("log mode '%s' unknown", logMode)
|
||||||
|
}
|
||||||
|
log.SetLevel(logLevel)
|
||||||
|
log.SetFormatter(&log.TextFormatter{FullTimestamp: true})
|
||||||
|
if logLevel >= log.InfoLevel {
|
||||||
|
log.SetFormatter(&log.TextFormatter{TimestampFormat: "02-01-2006 15:04:05", FullTimestamp: true})
|
||||||
|
}
|
||||||
|
if logLevel >= log.DebugLevel {
|
||||||
|
log.SetReportCaller(true)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func ConfigureLogger(clog *log.Logger) error {
|
||||||
|
/*Configure logs*/
|
||||||
|
if logMode == "file" {
|
||||||
|
clog.SetOutput(&lumberjack.Logger{
|
||||||
|
Filename: logFolder + "/crowdsec.log",
|
||||||
|
MaxSize: 500, //megabytes
|
||||||
|
MaxBackups: 3,
|
||||||
|
MaxAge: 28, //days
|
||||||
|
Compress: true, //disabled by default
|
||||||
|
})
|
||||||
|
clog.SetFormatter(&log.TextFormatter{TimestampFormat: "02-01-2006 15:04:05", FullTimestamp: true})
|
||||||
|
} else if logMode != "stdout" {
|
||||||
|
return fmt.Errorf("log mode '%s' unknown", logMode)
|
||||||
|
}
|
||||||
|
clog.SetLevel(logLevel)
|
||||||
|
clog.SetFormatter(&log.TextFormatter{FullTimestamp: true})
|
||||||
|
if logLevel >= log.InfoLevel {
|
||||||
|
clog.SetFormatter(&log.TextFormatter{TimestampFormat: "02-01-2006 15:04:05", FullTimestamp: true})
|
||||||
|
}
|
||||||
|
if logLevel >= log.DebugLevel {
|
||||||
|
clog.SetReportCaller(true)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue