GoPLS Viewer

Home|gopls/internal/event/export/log_test.go
1// Copyright 2020 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package export_test
6
7import (
8    "context"
9    "errors"
10    "os"
11    "time"
12
13    "golang.org/x/tools/internal/event"
14    "golang.org/x/tools/internal/event/core"
15    "golang.org/x/tools/internal/event/export"
16    "golang.org/x/tools/internal/event/keys"
17    "golang.org/x/tools/internal/event/label"
18)
19
20func ExampleLog() {
21    ctx := context.Background()
22    event.SetExporter(timeFixer(export.LogWriter(os.Stdoutfalse)))
23    anInt := keys.NewInt("myInt""an integer")
24    aString := keys.NewString("myString""a string")
25    event.Log(ctx"my event"anInt.Of(6))
26    event.Error(ctx"error event"errors.New("an error"), aString.Of("some string value"))
27    // Output:
28    // 2020/03/05 14:27:48 my event
29    //     myInt=6
30    // 2020/03/05 14:27:48 error event: an error
31    //     myString="some string value"
32}
33
34func timeFixer(output event.Exporterevent.Exporter {
35    at_ := time.Parse(time.RFC3339Nano"2020-03-05T14:27:48Z")
36    return func(ctx context.Contextev core.Eventlm label.Mapcontext.Context {
37        copy := core.CloneEvent(evat)
38        return output(ctxcopylm)
39    }
40}
41
MembersX
time
ExampleLog.aString
ExampleLog.anInt
errors
os
keys
ExampleLog
timeFixer.output
timeFixer._
export
ExampleLog.ctx
timeFixer
timeFixer.at
timeFixer.BlockStmt.copy
Members
X