From 562ab861deac7a66388bf640bb4ac14ab1aca15d Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 4 Jul 2023 22:29:04 -0600 Subject: [PATCH] Don't append strings for error logging --- api/_apimeta/auth.go | 2 +- api/custom/exports.go | 2 +- api/custom/purge.go | 20 +++++++++---------- api/custom/quarantine.go | 18 ++++++++--------- api/r0/download.go | 2 +- api/r0/preview_url.go | 2 +- api/r0/thumbnail.go | 2 +- api/r0/upload_async.go | 4 ++-- api/r0/upload_sync.go | 4 ++-- api/unstable/info.go | 6 +++--- api/unstable/local_copy.go | 4 ++-- .../maintainance_controller.go | 17 ++++++++-------- .../preview_resource_handler.go | 8 ++++---- .../upload_controller/upload_controller.go | 2 +- pipelines/_steps/upload/lock.go | 2 +- storage/datastore/ds_file/file_store.go | 2 +- url_previewers/calculated_previewer.go | 2 +- url_previewers/oembed_previewer.go | 6 +++--- url_previewers/opengraph_previewer.go | 8 ++++---- 19 files changed, 57 insertions(+), 56 deletions(-) diff --git a/api/_apimeta/auth.go b/api/_apimeta/auth.go index 943bbb18..08874bb5 100644 --- a/api/_apimeta/auth.go +++ b/api/_apimeta/auth.go @@ -21,7 +21,7 @@ func GetRequestUserAdminStatus(r *http.Request, rctx rcontext.RequestContext, us isLocalAdmin, err := matrix.IsUserAdmin(rctx, r.Host, user.AccessToken, r.RemoteAddr) if err != nil { sentry.CaptureException(err) - rctx.Log.Error("Error verifying local admin: " + err.Error()) + rctx.Log.Error("Error verifying local admin: ", err) return isGlobalAdmin, false } diff --git a/api/custom/exports.go b/api/custom/exports.go index 61335e86..3a8b1716 100644 --- a/api/custom/exports.go +++ b/api/custom/exports.go @@ -99,7 +99,7 @@ func ExportServerData(r *http.Request, rctx rcontext.RequestContext, user _apime isLocalAdmin, err := matrix.IsUserAdmin(rctx, serverName, user.AccessToken, r.RemoteAddr) if err != nil { - rctx.Log.Error("Error verifying local admin: " + err.Error()) + rctx.Log.Error("Error verifying local admin: ", err) isLocalAdmin = false } if !isLocalAdmin { diff --git a/api/custom/purge.go b/api/custom/purge.go index 703cae82..417055c5 100644 --- a/api/custom/purge.go +++ b/api/custom/purge.go @@ -41,7 +41,7 @@ func PurgeRemoteMedia(r *http.Request, rctx rcontext.RequestContext, user _apime // We don't bother clearing the cache because it's still probably useful there removed, err := maintenance_controller.PurgeRemoteMediaBefore(beforeTs, rctx) if err != nil { - rctx.Log.Error("Error purging remote media: " + err.Error()) + rctx.Log.Error("Error purging remote media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Error purging remote media") } @@ -78,7 +78,7 @@ func PurgeIndividualRecord(r *http.Request, rctx rcontext.RequestContext, user _ return _responses.NotFoundError() } if err != nil { - rctx.Log.Error("Error checking ownership of media: " + err.Error()) + rctx.Log.Error("Error checking ownership of media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error checking media ownership") } @@ -93,7 +93,7 @@ func PurgeIndividualRecord(r *http.Request, rctx rcontext.RequestContext, user _ return _responses.NotFoundError() } if err != nil { - rctx.Log.Error("Error purging media: " + err.Error()) + rctx.Log.Error("Error purging media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error purging media") } @@ -117,7 +117,7 @@ func PurgeQuarantined(r *http.Request, rctx rcontext.RequestContext, user _apime } if err != nil { - rctx.Log.Error("Error purging media: " + err.Error()) + rctx.Log.Error("Error purging media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error purging media") } @@ -158,7 +158,7 @@ func PurgeOldMedia(r *http.Request, rctx rcontext.RequestContext, user _apimeta. affected, err := maintenance_controller.PurgeOldMedia(beforeTs, includeLocal, rctx) if err != nil { - rctx.Log.Error("Error purging media: " + err.Error()) + rctx.Log.Error("Error purging media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error purging media") } @@ -196,7 +196,7 @@ func PurgeUserMedia(r *http.Request, rctx rcontext.RequestContext, user _apimeta _, userDomain, err := util.SplitUserId(userId) if err != nil { - rctx.Log.Error("Error parsing user ID (" + userId + "): " + err.Error()) + rctx.Log.Error("Error parsing user ID ("+userId+"): ", err) sentry.CaptureException(err) return _responses.InternalServerError("error parsing user ID") } @@ -208,7 +208,7 @@ func PurgeUserMedia(r *http.Request, rctx rcontext.RequestContext, user _apimeta affected, err := maintenance_controller.PurgeUserMedia(userId, beforeTs, rctx) if err != nil { - rctx.Log.Error("Error purging media: " + err.Error()) + rctx.Log.Error("Error purging media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error purging media") } @@ -246,7 +246,7 @@ func PurgeRoomMedia(r *http.Request, rctx rcontext.RequestContext, user _apimeta allMedia, err := matrix.ListMedia(rctx, r.Host, user.AccessToken, roomId, r.RemoteAddr) if err != nil { - rctx.Log.Error("Error while listing media in the room: " + err.Error()) + rctx.Log.Error("Error while listing media in the room: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error retrieving media in room") } @@ -286,7 +286,7 @@ func PurgeRoomMedia(r *http.Request, rctx rcontext.RequestContext, user _apimeta affected, err := maintenance_controller.PurgeRoomMedia(mxcs, beforeTs, rctx) if err != nil { - rctx.Log.Error("Error purging media: " + err.Error()) + rctx.Log.Error("Error purging media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error purging media") } @@ -333,7 +333,7 @@ func PurgeDomainMedia(r *http.Request, rctx rcontext.RequestContext, user _apime affected, err := maintenance_controller.PurgeDomainMedia(serverName, beforeTs, rctx) if err != nil { - rctx.Log.Error("Error purging media: " + err.Error()) + rctx.Log.Error("Error purging media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error purging media") } diff --git a/api/custom/quarantine.go b/api/custom/quarantine.go index 4716a1d9..a016b0ca 100644 --- a/api/custom/quarantine.go +++ b/api/custom/quarantine.go @@ -40,7 +40,7 @@ func QuarantineRoomMedia(r *http.Request, rctx rcontext.RequestContext, user _ap allMedia, err := matrix.ListMedia(rctx, r.Host, user.AccessToken, roomId, r.RemoteAddr) if err != nil { - rctx.Log.Error("Error while listing media in the room: " + err.Error()) + rctx.Log.Error("Error while listing media in the room: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error retrieving media in room") } @@ -53,7 +53,7 @@ func QuarantineRoomMedia(r *http.Request, rctx rcontext.RequestContext, user _ap for _, mxc := range mxcs { server, mediaId, err := util.SplitMxc(mxc) if err != nil { - rctx.Log.Error("Error parsing MXC URI (" + mxc + "): " + err.Error()) + rctx.Log.Error("Error parsing MXC URI ("+mxc+"): ", err) sentry.CaptureException(err) return _responses.InternalServerError("error parsing mxc uri") } @@ -89,7 +89,7 @@ func QuarantineUserMedia(r *http.Request, rctx rcontext.RequestContext, user _ap _, userDomain, err := util.SplitUserId(userId) if err != nil { - rctx.Log.Error("Error parsing user ID (" + userId + "): " + err.Error()) + rctx.Log.Error("Error parsing user ID ("+userId+"): ", err) sentry.CaptureException(err) return _responses.InternalServerError("error parsing user ID") } @@ -101,7 +101,7 @@ func QuarantineUserMedia(r *http.Request, rctx rcontext.RequestContext, user _ap db := storage.GetDatabase().GetMediaStore(rctx) userMedia, err := db.GetMediaByUser(userId) if err != nil { - rctx.Log.Error("Error while listing media for the user: " + err.Error()) + rctx.Log.Error("Error while listing media for the user: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error retrieving media for user") } @@ -143,7 +143,7 @@ func QuarantineDomainMedia(r *http.Request, rctx rcontext.RequestContext, user _ db := storage.GetDatabase().GetMediaStore(rctx) userMedia, err := db.GetAllMediaForServer(serverName) if err != nil { - rctx.Log.Error("Error while listing media for the server: " + err.Error()) + rctx.Log.Error("Error while listing media for the server: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error retrieving media for server") } @@ -197,7 +197,7 @@ func doQuarantine(ctx rcontext.RequestContext, origin string, mediaId string, al return &MediaQuarantinedResponse{0}, true } - ctx.Log.Error("Error fetching media: " + err.Error()) + ctx.Log.Error("Error fetching media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("error quarantining media"), false } @@ -210,7 +210,7 @@ func doQuarantineOn(media *types.Media, allowOtherHosts bool, ctx rcontext.Reque attrDb := storage.GetDatabase().GetMediaAttributesStore(ctx) attr, err := attrDb.GetAttributesDefaulted(media.Origin, media.MediaId) if err != nil { - ctx.Log.Error("Error while getting attributes for media: " + err.Error()) + ctx.Log.Error("Error while getting attributes for media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Error quarantining media"), false } @@ -225,7 +225,7 @@ func doQuarantineOn(media *types.Media, allowOtherHosts bool, ctx rcontext.Reque num, err := setMediaQuarantined(media, true, allowOtherHosts, ctx) if err != nil { - ctx.Log.Error("Error quarantining media: " + err.Error()) + ctx.Log.Error("Error quarantining media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Error quarantining media"), false } @@ -271,7 +271,7 @@ func getQuarantineRequestInfo(r *http.Request, rctx rcontext.RequestContext, use isLocalAdmin, err = matrix.IsUserAdmin(rctx, r.Host, user.AccessToken, r.RemoteAddr) if err != nil { sentry.CaptureException(err) - rctx.Log.Error("Error verifying local admin: " + err.Error()) + rctx.Log.Error("Error verifying local admin: ", err) canQuarantine = false return canQuarantine, allowOtherHosts, isLocalAdmin } diff --git a/api/r0/download.go b/api/r0/download.go index 5ecf793a..af4a23e1 100644 --- a/api/r0/download.go +++ b/api/r0/download.go @@ -83,7 +83,7 @@ func DownloadMedia(r *http.Request, rctx rcontext.RequestContext, user _apimeta. } else if err == common.ErrMediaNotYetUploaded { return _responses.NotYetUploaded() } - rctx.Log.Error("Unexpected error locating media: " + err.Error()) + rctx.Log.Error("Unexpected error locating media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } diff --git a/api/r0/preview_url.go b/api/r0/preview_url.go index 2f42a291..30b52d93 100644 --- a/api/r0/preview_url.go +++ b/api/r0/preview_url.go @@ -44,7 +44,7 @@ func PreviewUrl(r *http.Request, rctx rcontext.RequestContext, user _apimeta.Use if tsStr != "" { ts, err = strconv.ParseInt(tsStr, 10, 64) if err != nil { - rctx.Log.Error("Error parsing ts: " + err.Error()) + rctx.Log.Error("Error parsing ts: ", err) return _responses.BadRequest(err.Error()) } } diff --git a/api/r0/thumbnail.go b/api/r0/thumbnail.go index a98a292d..eee357cc 100644 --- a/api/r0/thumbnail.go +++ b/api/r0/thumbnail.go @@ -132,7 +132,7 @@ func ThumbnailMedia(r *http.Request, rctx rcontext.RequestContext, user _apimeta } else if err == common.ErrMediaNotYetUploaded { return _responses.NotYetUploaded() } - rctx.Log.Error("Unexpected error locating media: " + err.Error()) + rctx.Log.Error("Unexpected error locating media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } diff --git a/api/r0/upload_async.go b/api/r0/upload_async.go index 05f90584..8d0bd6f3 100644 --- a/api/r0/upload_async.go +++ b/api/r0/upload_async.go @@ -68,14 +68,14 @@ func UploadMediaAsync(r *http.Request, rctx rcontext.RequestContext, user _apime InternalCode: common.ErrCodeNotFound, } } - rctx.Log.Error("Unexpected error uploading media: " + err.Error()) + rctx.Log.Error("Unexpected error uploading media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } blurhash, err := database.GetInstance().Blurhashes.Prepare(rctx).Get(media.Sha256Hash) if err != nil { - rctx.Log.Warn("Unexpected error getting media's blurhash from DB: " + err.Error()) + rctx.Log.Warn("Unexpected error getting media's blurhash from DB: ", err) sentry.CaptureException(err) } diff --git a/api/r0/upload_sync.go b/api/r0/upload_sync.go index 1e1ab871..b8cb7f32 100644 --- a/api/r0/upload_sync.go +++ b/api/r0/upload_sync.go @@ -45,14 +45,14 @@ func UploadMediaSync(r *http.Request, rctx rcontext.RequestContext, user _apimet if err == common.ErrQuotaExceeded { return _responses.QuotaExceeded() } - rctx.Log.Error("Unexpected error uploading media: " + err.Error()) + rctx.Log.Error("Unexpected error uploading media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } blurhash, err := database.GetInstance().Blurhashes.Prepare(rctx).Get(media.Sha256Hash) if err != nil { - rctx.Log.Warn("Unexpected error getting media's blurhash from DB: " + err.Error()) + rctx.Log.Warn("Unexpected error getting media's blurhash from DB: ", err) sentry.CaptureException(err) } diff --git a/api/unstable/info.go b/api/unstable/info.go index 02a816a2..d153cee0 100644 --- a/api/unstable/info.go +++ b/api/unstable/info.go @@ -88,7 +88,7 @@ func MediaInfo(r *http.Request, rctx rcontext.RequestContext, user _apimeta.User } else if err == common.ErrMediaQuarantined { return _responses.NotFoundError() // We lie for security } - rctx.Log.Error("Unexpected error locating media: " + err.Error()) + rctx.Log.Error("Unexpected error locating media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } @@ -96,7 +96,7 @@ func MediaInfo(r *http.Request, rctx rcontext.RequestContext, user _apimeta.User b, err := io.ReadAll(streamedMedia.Stream) if err != nil { - rctx.Log.Error("Unexpected error processing media: " + err.Error()) + rctx.Log.Error("Unexpected error processing media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } @@ -119,7 +119,7 @@ func MediaInfo(r *http.Request, rctx rcontext.RequestContext, user _apimeta.User thumbsDb := storage.GetDatabase().GetThumbnailStore(rctx) thumbs, err := thumbsDb.GetAllForMedia(streamedMedia.KnownMedia.Origin, streamedMedia.KnownMedia.MediaId) if err != nil && err != sql.ErrNoRows { - rctx.Log.Error("Unexpected error locating media: " + err.Error()) + rctx.Log.Error("Unexpected error locating media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } diff --git a/api/unstable/local_copy.go b/api/unstable/local_copy.go index fa5a1f03..3c654c04 100644 --- a/api/unstable/local_copy.go +++ b/api/unstable/local_copy.go @@ -59,7 +59,7 @@ func LocalCopy(r *http.Request, rctx rcontext.RequestContext, user _apimeta.User } else if err == common.ErrMediaQuarantined { return _responses.NotFoundError() // We lie for security } - rctx.Log.Error("Unexpected error locating media: " + err.Error()) + rctx.Log.Error("Unexpected error locating media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } @@ -72,7 +72,7 @@ func LocalCopy(r *http.Request, rctx rcontext.RequestContext, user _apimeta.User newMedia, err := upload_controller.UploadMedia(streamedMedia.Stream, streamedMedia.KnownMedia.SizeBytes, streamedMedia.KnownMedia.ContentType, streamedMedia.KnownMedia.UploadName, user.UserId, r.Host, rctx) if err != nil { - rctx.Log.Error("Unexpected error storing media: " + err.Error()) + rctx.Log.Error("Unexpected error storing media: ", err) sentry.CaptureException(err) return _responses.InternalServerError("Unexpected Error") } diff --git a/controllers/maintenance_controller/maintainance_controller.go b/controllers/maintenance_controller/maintainance_controller.go index 1df60a32..23424f73 100644 --- a/controllers/maintenance_controller/maintainance_controller.go +++ b/controllers/maintenance_controller/maintainance_controller.go @@ -3,9 +3,10 @@ package maintenance_controller import ( "database/sql" "fmt" - "github.com/getsentry/sentry-go" "os" + "github.com/getsentry/sentry-go" + "github.com/sirupsen/logrus" "github.com/turt2live/matrix-media-repo/common/rcontext" "github.com/turt2live/matrix-media-repo/controllers/download_controller" @@ -194,7 +195,7 @@ func PurgeRemoteMediaBefore(beforeTs int64, ctx rcontext.RequestContext) (int, e ds, err := datastore.LocateDatastore(ctx, media.DatastoreId) if err != nil { - ctx.Log.Error("Error finding datastore for media " + media.Origin + "/" + media.MediaId + " because: " + err.Error()) + ctx.Log.Error("Error finding datastore for media "+media.Origin+"/"+media.MediaId+" because: ", err) sentry.CaptureException(err) continue } @@ -202,7 +203,7 @@ func PurgeRemoteMediaBefore(beforeTs int64, ctx rcontext.RequestContext) (int, e // Delete the file first err = ds.DeleteObject(media.Location) if err != nil { - ctx.Log.Warn("Cannot remove media " + media.Origin + "/" + media.MediaId + " because: " + err.Error()) + ctx.Log.Warn("Cannot remove media "+media.Origin+"/"+media.MediaId+" because: ", err) sentry.CaptureException(err) } else { removed++ @@ -212,14 +213,14 @@ func PurgeRemoteMediaBefore(beforeTs int64, ctx rcontext.RequestContext) (int, e // Try to remove the record from the database now err = db.Delete(media.Origin, media.MediaId) if err != nil { - ctx.Log.Warn("Error removing media " + media.Origin + "/" + media.MediaId + " from database: " + err.Error()) + ctx.Log.Warn("Error removing media "+media.Origin+"/"+media.MediaId+" from database: ", err) sentry.CaptureException(err) } // Delete the thumbnails too thumbs, err := thumbsDb.GetAllForMedia(media.Origin, media.MediaId) if err != nil { - ctx.Log.Warn("Error getting thumbnails for media " + media.Origin + "/" + media.MediaId + " from database: " + err.Error()) + ctx.Log.Warn("Error getting thumbnails for media "+media.Origin+"/"+media.MediaId+" from database: ", err) sentry.CaptureException(err) continue } @@ -227,21 +228,21 @@ func PurgeRemoteMediaBefore(beforeTs int64, ctx rcontext.RequestContext) (int, e ctx.Log.Info("Deleting thumbnail with hash: ", thumb.Sha256Hash) ds, err := datastore.LocateDatastore(ctx, thumb.DatastoreId) if err != nil { - ctx.Log.Warn("Error removing thumbnail for media " + media.Origin + "/" + media.MediaId + " from database: " + err.Error()) + ctx.Log.Warn("Error removing thumbnail for media "+media.Origin+"/"+media.MediaId+" from database: ", err) sentry.CaptureException(err) continue } err = ds.DeleteObject(thumb.Location) if err != nil { - ctx.Log.Warn("Error removing thumbnail for media " + media.Origin + "/" + media.MediaId + " from database: " + err.Error()) + ctx.Log.Warn("Error removing thumbnail for media "+media.Origin+"/"+media.MediaId+" from database: ", err) sentry.CaptureException(err) continue } } err = thumbsDb.DeleteAllForMedia(media.Origin, media.MediaId) if err != nil { - ctx.Log.Warn("Error removing thumbnails for media " + media.Origin + "/" + media.MediaId + " from database: " + err.Error()) + ctx.Log.Warn("Error removing thumbnails for media "+media.Origin+"/"+media.MediaId+" from database: ", err) sentry.CaptureException(err) } } diff --git a/controllers/preview_controller/preview_resource_handler.go b/controllers/preview_controller/preview_resource_handler.go index 119df0d8..b45dfd03 100644 --- a/controllers/preview_controller/preview_resource_handler.go +++ b/controllers/preview_controller/preview_resource_handler.go @@ -135,18 +135,18 @@ func urlPreviewWorkFn(request *resource_handler.WorkRequest) (resp *urlPreviewRe // UploadMedia will close the read stream for the thumbnail and dedupe the image media, err := upload_controller.UploadMedia(preview.Image.Data, contentLength, preview.Image.ContentType, preview.Image.Filename, info.forUserId, info.onHost, ctx) if err != nil { - ctx.Log.Warn("Non-fatal error storing preview thumbnail: " + err.Error()) + ctx.Log.Warn("Non-fatal error storing preview thumbnail: ", err) sentry.CaptureException(err) } else { mediaStream, err := datastore.DownloadStream(ctx, media.DatastoreId, media.Location) if err != nil { - ctx.Log.Warn("Non-fatal error streaming datastore file: " + err.Error()) + ctx.Log.Warn("Non-fatal error streaming datastore file: ", err) sentry.CaptureException(err) } else { defer stream_util.DumpAndCloseStream(mediaStream) img, err := imaging.Decode(mediaStream) if err != nil { - ctx.Log.Warn("Non-fatal error getting thumbnail dimensions: " + err.Error()) + ctx.Log.Warn("Non-fatal error getting thumbnail dimensions: ", err) sentry.CaptureException(err) } else { result.ImageMxc = media.MxcUri() @@ -167,7 +167,7 @@ func urlPreviewWorkFn(request *resource_handler.WorkRequest) (resp *urlPreviewRe } err = db.InsertPreview(dbRecord) if err != nil { - ctx.Log.Warn("Error caching URL preview: " + err.Error()) + ctx.Log.Warn("Error caching URL preview: ", err) sentry.CaptureException(err) // Non-fatal: Just report it and move on. The worst that happens is we re-cache it. } diff --git a/controllers/upload_controller/upload_controller.go b/controllers/upload_controller/upload_controller.go index 69eec8ff..15e912b7 100644 --- a/controllers/upload_controller/upload_controller.go +++ b/controllers/upload_controller/upload_controller.go @@ -145,7 +145,7 @@ func UploadMedia(contents io.ReadCloser, contentLength int64, contentType string if m != nil { err = internal_cache.Get().UploadMedia(m.Sha256Hash, util_byte_seeker.NewByteSeeker(dataBytes), ctx) if err != nil { - ctx.Log.Warn("Unexpected error trying to cache media: " + err.Error()) + ctx.Log.Warn("Unexpected error trying to cache media: ", err) } } return m, err diff --git a/pipelines/_steps/upload/lock.go b/pipelines/_steps/upload/lock.go index 83fdaf24..b6f87c03 100644 --- a/pipelines/_steps/upload/lock.go +++ b/pipelines/_steps/upload/lock.go @@ -24,7 +24,7 @@ func LockForUpload(ctx rcontext.RequestContext, hash string) (func() error, erro if time.Now().After(attemptDoneAt) { return nil, errors.New("failed to acquire upload lock: " + err.Error()) } else { - ctx.Log.Warn("failed to acquire upload lock: " + err.Error()) + ctx.Log.Warn("failed to acquire upload lock: ", err) } } else { acquired = true diff --git a/storage/datastore/ds_file/file_store.go b/storage/datastore/ds_file/file_store.go index fa587010..182d2349 100644 --- a/storage/datastore/ds_file/file_store.go +++ b/storage/datastore/ds_file/file_store.go @@ -42,7 +42,7 @@ func PersistFile(basePath string, file io.ReadCloser, ctx rcontext.RequestContex attempts++ if err != nil { - ctx.Log.Error("Error checking if the file exists: " + err.Error()) + ctx.Log.Error("Error checking if the file exists: ", err) } // Infinite loop protection diff --git a/url_previewers/calculated_previewer.go b/url_previewers/calculated_previewer.go index 9df34458..753ca943 100644 --- a/url_previewers/calculated_previewer.go +++ b/url_previewers/calculated_previewer.go @@ -14,7 +14,7 @@ import ( func GenerateCalculatedPreview(urlPayload *UrlPayload, languageHeader string, ctx rcontext.RequestContext) (PreviewResult, error) { bytes, filename, contentType, contentLength, err := downloadRawContent(urlPayload, ctx.Config.UrlPreviews.FilePreviewTypes, languageHeader, ctx) if err != nil { - ctx.Log.Error("Error downloading content: " + err.Error()) + ctx.Log.Error("Error downloading content: ", err) // Make sure the unsupported error gets passed through if err == ErrPreviewUnsupported { diff --git a/url_previewers/oembed_previewer.go b/url_previewers/oembed_previewer.go index 1658ed4d..8a86c2e2 100644 --- a/url_previewers/oembed_previewer.go +++ b/url_previewers/oembed_previewer.go @@ -52,7 +52,7 @@ func GenerateOEmbedPreview(urlPayload *UrlPayload, languageHeader string, ctx rc AcceptLanguage: languageHeader, }) if err != nil { - ctx.Log.Error("Error getting oEmbed: " + err.Error()) + ctx.Log.Error("Error getting oEmbed: ", err) return PreviewResult{}, err } @@ -73,7 +73,7 @@ func GenerateOEmbedPreview(urlPayload *UrlPayload, languageHeader string, ctx rc if info.ThumbnailURL != "" { imgUrl, err := url.Parse(info.ThumbnailURL) if err != nil { - ctx.Log.Error("Non-fatal error getting thumbnail (parsing image url): " + err.Error()) + ctx.Log.Error("Non-fatal error getting thumbnail (parsing image url): ", err) sentry.CaptureException(err) return *graph, nil } @@ -86,7 +86,7 @@ func GenerateOEmbedPreview(urlPayload *UrlPayload, languageHeader string, ctx rc img, err := downloadImage(imgUrlPayload, languageHeader, ctx) if err != nil { - ctx.Log.Error("Non-fatal error getting thumbnail (downloading image): " + err.Error()) + ctx.Log.Error("Non-fatal error getting thumbnail (downloading image): ", err) sentry.CaptureException(err) return *graph, nil } diff --git a/url_previewers/opengraph_previewer.go b/url_previewers/opengraph_previewer.go index 878a7039..e4e62e60 100644 --- a/url_previewers/opengraph_previewer.go +++ b/url_previewers/opengraph_previewer.go @@ -21,7 +21,7 @@ var ogSupportedTypes = []string{"text/*"} func GenerateOpenGraphPreview(urlPayload *UrlPayload, languageHeader string, ctx rcontext.RequestContext) (PreviewResult, error) { html, err := downloadHtmlContent(urlPayload, ogSupportedTypes, languageHeader, ctx) if err != nil { - ctx.Log.Error("Error downloading content: " + err.Error()) + ctx.Log.Error("Error downloading content: ", err) // Make sure the unsupported error gets passed through if err == ErrPreviewUnsupported { @@ -35,7 +35,7 @@ func GenerateOpenGraphPreview(urlPayload *UrlPayload, languageHeader string, ctx og := opengraph.NewOpenGraph() err = og.ProcessHTML(strings.NewReader(html)) if err != nil { - ctx.Log.Error("Error getting OpenGraph: " + err.Error()) + ctx.Log.Error("Error getting OpenGraph: ", err) return PreviewResult{}, err } @@ -64,7 +64,7 @@ func GenerateOpenGraphPreview(urlPayload *UrlPayload, languageHeader string, ctx if og.Images != nil && len(og.Images) > 0 { imgUrl, err := url.Parse(og.Images[0].URL) if err != nil { - ctx.Log.Error("Non-fatal error getting thumbnail (parsing image url): " + err.Error()) + ctx.Log.Error("Non-fatal error getting thumbnail (parsing image url): ", err) sentry.CaptureException(err) return *graph, nil } @@ -77,7 +77,7 @@ func GenerateOpenGraphPreview(urlPayload *UrlPayload, languageHeader string, ctx img, err := downloadImage(imgUrlPayload, languageHeader, ctx) if err != nil { - ctx.Log.Error("Non-fatal error getting thumbnail (downloading image): " + err.Error()) + ctx.Log.Error("Non-fatal error getting thumbnail (downloading image): ", err) sentry.CaptureException(err) return *graph, nil }