diff options
author | 2022-07-19 09:47:55 +0100 | |
---|---|---|
committer | 2022-07-19 10:47:55 +0200 | |
commit | 098dbe6ff4f59652181c8e0e3873fbfcf0e65ea3 (patch) | |
tree | 17036ad9db68c3080e1e91279c8bce9f9ea6e5c3 /internal/media | |
parent | [bugfix] Markdown format fixes (#718) (diff) | |
download | gotosocial-098dbe6ff4f59652181c8e0e3873fbfcf0e65ea3.tar.xz |
[chore] use our own logging implementation (#716)
* first commit
Signed-off-by: kim <grufwub@gmail.com>
* replace logging with our own log library
Signed-off-by: kim <grufwub@gmail.com>
* fix imports
Signed-off-by: kim <grufwub@gmail.com>
* fix log imports
Signed-off-by: kim <grufwub@gmail.com>
* add license text
Signed-off-by: kim <grufwub@gmail.com>
* fix package import cycle between config and log package
Signed-off-by: kim <grufwub@gmail.com>
* fix empty kv.Fields{} being passed to WithFields()
Signed-off-by: kim <grufwub@gmail.com>
* fix uses of log.WithFields() with whitespace issues and empty slices
Signed-off-by: kim <grufwub@gmail.com>
* *linter related grumbling*
Signed-off-by: kim <grufwub@gmail.com>
* gofmt the codebase! also fix more log.WithFields() formatting issues
Signed-off-by: kim <grufwub@gmail.com>
* update testrig code to match new changes
Signed-off-by: kim <grufwub@gmail.com>
* fix error wrapping in non fmt.Errorf function
Signed-off-by: kim <grufwub@gmail.com>
* add benchmarking of log.Caller() vs non-cached
Signed-off-by: kim <grufwub@gmail.com>
* fix syslog tests, add standard build tags to test runner to ensure consistency
Signed-off-by: kim <grufwub@gmail.com>
* make syslog tests more robust
Signed-off-by: kim <grufwub@gmail.com>
* fix caller depth arithmatic (is that how you spell it?)
Signed-off-by: kim <grufwub@gmail.com>
* update to use unkeyed fields in kv.Field{} instances
Signed-off-by: kim <grufwub@gmail.com>
* update go-kv library
Signed-off-by: kim <grufwub@gmail.com>
* update libraries list
Signed-off-by: kim <grufwub@gmail.com>
* fuck you linter get nerfed
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
Diffstat (limited to 'internal/media')
-rw-r--r-- | internal/media/manager.go | 18 | ||||
-rw-r--r-- | internal/media/processingemoji.go | 4 | ||||
-rw-r--r-- | internal/media/processingmedia.go | 30 | ||||
-rw-r--r-- | internal/media/prunemeta.go | 10 | ||||
-rw-r--r-- | internal/media/prunemeta_test.go | 1 | ||||
-rw-r--r-- | internal/media/pruneremote.go | 12 | ||||
-rw-r--r-- | internal/media/pruneunusedlocal.go | 12 | ||||
-rw-r--r-- | internal/media/util.go | 9 |
8 files changed, 48 insertions, 48 deletions
diff --git a/internal/media/manager.go b/internal/media/manager.go index b14288324..828aa033b 100644 --- a/internal/media/manager.go +++ b/internal/media/manager.go @@ -24,10 +24,10 @@ import ( "time" "github.com/robfig/cron/v3" - "github.com/sirupsen/logrus" "github.com/superseriousbusiness/gotosocial/internal/concurrency" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" + "github.com/superseriousbusiness/gotosocial/internal/log" "github.com/superseriousbusiness/gotosocial/internal/storage" ) @@ -210,10 +210,10 @@ func scheduleCleanupJobs(m *manager) error { begin := time.Now() pruned, err := m.PruneAllMeta(pruneCtx) if err != nil { - logrus.Errorf("media manager: error pruning meta: %s", err) + log.Errorf("media manager: error pruning meta: %s", err) return } - logrus.Infof("media manager: pruned %d meta entries in %s", pruned, time.Since(begin)) + log.Infof("media manager: pruned %d meta entries in %s", pruned, time.Since(begin)) }); err != nil { pruneCancel() return fmt.Errorf("error starting media manager meta cleanup job: %s", err) @@ -223,10 +223,10 @@ func scheduleCleanupJobs(m *manager) error { begin := time.Now() pruned, err := m.PruneUnusedLocalAttachments(pruneCtx) if err != nil { - logrus.Errorf("media manager: error pruning unused local attachments: %s", err) + log.Errorf("media manager: error pruning unused local attachments: %s", err) return } - logrus.Infof("media manager: pruned %d unused local attachments in %s", pruned, time.Since(begin)) + log.Infof("media manager: pruned %d unused local attachments in %s", pruned, time.Since(begin)) }); err != nil { pruneCancel() return fmt.Errorf("error starting media manager unused local attachments cleanup job: %s", err) @@ -238,10 +238,10 @@ func scheduleCleanupJobs(m *manager) error { begin := time.Now() pruned, err := m.PruneAllRemote(pruneCtx, mediaRemoteCacheDays) if err != nil { - logrus.Errorf("media manager: error pruning remote cache: %s", err) + log.Errorf("media manager: error pruning remote cache: %s", err) return } - logrus.Infof("media manager: pruned %d remote cache entries in %s", pruned, time.Since(begin)) + log.Infof("media manager: pruned %d remote cache entries in %s", pruned, time.Since(begin)) }); err != nil { pruneCancel() return fmt.Errorf("error starting media manager remote cache cleanup job: %s", err) @@ -254,9 +254,9 @@ func scheduleCleanupJobs(m *manager) error { select { case <-cronCtx.Done(): - logrus.Infof("media manager: cron finished jobs and stopped gracefully") + log.Infof("media manager: cron finished jobs and stopped gracefully") case <-time.After(1 * time.Minute): - logrus.Infof("media manager: cron didn't stop after 60 seconds, will force close jobs") + log.Infof("media manager: cron didn't stop after 60 seconds, will force close jobs") break } diff --git a/internal/media/processingemoji.go b/internal/media/processingemoji.go index ffac56052..b28dc7f02 100644 --- a/internal/media/processingemoji.go +++ b/internal/media/processingemoji.go @@ -28,9 +28,9 @@ import ( "sync/atomic" "time" - "github.com/sirupsen/logrus" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/log" "github.com/superseriousbusiness/gotosocial/internal/storage" "github.com/superseriousbusiness/gotosocial/internal/uris" ) @@ -174,7 +174,7 @@ func (p *ProcessingEmoji) store(ctx context.Context) error { defer func() { if rc, ok := reader.(io.ReadCloser); ok { if err := rc.Close(); err != nil { - logrus.Errorf("store: error closing readcloser: %s", err) + log.Errorf("store: error closing readcloser: %s", err) } } }() diff --git a/internal/media/processingmedia.go b/internal/media/processingmedia.go index 17fddddb7..885e97417 100644 --- a/internal/media/processingmedia.go +++ b/internal/media/processingmedia.go @@ -28,11 +28,11 @@ import ( "sync/atomic" "time" - "github.com/sirupsen/logrus" terminator "github.com/superseriousbusiness/exif-terminator" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" + "github.com/superseriousbusiness/gotosocial/internal/log" "github.com/superseriousbusiness/gotosocial/internal/storage" "github.com/superseriousbusiness/gotosocial/internal/uris" ) @@ -80,10 +80,10 @@ func (p *ProcessingMedia) AttachmentID() string { // LoadAttachment blocks until the thumbnail and fullsize content // has been processed, and then returns the completed attachment. func (p *ProcessingMedia) LoadAttachment(ctx context.Context) (*gtsmodel.MediaAttachment, error) { - logrus.Tracef("LoadAttachment: getting lock for attachment %s", p.attachment.URL) + log.Tracef("LoadAttachment: getting lock for attachment %s", p.attachment.URL) p.mu.Lock() defer p.mu.Unlock() - logrus.Tracef("LoadAttachment: got lock for attachment %s", p.attachment.URL) + log.Tracef("LoadAttachment: got lock for attachment %s", p.attachment.URL) if err := p.store(ctx); err != nil { return nil, err @@ -113,7 +113,7 @@ func (p *ProcessingMedia) LoadAttachment(ctx context.Context) (*gtsmodel.MediaAt p.insertedInDB = true } - logrus.Tracef("LoadAttachment: finished, returning attachment %s", p.attachment.URL) + log.Tracef("LoadAttachment: finished, returning attachment %s", p.attachment.URL) return p.attachment, nil } @@ -137,7 +137,7 @@ func (p *ProcessingMedia) loadThumb(ctx context.Context) error { } // stream the original file out of storage - logrus.Tracef("loadThumb: fetching attachment from storage %s", p.attachment.URL) + log.Tracef("loadThumb: fetching attachment from storage %s", p.attachment.URL) stored, err := p.storage.GetStream(ctx, p.attachment.File.Path) if err != nil { p.err = fmt.Errorf("loadThumb: error fetching file from storage: %s", err) @@ -147,14 +147,14 @@ func (p *ProcessingMedia) loadThumb(ctx context.Context) error { // whatever happens, close the stream when we're done defer func() { - logrus.Tracef("loadThumb: closing stored stream %s", p.attachment.URL) + log.Tracef("loadThumb: closing stored stream %s", p.attachment.URL) if err := stored.Close(); err != nil { - logrus.Errorf("loadThumb: error closing stored full size: %s", err) + log.Errorf("loadThumb: error closing stored full size: %s", err) } }() // stream the file from storage straight into the derive thumbnail function - logrus.Tracef("loadThumb: calling deriveThumbnail %s", p.attachment.URL) + log.Tracef("loadThumb: calling deriveThumbnail %s", p.attachment.URL) thumb, err := deriveThumbnail(stored, p.attachment.File.ContentType, createBlurhash) if err != nil { p.err = fmt.Errorf("loadThumb: error deriving thumbnail: %s", err) @@ -163,7 +163,7 @@ func (p *ProcessingMedia) loadThumb(ctx context.Context) error { } // put the thumbnail in storage - logrus.Tracef("loadThumb: storing new thumbnail %s", p.attachment.URL) + log.Tracef("loadThumb: storing new thumbnail %s", p.attachment.URL) if err := p.storage.Put(ctx, p.attachment.Thumbnail.Path, thumb.small); err != nil { p.err = fmt.Errorf("loadThumb: error storing thumbnail: %s", err) atomic.StoreInt32(&p.thumbState, int32(errored)) @@ -184,7 +184,7 @@ func (p *ProcessingMedia) loadThumb(ctx context.Context) error { // we're done processing the thumbnail! atomic.StoreInt32(&p.thumbState, int32(complete)) - logrus.Tracef("loadThumb: finished processing thumbnail for attachment %s", p.attachment.URL) + log.Tracef("loadThumb: finished processing thumbnail for attachment %s", p.attachment.URL) fallthrough case complete: return nil @@ -245,7 +245,7 @@ func (p *ProcessingMedia) loadFullSize(ctx context.Context) error { // we're done processing the full-size image atomic.StoreInt32(&p.fullSizeState, int32(complete)) - logrus.Tracef("loadFullSize: finished processing full size image for attachment %s", p.attachment.URL) + log.Tracef("loadFullSize: finished processing full size image for attachment %s", p.attachment.URL) fallthrough case complete: return nil @@ -270,13 +270,13 @@ func (p *ProcessingMedia) store(ctx context.Context) error { if err != nil { return fmt.Errorf("store: error executing data function: %s", err) } - logrus.Tracef("store: reading %d bytes from data function for media %s", fileSize, p.attachment.URL) + log.Tracef("store: reading %d bytes from data function for media %s", fileSize, p.attachment.URL) // defer closing the reader when we're done with it defer func() { if rc, ok := reader.(io.ReadCloser); ok { if err := rc.Close(); err != nil { - logrus.Errorf("store: error closing readcloser: %s", err) + log.Errorf("store: error closing readcloser: %s", err) } } }() @@ -330,7 +330,7 @@ func (p *ProcessingMedia) store(ctx context.Context) error { defer func() { if rc, ok := clean.(io.ReadCloser); ok { if err := rc.Close(); err != nil { - logrus.Errorf("store: error closing clean readcloser: %s", err) + log.Errorf("store: error closing clean readcloser: %s", err) } } }() @@ -353,7 +353,7 @@ func (p *ProcessingMedia) store(ctx context.Context) error { return p.postData(ctx) } - logrus.Tracef("store: finished storing initial data for attachment %s", p.attachment.URL) + log.Tracef("store: finished storing initial data for attachment %s", p.attachment.URL) return nil } diff --git a/internal/media/prunemeta.go b/internal/media/prunemeta.go index 33391beaf..7b2b14f98 100644 --- a/internal/media/prunemeta.go +++ b/internal/media/prunemeta.go @@ -22,9 +22,9 @@ import ( "context" "codeberg.org/gruf/go-store/storage" - "github.com/sirupsen/logrus" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/log" ) func (m *manager) PruneAllMeta(ctx context.Context) (int, error) { @@ -37,7 +37,7 @@ func (m *manager) PruneAllMeta(ctx context.Context) (int, error) { for attachments, err = m.db.GetAvatarsAndHeaders(ctx, maxID, selectPruneLimit); err == nil && len(attachments) != 0; attachments, err = m.db.GetAvatarsAndHeaders(ctx, maxID, selectPruneLimit) { // use the id of the last attachment in the slice as the next 'maxID' value l := len(attachments) - logrus.Tracef("PruneAllMeta: got %d attachments with maxID < %s", l, maxID) + log.Tracef("PruneAllMeta: got %d attachments with maxID < %s", l, maxID) maxID = attachments[l-1].ID // prune each attachment that meets one of the following criteria: @@ -61,14 +61,14 @@ func (m *manager) PruneAllMeta(ctx context.Context) (int, error) { return totalPruned, err } - logrus.Infof("PruneAllMeta: finished pruning avatars + headers: pruned %d entries", totalPruned) + log.Infof("PruneAllMeta: finished pruning avatars + headers: pruned %d entries", totalPruned) return totalPruned, nil } func (m *manager) pruneOneAvatarOrHeader(ctx context.Context, attachment *gtsmodel.MediaAttachment) error { if attachment.File.Path != "" { // delete the full size attachment from storage - logrus.Tracef("pruneOneAvatarOrHeader: deleting %s", attachment.File.Path) + log.Tracef("pruneOneAvatarOrHeader: deleting %s", attachment.File.Path) if err := m.storage.Delete(ctx, attachment.File.Path); err != nil && err != storage.ErrNotFound { return err } @@ -76,7 +76,7 @@ func (m *manager) pruneOneAvatarOrHeader(ctx context.Context, attachment *gtsmod if attachment.Thumbnail.Path != "" { // delete the thumbnail from storage - logrus.Tracef("pruneOneAvatarOrHeader: deleting %s", attachment.Thumbnail.Path) + log.Tracef("pruneOneAvatarOrHeader: deleting %s", attachment.Thumbnail.Path) if err := m.storage.Delete(ctx, attachment.Thumbnail.Path); err != nil && err != storage.ErrNotFound { return err } diff --git a/internal/media/prunemeta_test.go b/internal/media/prunemeta_test.go index 8b250e7a5..b02156587 100644 --- a/internal/media/prunemeta_test.go +++ b/internal/media/prunemeta_test.go @@ -85,6 +85,7 @@ func (suite *PruneMetaTestSuite) TestPruneMetaTwice() { suite.NoError(err) suite.Equal(0, totalPruned) } + func (suite *PruneMetaTestSuite) TestPruneMetaMultipleAccounts() { ctx := context.Background() diff --git a/internal/media/pruneremote.go b/internal/media/pruneremote.go index 6cad7fbf8..5c3335511 100644 --- a/internal/media/pruneremote.go +++ b/internal/media/pruneremote.go @@ -23,9 +23,9 @@ import ( "fmt" "codeberg.org/gruf/go-store/storage" - "github.com/sirupsen/logrus" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/log" ) func (m *manager) PruneAllRemote(ctx context.Context, olderThanDays int) (int, error) { @@ -35,14 +35,14 @@ func (m *manager) PruneAllRemote(ctx context.Context, olderThanDays int) (int, e if err != nil { return totalPruned, fmt.Errorf("PruneAllRemote: error parsing olderThanDays %d: %s", olderThanDays, err) } - logrus.Infof("PruneAllRemote: pruning media older than %s", olderThan) + log.Infof("PruneAllRemote: pruning media older than %s", olderThan) // select 20 attachments at a time and prune them for attachments, err := m.db.GetRemoteOlderThan(ctx, olderThan, selectPruneLimit); err == nil && len(attachments) != 0; attachments, err = m.db.GetRemoteOlderThan(ctx, olderThan, selectPruneLimit) { // use the age of the oldest attachment (the last one in the slice) as the next 'older than' value l := len(attachments) - logrus.Tracef("PruneAllRemote: got %d attachments older than %s", l, olderThan) + log.Tracef("PruneAllRemote: got %d attachments older than %s", l, olderThan) olderThan = attachments[l-1].CreatedAt // prune each attachment @@ -59,14 +59,14 @@ func (m *manager) PruneAllRemote(ctx context.Context, olderThanDays int) (int, e return totalPruned, err } - logrus.Infof("PruneAllRemote: finished pruning remote media: pruned %d entries", totalPruned) + log.Infof("PruneAllRemote: finished pruning remote media: pruned %d entries", totalPruned) return totalPruned, nil } func (m *manager) pruneOneRemote(ctx context.Context, attachment *gtsmodel.MediaAttachment) error { if attachment.File.Path != "" { // delete the full size attachment from storage - logrus.Tracef("pruneOneRemote: deleting %s", attachment.File.Path) + log.Tracef("pruneOneRemote: deleting %s", attachment.File.Path) if err := m.storage.Delete(ctx, attachment.File.Path); err != nil && err != storage.ErrNotFound { return err } @@ -75,7 +75,7 @@ func (m *manager) pruneOneRemote(ctx context.Context, attachment *gtsmodel.Media if attachment.Thumbnail.Path != "" { // delete the thumbnail from storage - logrus.Tracef("pruneOneRemote: deleting %s", attachment.Thumbnail.Path) + log.Tracef("pruneOneRemote: deleting %s", attachment.Thumbnail.Path) if err := m.storage.Delete(ctx, attachment.Thumbnail.Path); err != nil && err != storage.ErrNotFound { return err } diff --git a/internal/media/pruneunusedlocal.go b/internal/media/pruneunusedlocal.go index 789583938..ea777428b 100644 --- a/internal/media/pruneunusedlocal.go +++ b/internal/media/pruneunusedlocal.go @@ -23,9 +23,9 @@ import ( "fmt" "codeberg.org/gruf/go-store/storage" - "github.com/sirupsen/logrus" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/log" ) func (m *manager) PruneUnusedLocalAttachments(ctx context.Context) (int, error) { @@ -38,14 +38,14 @@ func (m *manager) PruneUnusedLocalAttachments(ctx context.Context) (int, error) if err != nil { return totalPruned, fmt.Errorf("PruneUnusedLocalAttachments: error parsing olderThanDays %d: %s", UnusedLocalAttachmentCacheDays, err) } - logrus.Infof("PruneUnusedLocalAttachments: pruning unused local attachments older than %s", olderThan) + log.Infof("PruneUnusedLocalAttachments: pruning unused local attachments older than %s", olderThan) // select 20 attachments at a time and prune them for attachments, err = m.db.GetLocalUnattachedOlderThan(ctx, olderThan, maxID, selectPruneLimit); err == nil && len(attachments) != 0; attachments, err = m.db.GetLocalUnattachedOlderThan(ctx, olderThan, maxID, selectPruneLimit) { // use the id of the last attachment in the slice as the next 'maxID' value l := len(attachments) maxID = attachments[l-1].ID - logrus.Tracef("PruneUnusedLocalAttachments: got %d unused local attachments older than %s with maxID < %s", l, olderThan, maxID) + log.Tracef("PruneUnusedLocalAttachments: got %d unused local attachments older than %s with maxID < %s", l, olderThan, maxID) for _, attachment := range attachments { if err := m.pruneOneLocal(ctx, attachment); err != nil { @@ -60,14 +60,14 @@ func (m *manager) PruneUnusedLocalAttachments(ctx context.Context) (int, error) return totalPruned, err } - logrus.Infof("PruneUnusedLocalAttachments: finished pruning: pruned %d entries", totalPruned) + log.Infof("PruneUnusedLocalAttachments: finished pruning: pruned %d entries", totalPruned) return totalPruned, nil } func (m *manager) pruneOneLocal(ctx context.Context, attachment *gtsmodel.MediaAttachment) error { if attachment.File.Path != "" { // delete the full size attachment from storage - logrus.Tracef("pruneOneLocal: deleting %s", attachment.File.Path) + log.Tracef("pruneOneLocal: deleting %s", attachment.File.Path) if err := m.storage.Delete(ctx, attachment.File.Path); err != nil && err != storage.ErrNotFound { return err } @@ -75,7 +75,7 @@ func (m *manager) pruneOneLocal(ctx context.Context, attachment *gtsmodel.MediaA if attachment.Thumbnail.Path != "" { // delete the thumbnail from storage - logrus.Tracef("pruneOneLocal: deleting %s", attachment.Thumbnail.Path) + log.Tracef("pruneOneLocal: deleting %s", attachment.Thumbnail.Path) if err := m.storage.Delete(ctx, attachment.Thumbnail.Path); err != nil && err != storage.ErrNotFound { return err } diff --git a/internal/media/util.go b/internal/media/util.go index 9d62619f5..aea2ad990 100644 --- a/internal/media/util.go +++ b/internal/media/util.go @@ -24,7 +24,7 @@ import ( "time" "github.com/h2non/filetype" - "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/gotosocial/internal/log" ) // AllSupportedMIMETypes just returns all media @@ -117,17 +117,16 @@ func ParseMediaSize(s string) (Size, error) { } // logrusWrapper is just a util for passing the logrus logger into the cron logging system. -type logrusWrapper struct { -} +type logrusWrapper struct{} // Info logs routine messages about cron's operation. func (l *logrusWrapper) Info(msg string, keysAndValues ...interface{}) { - logrus.Info("media manager cron logger: ", msg, keysAndValues) + log.Info("media manager cron logger: ", msg, keysAndValues) } // Error logs an error condition. func (l *logrusWrapper) Error(err error, msg string, keysAndValues ...interface{}) { - logrus.Error("media manager cron logger: ", err, msg, keysAndValues) + log.Error("media manager cron logger: ", err, msg, keysAndValues) } func parseOlderThan(olderThanDays int) (time.Time, error) { |