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{ return &Client{
Factory: cmdutil.NewFactory(config), Factory: cmdutil.NewFactory(config),
SchemaCacheDir: clientcmd.RecommendedSchemaFile, 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. limitations under the License.
*/ */
package logger package logger // import "k8s.io/helm/pkg/logger"
// Logger provides a generic way of handling logging. // Logger provides a generic way of handling logging.
type Logger interface { type Logger interface {
Printf(format string, args ...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{}) type Func func(string, ...interface{})
// Printf implements Logger. // Printf implements Logger.
@ -29,10 +29,8 @@ func (l Func) Printf(format string, args ...interface{}) {
l(format, args...) l(format, args...)
} }
type nopLogger struct{} // DefaultLogger is a globally set Logger used when initializing clients.
var DefaultLogger Logger = NewNopLogger()
// NewNopLogger creates a nopLogger. // NewNopLogger returns a Logger that does nothing.
func NewNopLogger() Logger { return nopLogger{} } func NewNopLogger() Func { return func(_ string, _ ...interface{}) {} }
// Printf implements Logger.
func (nopLogger) Printf(format string, args ...interface{}) {}

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

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

Loading…
Cancel
Save