refactor: framework modules log through diary components
- Each module logs through diary.For(<package>): cabana, lagoon, attach, cooler, postcard, beachcomber, lighthouse, centrifugo, flare, phrasebook, wristband, bouncer - App-published *slog.Logger overrides stay first; messages and attributes unchanged - sunscreen: InstallDefault documented as the compatibility entry point; diary wraps every channel - READMEs list diary as a dependency; logging docs: plugins use diary.For
This commit is contained in:
@@ -10,11 +10,16 @@ import (
|
||||
|
||||
"git.golem15.com/golem15/summercms/modules/backpack"
|
||||
"git.golem15.com/golem15/summercms/modules/compass"
|
||||
"git.golem15.com/golem15/summercms/modules/diary"
|
||||
"gocloud.dev/blob"
|
||||
_ "gocloud.dev/blob/fileblob"
|
||||
_ "gocloud.dev/blob/memblob"
|
||||
)
|
||||
|
||||
// moduleLog is attach's logger: records carry component=attach and follow
|
||||
// log.components.attach (diary).
|
||||
var moduleLog = diary.For("attach")
|
||||
|
||||
const defaultPublicPathPrefix = "/storage/uploads"
|
||||
|
||||
// S3BuildTag is the Go build tag that links the gocloud S3 driver
|
||||
@@ -150,7 +155,7 @@ func OpenBucket(ctx context.Context, cfg *compass.Config) (*blob.Bucket, error)
|
||||
return bucket, nil
|
||||
}
|
||||
setPublicURLBase(publicURL.String())
|
||||
slog.Default().WarnContext(ctx, "attach: storage.uploads.public_url is set; every file and thumbnail URL points at this host, "+
|
||||
moduleLog.WarnContext(ctx, "attach: storage.uploads.public_url is set; every file and thumbnail URL points at this host, "+
|
||||
"which serves any key without the is_public check, so the bucket behind it must hold only public files: "+
|
||||
"protected (is_public false) uploads are refused",
|
||||
slog.String("host", publicURL.Host))
|
||||
|
||||
@@ -259,7 +259,7 @@ var BrokenImagePNG = func() []byte {
|
||||
// brokenThumb is the catch branch of WinterCMS's File::makeThumb: log the
|
||||
// reason, store BrokenImagePNG under the thumbnail key and return that key.
|
||||
func brokenThumb(ctx context.Context, bucket *blob.Bucket, f *File, thumbKey string, reason error) (string, error) {
|
||||
slog.Default().WarnContext(ctx, "attach: thumbnail original is unusable, storing the broken-image picture",
|
||||
moduleLog.WarnContext(ctx, "attach: thumbnail original is unusable, storing the broken-image picture",
|
||||
slog.Uint64("file_id", uint64(f.ID)), slog.String("error", reason.Error()))
|
||||
if err := bucket.WriteAll(ctx, thumbKey, BrokenImagePNG, &blob.WriterOptions{ContentType: "image/png"}); err != nil {
|
||||
return "", fmt.Errorf("attach: broken-image thumb: %w", err)
|
||||
|
||||
Reference in New Issue
Block a user