// Copyright 2016 fatedier, fatedier@gmail.com // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package log import ( "fmt" "github.com/astaxie/beego/logs" ) var Log *logs.BeeLogger func init() { Log = logs.NewLogger(1000) Log.EnableFuncCallDepth(true) Log.SetLogFuncCallDepth(Log.GetLogFuncCallDepth() + 1) } func InitLog(logWay string, logFile string, logLevel string, maxdays int64) { SetLogFile(logWay, logFile, maxdays) SetLogLevel(logLevel) } // logWay: file or console func SetLogFile(logWay string, logFile string, maxdays int64) { if logWay == "console" { Log.SetLogger("console", "") } else { params := fmt.Sprintf(`{"filename": "%s", "maxdays": %d}`, logFile, maxdays) Log.SetLogger("file", params) } } // value: error, warning, info, debug func SetLogLevel(logLevel string) { level := 4 // warning switch logLevel { case "error": level = 3 case "warn": level = 4 case "info": level = 6 case "debug": level = 7 default: level = 4 } Log.SetLevel(level) } // wrap log func Error(format string, v ...interface{}) { Log.Error(format, v...) } func Warn(format string, v ...interface{}) { Log.Warn(format, v...) } func Info(format string, v ...interface{}) { Log.Info(format, v...) } func Debug(format string, v ...interface{}) { Log.Debug(format, v...) }