123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package config
- import (
- "io"
- "io/ioutil"
- "log"
- "os"
- "strings"
- "git.giaever.org/joachimmg/go-log.git/errors"
- )
- type LogPrefix string
- type LogLevel int
- type LogHandle io.Writer
- type LogFlag int
- type LogDir string
- 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 LogDir = LogDir(os.TempDir() + string(os.PathSeparator) + "go-log")
- 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.UNKNOWN_LEVEL
- }
- 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"
- }
- }
- func (d *LogDir) Set(nd string) error {
- LOG_DIR = LogDir(nd)
- return nil
- }
- func (d *LogDir) String() string {
- return string(*d)
- }
|