diff --git a/htrace-htraced/go/src/org/apache/htrace/common/log.go b/htrace-htraced/go/src/org/apache/htrace/common/log.go
index c29195e..2e3e267 100644
--- a/htrace-htraced/go/src/org/apache/htrace/common/log.go
+++ b/htrace-htraced/go/src/org/apache/htrace/common/log.go
@@ -194,7 +194,7 @@
 	} else {
 		facultyLogPath = cnf.Get(conf.HTRACE_LOG_PATH)
 	}
-	facultyLogLevelKey := faculty + conf.HTRACE_LOG_LEVEL
+	facultyLogLevelKey := faculty + "." + conf.HTRACE_LOG_LEVEL
 	var facultyLogLevelStr string
 	if cnf.Contains(facultyLogLevelKey) {
 		facultyLogLevelStr = cnf.Get(facultyLogLevelKey)
diff --git a/htrace-htraced/go/src/org/apache/htrace/common/log_test.go b/htrace-htraced/go/src/org/apache/htrace/common/log_test.go
index b415ce2..f0b1cde 100644
--- a/htrace-htraced/go/src/org/apache/htrace/common/log_test.go
+++ b/htrace-htraced/go/src/org/apache/htrace/common/log_test.go
@@ -120,3 +120,51 @@
 	fooLg.Close()
 	barLg.Close()
 }
+
+func TestLogLevelEnabled(t *testing.T) {
+	tempDir, err := ioutil.TempDir(os.TempDir(), "TestLogLevelEnabled")
+	if err != nil {
+		panic(fmt.Sprintf("error creating tempdir: %s\n", err.Error()))
+	}
+	defer os.RemoveAll(tempDir)
+	// set log level to DEBUG for facility "foo"
+	logPath := tempDir + conf.PATH_SEP + "log"
+	lg := newLogger("foo", "log.level", "DEBUG",
+		"foo.log.level", "INFO",
+		"log.path", logPath)
+	if lg.TraceEnabled() {
+		t.Fatalf("foo logger has TraceEnabled")
+	}
+	if lg.DebugEnabled() {
+		t.Fatalf("foo logger have DebugEnabled")
+	}
+	if !lg.InfoEnabled() {
+		t.Fatalf("foo logger does not have InfoEnabled")
+	}
+	if !lg.WarnEnabled() {
+		t.Fatalf("foo logger does not have WarnEnabled")
+	}
+	if !lg.ErrorEnabled() {
+		t.Fatalf("foo logger does not have ErrorEnabled")
+	}
+	lg.Close()
+	lg = newLogger("foo", "log.level", "WARN",
+		"foo.log.level", "INFO",
+		"log.path", logPath)
+	if lg.TraceEnabled() {
+		t.Fatalf("foo logger has TraceEnabled")
+	}
+	if lg.DebugEnabled() {
+		t.Fatalf("foo logger has DebugEnabled")
+	}
+	if !lg.InfoEnabled() {
+		t.Fatalf("foo logger does not have InfoEnabled")
+	}
+	if !lg.WarnEnabled() {
+		t.Fatalf("foo logger does not have WarnEnabled")
+	}
+	if !lg.ErrorEnabled() {
+		t.Fatalf("foo logger does not have ErrorEnabled")
+	}
+	lg.Close()
+}
