Skip to content

Commit

Permalink
Addded logger for structured logging.
Browse files Browse the repository at this point in the history
  • Loading branch information
BugDiver authored and nehashri committed May 27, 2019
1 parent 5aff371 commit 73e0b7c
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 13 deletions.
55 changes: 55 additions & 0 deletions logger/log.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package logger

import (
"encoding/json"
"fmt"
"os"
)

// LogInfo represents the type for structured loggin
type LogInfo struct {
LogLevel string `json:"logLevel"`
Message string `json:"message"`
}

func write(info *LogInfo) {
b, _ := json.Marshal(info)
fmt.Printf(string(b))
}

// Debug log the message with debug log level
func Debug(message string, args ...interface{}) {
info := &LogInfo{
LogLevel: "debug",
Message: fmt.Sprintf(message, args...),
}
write(info)
}

// Info log the message with info log level
func Info(message string, args ...interface{}) {
info := &LogInfo{
LogLevel: "info",
Message: fmt.Sprintf(message, args...),
}
write(info)
}

// Error log the message with error log level
func Error(message string, args ...interface{}) {
info := &LogInfo{
LogLevel: "error",
Message: fmt.Sprintf(message, args...),
}
write(info)
}

// Fatal log the message as critical error and exits
func Fatal(message string, args ...interface{}) {
info := &LogInfo{
LogLevel: "fatal",
Message: fmt.Sprintf(message, args...),
}
write(info)
os.Exit(1)
}
22 changes: 9 additions & 13 deletions xmlReport.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ import (
"strings"
"time"

"github.com/getgauge/xml-report/logger"

"github.com/getgauge/common"
"github.com/getgauge/xml-report/builder"
"github.com/getgauge/xml-report/gauge_messages"
Expand All @@ -52,15 +54,13 @@ func createReport(suiteResult *gauge_messages.SuiteExecutionResult) {
dir := createReportsDirectory()
bytes, err := builder.NewXmlBuilder(0).GetXmlContent(suiteResult)
if err != nil {
fmt.Printf("Report generation failed: %s \n", err)
os.Exit(1)
logger.Fatal("Report generation failed: %s \n", err)
}
err = writeResultFile(dir, bytes)
if err != nil {
fmt.Printf("Report generation failed: %s \n", err)
os.Exit(1)
logger.Fatal("Report generation failed: %s \n", err)
}
fmt.Printf("Successfully generated xml-report to => %s\n", dir)
logger.Info("Successfully generated xml-report to => %s\n", dir)
}

func writeResultFile(reportDir string, bytes []byte) error {
Expand All @@ -76,8 +76,7 @@ func createExecutionReport() {
os.Chdir(projectRoot)
listener, err := listener.NewGaugeListener(GAUGE_HOST, os.Getenv(GAUGE_PORT_ENV))
if err != nil {
fmt.Println("Could not create the gauge listener")
os.Exit(1)
logger.Fatal("Could not create the gauge listener")
}
listener.OnSuiteResult(createReport)
listener.Start()
Expand All @@ -86,14 +85,12 @@ func createExecutionReport() {
func findPluginAndProjectRoot() {
projectRoot = os.Getenv(common.GaugeProjectRootEnv)
if projectRoot == "" {
fmt.Printf("Environment variable '%s' is not set. \n", common.GaugeProjectRootEnv)
os.Exit(1)
logger.Fatal("Environment variable '%s' is not set. \n", common.GaugeProjectRootEnv)
}
var err error
pluginDir, err = os.Getwd()
if err != nil {
fmt.Printf("Error finding current working directory: %s \n", err)
os.Exit(1)
logger.Fatal("Error finding current working directory: %s \n", err)
}
}

Expand All @@ -112,8 +109,7 @@ func createDirectory(dir string) {
return
}
if err := os.MkdirAll(dir, common.NewDirectoryPermissions); err != nil {
fmt.Printf("Failed to create directory %s: %s\n", defaultReportsDir, err)
os.Exit(1)
logger.Fatal("Failed to create directory %s: %s\n", defaultReportsDir, err)
}
}

Expand Down

0 comments on commit 73e0b7c

Please sign in to comment.