feat(logger): add a global default Logger.

pull/2394/head
Adam Reese 8 years ago
parent 084e76204d
commit e268d18b7a
No known key found for this signature in database
GPG Key ID: 06F35E60A7A18DD6

@ -70,7 +70,7 @@ func New(config clientcmd.ClientConfig) *Client {
return &Client{
Factory: cmdutil.NewFactory(config),
SchemaCacheDir: clientcmd.RecommendedSchemaFile,
Logger: logger.NewNopLogger(),
Logger: logger.DefaultLogger,
}
}

@ -0,0 +1,18 @@
/*
Copyright 2016 The Kubernetes Authors All rights reserved.
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 logger provides an abstract interface for logging.
package logger // import "k8s.io/helm/pkg/logger"

@ -14,14 +14,14 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package logger
package logger // import "k8s.io/helm/pkg/logger"
// Logger provides a generic way of handling logging.
type Logger interface {
Printf(format string, args ...interface{})
}
// Func is an adaptor to allow the use of ordinary functions as logggers.
// Func is an adaptor to allow the use of ordinary functions as loggers.
type Func func(string, ...interface{})
// Printf implements Logger.
@ -29,10 +29,8 @@ func (l Func) Printf(format string, args ...interface{}) {
l(format, args...)
}
type nopLogger struct{}
// DefaultLogger is a globally set Logger used when initializing clients.
var DefaultLogger Logger = NewNopLogger()
// NewNopLogger creates a nopLogger.
func NewNopLogger() Logger { return nopLogger{} }
// Printf implements Logger.
func (nopLogger) Printf(format string, args ...interface{}) {}
// NewNopLogger returns a Logger that does nothing.
func NewNopLogger() Func { return func(_ string, _ ...interface{}) {} }

@ -221,6 +221,6 @@ func Init(d driver.Driver) *Storage {
Driver: d,
releaseLocks: make(map[string]*sync.Mutex),
releaseLocksLock: &sync.Mutex{},
Logger: logger.NewNopLogger(),
Logger: logger.DefaultLogger,
}
}

@ -102,7 +102,7 @@ func NewReleaseServer(env *environment.Environment, clientset internalclientset.
env: env,
clientset: clientset,
ReleaseModule: releaseModule,
Logger: logger.NewNopLogger(),
Logger: logger.DefaultLogger,
}
}

Loading…
Cancel
Save