[VOL-2471] Update library to use package logger
This commit consists of the following:
1) Add a GetLogLevel() API to make it easier to use specific
logger. There is also the V() API that kind of do something
similar.
2) Add a common.go file to some heavily used packages in order
to dynamically set their log level and also to a set a specific
logger per package.
3) Use a per package logger for some of the heavily used packages
for improved performance.
Change-Id: If22a2c82d87d808f305677a2e793f8064f33291e
diff --git a/pkg/log/log_test.go b/pkg/log/log_test.go
index 5ca0955..f32c55e 100644
--- a/pkg/log/log_test.go
+++ b/pkg/log/log_test.go
@@ -91,6 +91,19 @@
l, err := GetPackageLogLevel(name)
assert.Nil(t, err)
assert.Equal(t, l, expectedLevel)
+ // Get the package log level by invoking the specific logger created for this package
+ // This is a less expensive operation that the GetPackageLogLevel() request
+ level := myLoggers[name].GetLogLevel()
+ assert.Equal(t, level, expectedLevel)
+ // Check the verbosity level
+ for _, level := range levels {
+ toDisplay := myLoggers[name].V(level)
+ if level < expectedLevel {
+ assert.False(t, toDisplay)
+ } else {
+ assert.True(t, toDisplay)
+ }
+ }
}
}
//Test set all package level
@@ -100,6 +113,17 @@
l, err := GetPackageLogLevel(name)
assert.Nil(t, err)
assert.Equal(t, l, expectedLevel)
+ level := myLoggers[name].GetLogLevel()
+ assert.Equal(t, level, expectedLevel)
+ // Check the verbosity level
+ for _, level := range levels {
+ toDisplay := myLoggers[name].V(level)
+ if level < expectedLevel {
+ assert.False(t, toDisplay)
+ } else {
+ assert.True(t, toDisplay)
+ }
+ }
}
}
}