Ejemplo n.º 1
0
func LoggerHandler() core.Handler {
	logger := log.GetLogger("/monica/middleware/logger")
	return func(ctx *core.Context) {
		t := time.Now()
		ctx.Next()
		logger.Infof("%s %dms",
			ctx.Request.URL.String(),
			int(time.Since(t).Seconds()*1000),
		)
	}
}
Ejemplo n.º 2
0
func NewContext(resp http.ResponseWriter, req *http.Request) *Context {
	c := &Context{
		Injector:   inject.New(),
		Request:    req,
		Resp:       resp,
		logger:     log.GetLogger("/monica/core/context"),
		timerStart: time.Now(),
	}
	c.Map(c)
	return c
}
Ejemplo n.º 3
0
func ReconverHandler() core.Handler {
	errorLogger := log.GetLogger("/monica/middleware/errorLogger")
	return func(ctx *core.Context) {
		defer func() {
			if r := recover(); r != nil {
				trace := make([]byte, 10240)
				runtime.Stack(trace, false)
				errorLogger.Errorf(
					"server request %+v error: %+v\n %s", ctx.Request, r, trace)

				ctx.Resp.Write([]byte("monica recover.... error happend"))
				ctx.Resp.WriteHeader(500)
				ctx.Stop()
			}

		}()
		ctx.Next()
	}

}
Ejemplo n.º 4
0
func init() {
	runtime.GOMAXPROCS(runtime.NumCPU())
	// add default configure
	initGlobalConfiger()
	runDir := config.GlobalConfiger.String("default::runDir")
	if runDir != "" {
		os.Setenv("MONICA_RUNDIR", runDir)
	}
	// now config log module
	if err := log.InitLoggerFromConfigure(config.GlobalConfiger); err != nil {
		fmt.Fprintf(os.Stderr, "init from config error: load default configurre: %s", err)
	}

	println("init logger ok")
	bootStrapLogger = log.GetLogger("/monica/bootstrap")
	initDefaultLang()
	go registerSignalHandler()

	// reset beego validation

}
Ejemplo n.º 5
0
func init() {
	dbLogger = log.GetLogger("/monica/database")
}
Ejemplo n.º 6
0
func InitSensorLogger() {
	logName := config.GlobalConfiger.String("sensor_logger")
	sensorLogger = log.GetLogger(logName)
}
Ejemplo n.º 7
0
func init() {
	root = &UrlNode{}
	currentNode = root
	logger = log.GetLogger("/monica/core/router")
}
Ejemplo n.º 8
0
func init() {
	sessionLogger = log.GetLogger("/monica/middleware/session")
}