debug mode handling and push message on all logging methods

alpha v1.0.46
alex 2023-02-18 16:18:51 +01:00
parent 26b4327488
commit 237c4e4af1
1 changed files with 26 additions and 16 deletions

View File

@ -2,6 +2,7 @@ package gocnjhelper
import (
"encoding/json"
"fmt"
"os"
"time"
@ -11,9 +12,10 @@ import (
var (
logsClient *Client
gserviceName uint8
gserviceType uint8
grabbitMqLoggingEnabled bool
gServiceName uint8
gServiceType uint8
gRabbitMqLoggingEnabled bool
gDebugEnabled bool
)
const (
@ -36,6 +38,8 @@ const (
func InitLogger(debug bool, colorizedOutput bool, rabbitMqLogging bool, rabbitMqConnAddr string, serviceName uint8, serviceType uint8) {
zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
gDebugEnabled = debug
gRabbitMqLoggingEnabled = rabbitMqLogging
if debug {
zerolog.SetGlobalLevel(zerolog.DebugLevel)
@ -47,11 +51,9 @@ func InitLogger(debug bool, colorizedOutput bool, rabbitMqLogging bool, rabbitMq
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: "15:04:05"})
}
grabbitMqLoggingEnabled = rabbitMqLogging
if rabbitMqLogging {
gserviceName = serviceName
gserviceType = serviceType
gServiceName = serviceName
gServiceType = serviceType
logsClient = NewClient(
ExchangeSettings{},
@ -78,16 +80,18 @@ func InitLogger(debug bool, colorizedOutput bool, rabbitMqLogging bool, rabbitMq
},
rabbitMqConnAddr)
}
LogInfof("Debug: %t", debug)
}
func LogInfo(msg string) {
log.Info().Msg(msg)
pushLogMessage(messageTypeDebug, msg)
}
func LogInfof(format string, v ...interface{}) {
log.Info().Msgf(format, v)
pushLogMessage(messageTypeDebug, fmt.Sprintf(format, v...))
}
func LogDebug(msg string) {
@ -98,21 +102,31 @@ func LogDebug(msg string) {
func LogDebugf(format string, v ...interface{}) {
log.Debug().Msgf(format, v)
pushLogMessage(messageTypeDebug, fmt.Sprintf(format, v...))
}
func LogError(msg string) {
log.Error().Msg(msg)
pushLogMessage(messageTypeDebug, msg)
}
func LogErrorf(format string, v ...interface{}) {
log.Error().Msgf(format, v)
pushLogMessage(messageTypeDebug, fmt.Sprintf(format, v...))
}
func LogFatal(msg string) {
pushLogMessage(messageTypeDebug, msg)
log.Fatal().Msg(msg)
}
func LogFatalf(format string, v ...interface{}) {
pushLogMessage(messageTypeDebug, fmt.Sprintf(format, v...))
log.Fatal().Msgf(format, v)
}
@ -125,20 +139,18 @@ type RabbitMqLogMessage struct {
}
func pushLogMessage(messageType uint8, logMsg string) {
if !grabbitMqLoggingEnabled {
if !gRabbitMqLoggingEnabled || !gDebugEnabled && messageType == messageTypeDebug {
return
}
rabbitMqLogMessage := RabbitMqLogMessage{
MessageType: messageType, // could be debug, info
ServiceName: gserviceName, // could be API
ServiceType: gserviceType, // could be alpha
ServiceName: gServiceName, // could be API
ServiceType: gServiceType, // could be alpha
Msg: logMsg,
Timestamp: time.Now().UnixMilli(),
}
LogInfof("service %s", gserviceType, gserviceName)
msg, err := json.Marshal(rabbitMqLogMessage)
if err != nil {
@ -146,8 +158,6 @@ func pushLogMessage(messageType uint8, logMsg string) {
return
}
LogInfof("msg %s", msg, string(msg))
if err = logsClient.PushQueueMessage(msg); err != nil {
LogErrorf("Failed to push log message, err: %s", err)
}