diff options
Diffstat (limited to 'teleirc/matterbridge/vendor/github.com/graph-gophers/graphql-go/log')
| -rw-r--r-- | teleirc/matterbridge/vendor/github.com/graph-gophers/graphql-go/log/log.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/teleirc/matterbridge/vendor/github.com/graph-gophers/graphql-go/log/log.go b/teleirc/matterbridge/vendor/github.com/graph-gophers/graphql-go/log/log.go new file mode 100644 index 0000000..bdada87 --- /dev/null +++ b/teleirc/matterbridge/vendor/github.com/graph-gophers/graphql-go/log/log.go @@ -0,0 +1,23 @@ +package log + +import ( + "context" + "log" + "runtime" +) + +// Logger is the interface used to log panics that occur during query execution. It is settable via graphql.ParseSchema +type Logger interface { + LogPanic(ctx context.Context, value interface{}) +} + +// DefaultLogger is the default logger used to log panics that occur during query execution +type DefaultLogger struct{} + +// LogPanic is used to log recovered panic values that occur during query execution +func (l *DefaultLogger) LogPanic(ctx context.Context, value interface{}) { + const size = 64 << 10 + buf := make([]byte, size) + buf = buf[:runtime.Stack(buf, false)] + log.Printf("graphql: panic occurred: %v\n%s\ncontext: %v", value, buf, ctx) +} |
