parent
26b4327488
commit
237c4e4af1
42
logger.go
42
logger.go
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue