diff --git a/render_image.go b/render_image.go index a311b39..cff69a6 100644 --- a/render_image.go +++ b/render_image.go @@ -72,7 +72,7 @@ func renderImage(w http.ResponseWriter, r *http.Request) { img, err := drawImage(paragraphs, getPreviewStyle(r), data.metadata, data.createdAt) if err != nil { - log.Printf("error writing image: %s", err) + log.Warn().Err(err).Msg("failed to draw paragraphs as image") http.Error(w, "error writing image!", 500) return } @@ -86,7 +86,14 @@ func renderImage(w http.ResponseWriter, r *http.Request) { } } -func drawImage(paragraphs []string, style Style, metadata Metadata, date string) (image.Image, error) { +func drawImage(paragraphs []string, style Style, metadata Metadata, date string) (image image.Image, err error) { + defer func() { + if r := recover(); r != nil { + err = fmt.Errorf("panic while drawing image") + log.Warn().Interface("r", r).Msg("panic while drawing image") + } + }() + fontSize := 25 width := 700 height := 525