init
This commit is contained in:
parent
8559eaa105
commit
7a09a0ad73
|
@ -1,3 +1,5 @@
|
||||||
|
.idea
|
||||||
|
|
||||||
# Binaries for programs and plugins
|
# Binaries for programs and plugins
|
||||||
*.exe
|
*.exe
|
||||||
*.exe~
|
*.exe~
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
package glog
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
ZERO = 0
|
||||||
|
INFO = 1 << iota
|
||||||
|
DEBUG
|
||||||
|
WARNING
|
||||||
|
)
|
||||||
|
|
||||||
|
var mask = INFO | WARNING
|
||||||
|
|
||||||
|
var log_file *os.File
|
||||||
|
var file_logger *log.Logger
|
||||||
|
|
||||||
|
func SetMask(m int) {
|
||||||
|
mask = m
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetLogFile(path string) error {
|
||||||
|
var err error
|
||||||
|
log_file, err = os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
file_logger = log.New(log_file, "", log.LstdFlags|log.Lshortfile)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CloseFile() {
|
||||||
|
file_logger = nil
|
||||||
|
err := log_file.Close()
|
||||||
|
if err != nil {
|
||||||
|
log.Println("failed to close log file")
|
||||||
|
}
|
||||||
|
log_file = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func Info(format string, values ...interface{}) {
|
||||||
|
if (mask & INFO) != 0 {
|
||||||
|
log.Printf("[INFO] "+format, values...)
|
||||||
|
if file_logger != nil {
|
||||||
|
file_logger.Printf("[INFO] "+format, values...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func Debug(format string, values ...interface{}) {
|
||||||
|
if (mask & DEBUG) != 0 {
|
||||||
|
log.Printf("[DEBUG] "+format, values...)
|
||||||
|
if file_logger != nil {
|
||||||
|
file_logger.Printf("[DEBUG] "+format, values...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func Warning(format string, values ...interface{}) {
|
||||||
|
if (mask & WARNING) != 0 {
|
||||||
|
log.Printf("[WARNING] "+format, values...)
|
||||||
|
if file_logger != nil {
|
||||||
|
file_logger.Printf("[WARNING] "+format, values...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func Fatal(format string, values ...interface{}) {
|
||||||
|
if file_logger != nil {
|
||||||
|
log.Printf("[FATAL] "+format, values...)
|
||||||
|
file_logger.Fatalf("[FATAL] "+format, values...)
|
||||||
|
} else {
|
||||||
|
log.Fatalf("[FATAL] "+format, values...)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue