Skip to content

Commit

Permalink
[FAB-9975] logging: Docs and Examples
Browse files Browse the repository at this point in the history
Change-Id: I22e58542d88cabf1b9b1111268155944eb882ce2
Signed-off-by: Firas Qutishat <firas.qutishat@securekey.com>
  • Loading branch information
fqutishat committed May 9, 2018
1 parent eadf668 commit 156c189
Show file tree
Hide file tree
Showing 2 changed files with 142 additions and 11 deletions.
117 changes: 117 additions & 0 deletions pkg/common/logging/example_test.go
@@ -0,0 +1,117 @@
/*
Copyright SecureKey Technologies Inc. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package logging

import (
"fmt"

"github.com/hyperledger/fabric-sdk-go/pkg/core/logging/testdata"
)

var modName = "module-xyz"

func Example() {

Initialize(testdata.GetSampleLoggingProvider(&buf))
//Create new logger
logger := NewLogger(modName)

logger.Info("log test data")

fmt.Println("log info is completed")

// Output: log info is completed

}

func ExampleNewLogger() {

Initialize(testdata.GetSampleLoggingProvider(&buf))
//Create new logger
NewLogger(modName)

fmt.Println("log is completed")

// Output: log is completed

}

func ExampleInitialize() {

Initialize(testdata.GetSampleLoggingProvider(&buf))

fmt.Println("log is completed")

// Output: log is completed

}

func ExampleSetLevel() {

Initialize(testdata.GetSampleLoggingProvider(&buf))

SetLevel(modName, INFO)

fmt.Println("log is completed")

// Output: log is completed

}

func ExampleGetLevel() {

Initialize(testdata.GetSampleLoggingProvider(&buf))

SetLevel(modName, DEBUG)

l := GetLevel(modName)
if l != DEBUG {
fmt.Println("log level is not debug")
return
}

fmt.Println("log is completed")

// Output: log is completed

}

func ExampleIsEnabledFor() {

Initialize(testdata.GetSampleLoggingProvider(&buf))

isEnabled := IsEnabledFor(modName, DEBUG)

if !isEnabled {
fmt.Println("log level debug is enabled")
return
}

fmt.Println("log is completed")

// Output: log is completed

}

func ExampleLogLevel() {

Initialize(testdata.GetSampleLoggingProvider(&buf))

level, err := LogLevel("debug")
if err != nil {
fmt.Printf("failed LogLevel: %v", err)
return
}

if level != DEBUG {
fmt.Println("log level is not debug")
return
}
fmt.Println("log is completed")

// Output: log is completed

}
36 changes: 25 additions & 11 deletions pkg/common/logging/logger.go
Expand Up @@ -4,6 +4,12 @@ Copyright SecureKey Technologies Inc. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/

// Package logging enables setting custom logger implementation.
//
// Basic Flow:
// 1) Initialize logger
// 2) Create new logger for specific module
// 3) Call log info
package logging

import (
Expand Down Expand Up @@ -80,21 +86,40 @@ func Initialize(l api.LoggerProvider) {
}

//SetLevel - setting log level for given module
// Parameters:
// module is module name
// level is logging level
func SetLevel(module string, level Level) {
modlog.SetLevel(module, api.Level(level))
}

//GetLevel - getting log level for given module
// Parameters:
// module is module name
//
// Returns:
// logging level
func GetLevel(module string) Level {
return Level(modlog.GetLevel(module))
}

//IsEnabledFor - Check if given log level is enabled for given module
// Parameters:
// module is module name
// level is logging level
//
// Returns:
// is logging enabled for this module and level
func IsEnabledFor(module string, level Level) bool {
return modlog.IsEnabledFor(module, api.Level(level))
}

// LogLevel returns the log level from a string representation.
// Parameters:
// level is logging level in string representation
//
// Returns:
// logging level
func LogLevel(level string) (Level, error) {
l, err := metadata.ParseLevel(level)
return Level(l), err
Expand Down Expand Up @@ -211,14 +236,3 @@ func (l *Logger) logger() api.Logger {
})
return l.instance
}

// ParseLevel returns the log level from a string representation.
func ParseLevel(level string) (Level, error) {
l, err := metadata.ParseLevel(level)
return Level(l), err
}

//ParseString returns String repressentation of given log level
func ParseString(level Level) string {
return metadata.ParseString(api.Level(level))
}

0 comments on commit 156c189

Please sign in to comment.