Skip to content

Commit

Permalink
chore(fs): add logger
Browse files Browse the repository at this point in the history
fix(fs): use Dir cfg
  • Loading branch information
neurosnap committed Jan 15, 2025
1 parent c39198b commit 73c816e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
14 changes: 10 additions & 4 deletions storage/fs.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"fmt"
"io"
"io/fs"
"log/slog"
"os"
"path"
"path/filepath"
Expand All @@ -30,14 +31,15 @@ func dirSize(path string) (int64, error) {
}

type StorageFS struct {
Dir string
Dir string
Logger *slog.Logger
}

var _ ObjectStorage = &StorageFS{}
var _ ObjectStorage = (*StorageFS)(nil)

func NewStorageFS(dir string) (*StorageFS, error) {
return &StorageFS{Dir: dir}, nil
func NewStorageFS(logger *slog.Logger, dir string) (*StorageFS, error) {
return &StorageFS{Logger: logger, Dir: dir}, nil
}

func (s *StorageFS) GetBucket(name string) (Bucket, error) {
Expand All @@ -46,6 +48,7 @@ func (s *StorageFS) GetBucket(name string) (Bucket, error) {
Name: name,
Path: dirPath,
}
s.Logger.Info("get bucket", "dir", dirPath)

info, err := os.Stat(dirPath)
if os.IsNotExist(err) {
Expand All @@ -65,12 +68,15 @@ func (s *StorageFS) GetBucket(name string) (Bucket, error) {
}

func (s *StorageFS) UpsertBucket(name string) (Bucket, error) {
s.Logger.Info("upsert bucket", "name", name)
bucket, err := s.GetBucket(name)
if err == nil {
return bucket, nil
}

err = os.MkdirAll(bucket.Path, os.ModePerm)
dir := filepath.Join(s.Dir, bucket.Path)
s.Logger.Info("bucket not found, creating", "dir", dir, "err", err)
err = os.MkdirAll(dir, os.ModePerm)
if err != nil {
return bucket, err
}
Expand Down
2 changes: 1 addition & 1 deletion util.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,5 @@ func EnvDriverDetector(logger *slog.Logger) (storage.ObjectStorage, error) {
// implied driver == "fs"
storageDir := GetEnv("OBJECT_URL", "./.storage")
logger.Info("object config detected", "dir", storageDir)
return storage.NewStorageFS(storageDir)
return storage.NewStorageFS(logger, storageDir)
}

0 comments on commit 73c816e

Please sign in to comment.