Слияние кода завершено, страница обновится автоматически
package spellsql
import (
"context"
"log"
"os"
"runtime"
"strconv"
)
type defaultLogger struct {
log *log.Logger
}
func NewLogger() *defaultLogger {
return &defaultLogger{
log: log.New(os.Stdout, "", log.LstdFlags),
}
}
func (d *defaultLogger) Info(ctx context.Context, v ...interface{}) {
d.log.Println(append([]interface{}{"[INFO] " + d.getPrefix(3)}, v...)...)
}
func (d *defaultLogger) Error(ctx context.Context, v ...interface{}) {
d.log.Println(append([]interface{}{"[ERRO] " + d.getPrefix(3)}, v...)...)
}
func (d *defaultLogger) Warning(ctx context.Context, v ...interface{}) {
d.log.Println(append([]interface{}{"[WARN] " + d.getPrefix(3)}, v...)...)
}
func (d *defaultLogger) getPrefix(skip int) string {
file, line := d.callInfo(skip)
return file + ":" + strconv.Itoa(line)
}
func (d *defaultLogger) callInfo(skip int) (string, int) {
_, file, line, ok := runtime.Caller(skip)
if !ok {
return "", 0
}
file = parseFileName(file)
return file, line
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )