package muesli

import "runtime"

/** Logger interface that Muuesli uses.*/
type Logger interface {
	Log(level string, file string, line int, format string, args ...interface{})
}

func WriteLog(logger Logger, depth int, level string, format string, args ...interface{}) {
	_, file, line, ok := runtime.Caller(depth)

	if !ok {
		file = "unknown"
		line = 0
	}

	logger.Log(level, file, line, format, args...)
}