added rabbitmq
parent
e2ebe9077b
commit
2c1491dda1
79
logger.go
79
logger.go
|
@ -1,13 +1,23 @@
|
|||
package gocnjhelper
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
func InitLogger(debug bool, colorizedOutput bool, rabbitMqLogging bool) {
|
||||
var (
|
||||
logsClient *Client
|
||||
gserviceName string
|
||||
gserviceType string
|
||||
)
|
||||
|
||||
const RabbitMqQueueLogs = "cnj.logs"
|
||||
|
||||
func InitLogger(debug bool, colorizedOutput bool, rabbitMqLogging bool, rabbitMqConnAddr string, serviceName string, serviceType string) {
|
||||
zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
|
||||
|
||||
if debug {
|
||||
|
@ -20,6 +30,36 @@ func InitLogger(debug bool, colorizedOutput bool, rabbitMqLogging bool) {
|
|||
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: "15:04:05"})
|
||||
}
|
||||
|
||||
if rabbitMqLogging {
|
||||
gserviceName = serviceName
|
||||
gserviceType = serviceType
|
||||
|
||||
logsClient = NewClient(
|
||||
ExchangeSettings{},
|
||||
QueueSettings{
|
||||
Enabled: true,
|
||||
Name: RabbitMqQueueLogs,
|
||||
Durable: true,
|
||||
DeleteWhenUnused: false,
|
||||
Exclusive: false,
|
||||
NoWait: false,
|
||||
Arguments: nil,
|
||||
QueuePublishSettings: QueuePublishSettings{
|
||||
Mandatory: false,
|
||||
Immediate: false,
|
||||
DeliveryMode: DeliveryModePersistent,
|
||||
ContentType: ContentTypeJson,
|
||||
},
|
||||
},
|
||||
ChannelQosSettingsDefault,
|
||||
Config{
|
||||
ReconnectDelay: 1 * time.Second,
|
||||
ReInitDelay: 1 * time.Second,
|
||||
ResendDelay: 5 * time.Second,
|
||||
},
|
||||
rabbitMqConnAddr)
|
||||
}
|
||||
|
||||
LogInfof("Debug: %t", debug)
|
||||
}
|
||||
|
||||
|
@ -33,6 +73,8 @@ func LogInfof(format string, v ...interface{}) {
|
|||
|
||||
func LogDebug(msg string) {
|
||||
log.Debug().Msg(msg)
|
||||
|
||||
pushLogMessage(1, msg)
|
||||
}
|
||||
|
||||
func LogDebugf(format string, v ...interface{}) {
|
||||
|
@ -54,3 +96,38 @@ func LogFatal(msg string) {
|
|||
func LogFatalf(format string, v ...interface{}) {
|
||||
log.Fatal().Msgf(format, v)
|
||||
}
|
||||
|
||||
type RabbitMqLogMessage struct {
|
||||
MessageType uint8
|
||||
ServiceName string
|
||||
ServiceType string
|
||||
Msg string
|
||||
Timestamp int64
|
||||
}
|
||||
|
||||
func pushLogMessage(messageType uint8, logMsg string) {
|
||||
rabbitMqLogMessage := RabbitMqLogMessage{
|
||||
MessageType: messageType,
|
||||
ServiceName: gserviceName,
|
||||
ServiceType: gserviceType,
|
||||
Msg: logMsg,
|
||||
Timestamp: time.Now().Unix(),
|
||||
}
|
||||
|
||||
LogInfof("serviceType %s serviceName %s", gserviceName, gserviceName)
|
||||
|
||||
msg, err := json.Marshal(rabbitMqLogMessage)
|
||||
|
||||
if err != nil {
|
||||
LogErrorf("Failed to marshal rabbitMqLogMessage, err: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
LogInfof("msg %s %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