hellow , im new to study golang. english is not very well. and for this code what
s wrong with it? i cant find out.
package mylogger
import (
“fmt”
“time”
)
type LogLevel uint16
const (
UNKNOWN LogLevel = iota
DEBUG
TRACE
INFO
WARNING
ERROR
FATAL
)
type Logger struct {
Level LogLevel
}
func parseLogLevel(s string) (LogLevel, error) {
s = strings.ToLower(s)
switch s {
case “debug”:
return DEBUGn, nil
case “trace”:
return TRACE, nil
case “info”:
return INFO, nil
case “warning”:
return WARNING, nil
case “error”:
return ERROR, nil
case “fatal”:
return FATAL, nil
default:
err := errors.New(“useless loglevel”)
return UNKNOWN, err
}
func NewLog (levelStr string) Logger {
level, err := parseLogLevel(levelStr)
if err != nil {
panic(err)
}
return Logger {
Level: level,
}
}
func (l Logger) enable(logLevel LogLevel) bool {
return l.Level >
}
func (l Logger) Debug (msg string) {
if i.enable(DEBUG) {
now := time.Now()
fmt.Printf("[%s] [DEBUG] %s\n", now.Format(“2006-01-02 15:04:05”), msg)
}
}
func (l Logger) Info (msg string) {
if l.enable(INFO) {
now := time.Now()
fmt.Printf("[%s] [INFO] %s\n", now.Format(“2006-01-02 15:04:05”), msg)
}
}
func (l Logger) Warning (msg string) {
if l.enable(WARNING) {
now := time.Now()
fmt.Printf("[%s] [WARNING] %s\n", now.Format(“2006-01-02 15:04:05”), msg)
}
}
func (l Logger) Error (msg string) {
if l.enable(ERROR) {
now := time.Now()
fmt.Printf("[%s] [ERROR] %s\n", now.Format(“2006-01-02 15:04:05”), msg)
}
}
func (l Logger) Fatal (msg string) {
if l.enable(FATAL) {
now := time.Now()
fmt.Printf("[%s] [FATAL] %s\n", now.Format(“2006-01-02 15:04:05”), msg)
}
}`
45:6: syntax error: unexpected NewLog, expecting (
56:33: syntax error: unexpected LogLevel, expecting comma or )
thanks!