func manualHandler(w http.ResponseWriter, r *http.Request) {
	lg, err := gaelog.New(r)
	if err != nil {
		lg.Errorf("Failed to make logger: %v", err)
	}
	defer lg.Close()
	lg.Warningf("Some important info right here, that's for sure")
	fmt.Fprintf(w, "Hello!")
}
manualHandler creates and closes a logger manually. This usage does not require
gaelog.Wrap or gaelog.WrapWithID.
package main
import (
	"fmt"
	"log"
	"net/http"
	"os"
	"github.com/mtraver/gaelog"
)
type wrappedHandler struct{}
func (h wrappedHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	if r.URL.Path != "/" {
		http.NotFound(w, r)
		return
	}
	ctx := r.Context()
	gaelog.Debugf(ctx, "Debug")
	gaelog.Infof(ctx, "Info")
	gaelog.Noticef(ctx, "Notice")
	gaelog.Warningf(ctx, "Warning")
	gaelog.Errorf(ctx, "Error")
	gaelog.Criticalf(ctx, "Critical")
	gaelog.Alertf(ctx, "Alert")
	gaelog.Emergencyf(ctx, "Emergency")
	message := struct {
		Places []string
	}{
		[]string{"Kings Canyon", "Sequoia", "Yosemite", "Death Valley"},
	}
	gaelog.Info(ctx, message)
	fmt.Fprintf(w, "Hello!")
}