diff --git a/glide.yaml b/glide.yaml
index b5294fd..bdc457c 100644
--- a/glide.yaml
+++ b/glide.yaml
@@ -13,3 +13,4 @@
 testImport:
 - package: github.com/onsi/ginkgo/ginkgo
 - package: github.com/onsi/gomega
+  version: master
diff --git a/logger/logger.go b/logger/logger.go
index cb52b93..874fea4 100644
--- a/logger/logger.go
+++ b/logger/logger.go
@@ -24,7 +24,7 @@
 	if std == nil {
 		config = apid.Config()
 		config.SetDefault(configLevel, defaultLevel.String())
-		std = newLogger(configLevel)
+		std = NewLogger(configLevel, defaultLevel.String())
 	}
 	return std
 }
@@ -42,7 +42,7 @@
 func (l *logger) ForModule(name string) apid.LogService {
 
 	configKey := fmt.Sprintf("%s_%s", name, configLevel)
-	log := newLogger(configKey).WithField(moduleField, name)
+	log := NewLogger(configKey,config.GetString(configKey)).WithField(moduleField, name)
 	std.Debugf("created logger '%s' at level %s", name, log.(loggerPlus).Level())
 	return log
 }
@@ -59,7 +59,7 @@
 	return l.Entry.Logger.Level
 }
 
-func newLogger(configKey string) apid.LogService {
+func NewLogger(configKey string, lvlString string) apid.LogService {
 
 	var logLevel logrus.Level
 	if std != nil {
@@ -67,7 +67,7 @@
 	} else {
 		logLevel = defaultLevel
 	}
-	lvlString := config.GetString(configKey)
+
 	if lvlString != "" {
 		lvl, err := logrus.ParseLevel(lvlString)
 		if err == nil {
