You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.8 KiB
92 lines
1.8 KiB
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Package log is a wrapper of logs for short calling name.
|
|
package log
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path"
|
|
|
|
"github.com/gogits/logs"
|
|
)
|
|
|
|
var (
|
|
loggers []*logs.BeeLogger
|
|
GitLogger *logs.BeeLogger
|
|
)
|
|
|
|
func init() {
|
|
NewLogger(0, "console", `{"level": 0}`)
|
|
}
|
|
|
|
func NewLogger(bufLen int64, mode, config string) {
|
|
logger := logs.NewLogger(bufLen)
|
|
|
|
isExist := false
|
|
for _, l := range loggers {
|
|
if l.Adapter == mode {
|
|
isExist = true
|
|
l = logger
|
|
}
|
|
}
|
|
if !isExist {
|
|
loggers = append(loggers, logger)
|
|
}
|
|
logger.SetLogFuncCallDepth(3)
|
|
if err := logger.SetLogger(mode, config); err != nil {
|
|
Fatal("Fail to set logger(%s): %v", mode, err)
|
|
}
|
|
}
|
|
|
|
func NewGitLogger(logPath string) {
|
|
os.MkdirAll(path.Dir(logPath), os.ModePerm)
|
|
GitLogger = logs.NewLogger(0)
|
|
GitLogger.SetLogger("file", fmt.Sprintf(`{"level":0,"filename":"%s","rotate":false}`, logPath))
|
|
}
|
|
|
|
func Trace(format string, v ...interface{}) {
|
|
for _, logger := range loggers {
|
|
logger.Trace(format, v...)
|
|
}
|
|
}
|
|
|
|
func Debug(format string, v ...interface{}) {
|
|
for _, logger := range loggers {
|
|
logger.Debug(format, v...)
|
|
}
|
|
}
|
|
|
|
func Info(format string, v ...interface{}) {
|
|
for _, logger := range loggers {
|
|
logger.Info(format, v...)
|
|
}
|
|
}
|
|
|
|
func Error(format string, v ...interface{}) {
|
|
for _, logger := range loggers {
|
|
logger.Error(format, v...)
|
|
}
|
|
}
|
|
|
|
func Warn(format string, v ...interface{}) {
|
|
for _, logger := range loggers {
|
|
logger.Warn(format, v...)
|
|
}
|
|
}
|
|
|
|
func Critical(format string, v ...interface{}) {
|
|
for _, logger := range loggers {
|
|
logger.Critical(format, v...)
|
|
}
|
|
}
|
|
|
|
func Fatal(format string, v ...interface{}) {
|
|
Error(format, v...)
|
|
for _, l := range loggers {
|
|
l.Close()
|
|
}
|
|
os.Exit(2)
|
|
}
|
|
|