package log

import (
	"fmt"
	"os"
	"path/filepath"
	"time"
)

type Entry struct {
	time.Time
	Category string
	Level
	Message string
	*Fields
}

var DefaultCategory = filepath.Base(os.Args[0])

func NewEntry(level Level, message string) *Entry {
	return &Entry{time.Now(), DefaultCategory, level, message, nil}
}

func NewEntryf(level Level, template string, args ...interface{}) *Entry {
	return NewEntry(level, fmt.Sprintf(template, args...))
}