93 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
// 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)
 | 
						|
}
 |