|
|
|
// Package log implements a common logging like log4j.
|
|
|
|
package log
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io"
|
|
|
|
"os"
|
|
|
|
|
|
|
|
"github.com/mattn/go-isatty"
|
|
|
|
)
|
|
|
|
|
|
|
|
// std is a default logger for console
|
|
|
|
var std = New(os.Stdout).SkipCaller(3)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
if isatty.IsTerminal(os.Stdout.Fd()) {
|
|
|
|
std.SetFlags(DEFAULT_FLAGS | F_COLOR)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get log level
|
|
|
|
func GetLevel() int {
|
|
|
|
return std.GetLevel()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set log level
|
|
|
|
func SetLevel(level int) {
|
|
|
|
std.SetLevel(level)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get log level name
|
|
|
|
func GetLevelName() string {
|
|
|
|
return std.GetLevelName()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set log level name
|
|
|
|
func SetLevelName(level string) {
|
|
|
|
std.SetLevelName(level)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get the flags for output format
|
|
|
|
func GetFlags() int {
|
|
|
|
return std.GetFlags()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set flags for output format
|
|
|
|
func SetFlags(flags int) {
|
|
|
|
std.SetFlags(flags)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get the process name
|
|
|
|
func GetAppName() string {
|
|
|
|
return std.GetAppName()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set a process name
|
|
|
|
func SetAppName(name string) {
|
|
|
|
std.SetAppName(name)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get time format for log line
|
|
|
|
func GetTimeFormat() string {
|
|
|
|
return std.GetTimeFormat()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set time format for log line
|
|
|
|
func SetTimeFormat(format string) {
|
|
|
|
std.SetTimeFormat(format)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Set a writer
|
|
|
|
func SetWriter(w io.Writer) {
|
|
|
|
std.SetWriter(w)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Indicate whether output debug message
|
|
|
|
func IsDebugEnabled() bool {
|
|
|
|
return std.IsDebugEnabled()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Indicate whether output info message
|
|
|
|
func IsInfoEnabled() bool {
|
|
|
|
return std.IsInfoEnabled()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Indicate whether output warning message
|
|
|
|
func IsWarnEnabled() bool {
|
|
|
|
return std.IsWarnEnabled()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Indicate whether output error message
|
|
|
|
func IsErrorEnabled() bool {
|
|
|
|
return std.IsErrorEnabled()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output a debug message
|
|
|
|
func Debug(obj ...interface{}) {
|
|
|
|
std.Debug(obj...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output an info message
|
|
|
|
func Info(obj ...interface{}) {
|
|
|
|
std.Info(obj...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output a warning message
|
|
|
|
func Warn(obj ...interface{}) {
|
|
|
|
std.Warn(obj...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output an error message
|
|
|
|
func Error(obj ...interface{}) {
|
|
|
|
std.Error(obj...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output a fatal message with full stack
|
|
|
|
func Fatal(obj ...interface{}) {
|
|
|
|
std.Fatal(obj...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output a debug message
|
|
|
|
func Debugf(msg string, args ...interface{}) {
|
|
|
|
std.Debugf(msg, args...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output an info message
|
|
|
|
func Infof(msg string, args ...interface{}) {
|
|
|
|
std.Infof(msg, args...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output a warning message
|
|
|
|
func Warnf(msg string, args ...interface{}) {
|
|
|
|
std.Warnf(msg, args...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output an error message
|
|
|
|
func Errorf(msg string, args ...interface{}) {
|
|
|
|
std.Errorf(msg, args...)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Output a fatal message with full stack
|
|
|
|
func Fatalf(msg string, args ...interface{}) {
|
|
|
|
std.Fatalf(msg, args...)
|
|
|
|
}
|