storage/filesytem: more consistent logging

This commit is contained in:
Conrad Hoffmann 2024-02-05 22:48:00 +01:00
parent a115c50037
commit cca1d579db
2 changed files with 34 additions and 69 deletions

View file

@ -189,19 +189,12 @@ func (b *filesystemBackend) ListCalendars(ctx context.Context) ([]caldav.Calenda
if err == nil && len(result) == 0 {
// Nothing here yet? Create the default calendar.
log.Debug().Msg("no calendars found, creating default calendar")
cal, err_ := b.createDefaultCalendar(ctx)
if err_ != nil {
log.Debug().Int("results", len(result)).Bool("success", false).Str("error", err_.Error()).Msg("filesystem.ListCalendars() done")
return nil, fmt.Errorf("error creating default calendar: %s", err_.Error())
cal, err := b.createDefaultCalendar(ctx)
if err == nil {
result = append(result, *cal)
}
result = append(result, *cal)
}
if err != nil {
log.Warn().Int("results", len(result)).Bool("success", false).Str("error", err.Error()).Msg("filesystem.ListCalendars() done")
} else {
log.Debug().Int("results", len(result)).Bool("success", true).Msg("filesystem.ListCalendars() done")
}
log.Debug().Int("results", len(result)).Err(err).Msg("filesystem.ListCalendars() done")
return result, err
}
@ -214,14 +207,14 @@ func (b *filesystemBackend) GetCalendar(ctx context.Context, urlPath string) (*c
}
localPath = filepath.Join(localPath, calendarFileName)
log.Debug().Str("local_path", localPath).Msg("loading calendar")
log.Debug().Str("path", localPath).Msg("loading calendar")
data, readErr := os.ReadFile(localPath)
if readErr != nil {
if os.IsNotExist(readErr) {
data, err := os.ReadFile(localPath)
if err != nil {
if os.IsNotExist(err) {
return nil, webdav.NewHTTPError(404, err)
}
return nil, fmt.Errorf("error opening calendar: %s", readErr.Error())
return nil, fmt.Errorf("error opening calendar: %s", err.Error())
}
var calendar caldav.Calendar
err = json.Unmarshal(data, &calendar)
@ -233,7 +226,7 @@ func (b *filesystemBackend) GetCalendar(ctx context.Context, urlPath string) (*c
}
func (b *filesystemBackend) GetCalendarObject(ctx context.Context, objPath string, req *caldav.CalendarCompRequest) (*caldav.CalendarObject, error) {
log.Debug().Str("url_path", objPath).Msg("filesystem.GetCalendarObject()")
log.Debug().Str("path", objPath).Msg("filesystem.GetCalendarObject()")
localPath, err := b.safeLocalCalDAVPath(ctx, objPath)
if err != nil {
@ -243,7 +236,6 @@ func (b *filesystemBackend) GetCalendarObject(ctx context.Context, objPath strin
info, err := os.Stat(localPath)
if err != nil {
if errors.Is(err, fs.ErrNotExist) {
log.Debug().Str("local_path", localPath).Msg("object not found")
return nil, webdav.NewHTTPError(404, err)
}
return nil, err
@ -256,7 +248,7 @@ func (b *filesystemBackend) GetCalendarObject(ctx context.Context, objPath strin
calendar, err := calendarFromFile(localPath, propFilter)
if err != nil {
log.Debug().Err(err).Msg("error reading calendar")
log.Debug().Str("path", localPath).Err(err).Msg("error reading calendar")
return nil, err
}
@ -284,11 +276,7 @@ func (b *filesystemBackend) ListCalendarObjects(ctx context.Context, urlPath str
}
result, err := b.loadAllCalendarObjects(ctx, urlPath, propFilter)
if err != nil {
log.Warn().Int("results", len(result)).Bool("success", false).Str("error", err.Error()).Msg("filesystem.ListCalendarObjects() done")
} else {
log.Debug().Int("results", len(result)).Bool("success", true).Msg("filesystem.ListCalendarObjects() done")
}
log.Debug().Int("results", len(result)).Err(err).Msg("filesystem.ListCalendarObjects() done")
return result, err
}
@ -301,24 +289,18 @@ func (b *filesystemBackend) QueryCalendarObjects(ctx context.Context, urlPath st
}
result, err := b.loadAllCalendarObjects(ctx, urlPath, propFilter)
log.Debug().Int("results", len(result)).Err(err).Msg("filesystem.QueryCalendarObjects() load done")
if err != nil {
log.Warn().Int("results", len(result)).Str("error", err.Error()).Msg("filesystem.QueryCalendarObjects() error loading")
return result, err
}
log.Debug().Int("results", len(result)).Bool("success", true).Msg("filesystem.QueryCalendarObjects() load done")
filtered, err := caldav.Filter(query, result)
if err != nil {
log.Warn().Int("results", len(result)).Str("error", err.Error()).Msg("filesystem.QueryCalendarObjects() error filtering")
return result, err
}
log.Debug().Int("results", len(filtered)).Bool("success", true).Msg("filesystem.QueryCalendarObjects() done")
return filtered, nil
log.Debug().Int("results", len(filtered)).Err(err).Msg("filesystem.QueryCalendarObjects() filter done")
return filtered, err
}
func (b *filesystemBackend) PutCalendarObject(ctx context.Context, objPath string, calendar *ical.Calendar, opts *caldav.PutCalendarObjectOptions) (loc string, err error) {
log.Debug().Str("url_path", objPath).Msg("filesystem.PutCalendarObject()")
log.Debug().Str("path", objPath).Msg("filesystem.PutCalendarObject()")
_, uid, err := caldav.ValidateCalendarObject(calendar)
if err != nil {
@ -376,7 +358,7 @@ func (b *filesystemBackend) PutCalendarObject(ctx context.Context, objPath strin
}
func (b *filesystemBackend) DeleteCalendarObject(ctx context.Context, path string) error {
log.Debug().Str("url_path", path).Msg("filesystem.DeleteCalendarObject()")
log.Debug().Str("path", path).Msg("filesystem.DeleteCalendarObject()")
localPath, err := b.safeLocalCalDAVPath(ctx, path)
if err != nil {