1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package config
- import (
- "errors"
- "io"
- "io/ioutil"
- "log"
- "os"
- "strings"
- _c "source.uit.com/mikevoets/inf-3200-1/config"
- )
- type LogPrefix string
- type LogLevel int
- type LogHandle io.Writer
- type LogFlag int
- var (
- Trace *log.Logger
- Info *log.Logger
- Warning *log.Logger
- Error *log.Logger
- Panic *log.Logger
- )
- var (
- DISCARD_HANDLE LogHandle = ioutil.Discard
- HANDLE_TRACE LogHandle = os.Stdout
- HANDLE_INFO LogHandle = os.Stdout
- HANDLE_WARNING LogHandle = os.Stdout
- HANDLE_ERROR LogHandle = os.Stderr
- HANDLE_PANIC LogHandle = os.Stderr
- LOG_DIR = _c.TmpDir + string(os.PathSeparator) + "logs"
- FILE_EXTRA string = ""
- LOG_FORMAT = log.Ldate | log.Lmicroseconds
- )
- const (
- FILE_MASK = os.O_CREATE | os.O_WRONLY | os.O_APPEND
- FILE_PERM = 0666
- )
- const (
- PREFIX_TRACE LogPrefix = "TRACE"
- PREFIX_INFO LogPrefix = "INFO"
- PREFIX_WARNING LogPrefix = "WARNING"
- PREFIX_ERROR LogPrefix = "ERROR"
- PREFIX_PANIC LogPrefix = "PANIC"
- )
- const (
- TRACE LogLevel = 1<<iota | 0
- INFO LogLevel = 1<<iota | TRACE
- WARNING LogLevel = 1<<iota | INFO
- ERROR LogLevel = 1<<iota | WARNING
- PANIC LogLevel = 1<<iota | ERROR
- )
- var (
- LOG_LEVEL_OUTPUT LogLevel = INFO
- LOG_LEVEL_FILE LogLevel = WARNING
- )
- func (c *LogLevel) Set(l string) error {
- l = strings.ToUpper(l)
- if l == "TRACE" {
- *c = TRACE
- } else if l == "INFO" {
- *c = INFO
- } else if l == "WARNING" {
- *c = WARNING
- } else if l == "ERROR" {
- *c = ERROR
- } else if l == "PANIC" {
- *c = PANIC
- } else {
- return errors.New("Unknown log level: TRACE|INFO|WARNING|ERROR|PANIC")
- }
- return nil
- }
- func (c *LogLevel) String() string {
- switch *c {
- case TRACE:
- return "TRACE"
- case INFO:
- return "INFO"
- case WARNING:
- return "WARNING"
- case ERROR:
- return "ERROR"
- default:
- return "PANIC"
- }
- }
|