1、定义日志级别
const (
DEBUG=iota
TRACE
INFO
WARNING
ERROR
FATAL
)
2、定义log接口
// 定义log接口
type Log interface {
Debug(msg string)
TRACE(msg string)
INFO(msg string)
WARNING(msg string)
ERROR(msg string)
FATAL(msg string)
}
输出方式一:将日志记录在控制台
实现log接口中的方法。
1、根据调用的级别输出,将日志级别(int)转为string类型,例如DEBUG
(int)实际值为0,转为"DEBUG"
(string)
2、在控制台输入,输入的时候带上日期
import (
"fmt"
"runtime"
"time"
)
// 当前日志级别
type Logger struct {
Level int8
}
// 构造方法
func NewLogger(level int8) Logger {
return Logger{
Level: level,}
}
// 设置当前日志级别
func (this *Logger)SetLogger(level int8) {
this.Level=level
}
// 实现Log接口中的方法
func (this Logger)Debug(msg string) {
this.printLog(DEBUG,msg)
}
func (this Logger)TRACE(msg string) {
this.printLog(TRACE,msg)
}
func (this Logger)INFO(msg string) {
this.printLog(INFO,msg)
}
func (this Logger)WARNING(msg string) {
this.printLog(WARNING,msg)
}
func (this Logger)ERROR(msg string) {
this.printLog(ERROR,msg)
}
func (this Logger)FATAL(msg string) {
this.printLog(FATAL,msg)
}
// 根据日志级别输出日志信息:日志输出到控制台
func (this Logger)printLog(level int8,msg string) {
var l string
switch level {
case DEBUG:l=