pink_fox/pink_fox_app/internal/app/log/log.go

31 lines
520 B
Go

package log
import (
"fmt"
"log/slog"
"os"
)
type Logger struct {
file *os.File
logger *slog.Logger
}
func NewLogger(path string) (*Logger, error) {
file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
return nil, fmt.Errorf("не удалось открыть файл лога: %s", err)
}
logger := slog.New(slog.NewTextHandler(file, nil))
return &Logger{
file: file,
logger: logger,
}, nil
}
func (it *Logger) Close() error {
return it.file.Close()
}