| // Copyright (c) 2017 Uber Technologies, Inc. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package jaeger |
| |
| import "log" |
| |
| // NB This will be deprecated in 3.0.0, please use jaeger-client-go/log/logger instead. |
| |
| // Logger provides an abstract interface for logging from Reporters. |
| // Applications can provide their own implementation of this interface to adapt |
| // reporters logging to whatever logging library they prefer (stdlib log, |
| // logrus, go-logging, etc). |
| type Logger interface { |
| // Error logs a message at error priority |
| Error(msg string) |
| |
| // Infof logs a message at info priority |
| Infof(msg string, args ...interface{}) |
| } |
| |
| // StdLogger is implementation of the Logger interface that delegates to default `log` package |
| var StdLogger = &stdLogger{} |
| |
| type stdLogger struct{} |
| |
| func (l *stdLogger) Error(msg string) { |
| log.Printf("ERROR: %s", msg) |
| } |
| |
| // Infof logs a message at info priority |
| func (l *stdLogger) Infof(msg string, args ...interface{}) { |
| log.Printf(msg, args...) |
| } |
| |
| // NullLogger is implementation of the Logger interface that delegates to default `log` package |
| var NullLogger = &nullLogger{} |
| |
| type nullLogger struct{} |
| |
| func (l *nullLogger) Error(msg string) {} |
| func (l *nullLogger) Infof(msg string, args ...interface{}) {} |