mirror of
https://github.com/fhmq/hmq.git
synced 2026-05-06 07:35:32 +00:00
Compare commits
60 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c7573dbb42 | |||
| 671564046c | |||
| e71e1ac401 | |||
| fa7f984903 | |||
| cab26d502a | |||
| 637da9df50 | |||
| 13fc3bb259 | |||
| dd6ff28d59 | |||
| a103bc4f8f | |||
| 35b74ed924 | |||
| f69ad324db | |||
| 2c17281796 | |||
| 62ca616d0a | |||
| c5ba2aace9 | |||
| 9ca49de6c8 | |||
| a9b4773516 | |||
| f671e9f4b7 | |||
| 43d390357a | |||
| f2b8f88ad4 | |||
| 33af1a59c4 | |||
| aa7ce29044 | |||
| 9fbc35fadd | |||
| 67e39710e9 | |||
| a3edbcc2ce | |||
| 1586a67dde | |||
| 0980109fdf | |||
| bc89aab452 | |||
| f3c30b1c94 | |||
| 9fef7b668d | |||
| e945b35c91 | |||
| e09891eea6 | |||
| 9d0daef2cd | |||
| ec528c6bdc | |||
| e1ae5ce83d | |||
| e675d1fe9c | |||
| 22f9764220 | |||
| f15d0db08a | |||
| 8e0ba7cf19 | |||
| 4de3f04592 | |||
| 46766d1292 | |||
| 104d05f46e | |||
| 1ea2dcab88 | |||
| 333819b2f2 | |||
| cd4c1a5a3a | |||
| 0320ab4c96 | |||
| ac456fd04a | |||
| c5a99e0a4e | |||
| c547737ada | |||
| 8e3bc82649 | |||
| fdf8bfaac6 | |||
| 8c8d1bb836 | |||
| 96ce0004c5 | |||
| eca34813bf | |||
| c394ee47d2 | |||
| 1b3ebe3849 | |||
| ee70cf1b68 | |||
| 21d7125c58 | |||
| 3eea49cd42 | |||
| 9067eb88b2 | |||
| 7bce53fa2b |
@@ -62,6 +62,10 @@ func newMessagePool() []chan *Message {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewBroker(config *Config) (*Broker, error) {
|
func NewBroker(config *Config) (*Broker, error) {
|
||||||
|
if config == nil {
|
||||||
|
config = DefaultConfig
|
||||||
|
}
|
||||||
|
|
||||||
b := &Broker{
|
b := &Broker{
|
||||||
id: GenUniqueId(),
|
id: GenUniqueId(),
|
||||||
config: config,
|
config: config,
|
||||||
|
|||||||
+4
-3
@@ -54,7 +54,7 @@ var DefaultConfig *Config = &Config{
|
|||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
log *zap.Logger
|
log = logger.Prod().Named("broker")
|
||||||
)
|
)
|
||||||
|
|
||||||
func showHelp() {
|
func showHelp() {
|
||||||
@@ -118,8 +118,9 @@ func ConfigureConfig(args []string) (*Config, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.InitLogger(config.Debug)
|
if config.Debug {
|
||||||
log = logger.Get().Named("Broker")
|
log = logger.Debug().Named("broker")
|
||||||
|
}
|
||||||
|
|
||||||
if err := config.check(); err != nil {
|
if err := config.check(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"os/signal"
|
||||||
|
|
||||||
|
"github.com/fhmq/hmq/broker"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
b, err := broker.NewBroker(nil)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("New Broker error: ", err)
|
||||||
|
}
|
||||||
|
b.Start()
|
||||||
|
|
||||||
|
s := waitForSignal()
|
||||||
|
log.Println("signal received, broker closed.", s)
|
||||||
|
}
|
||||||
|
|
||||||
|
func waitForSignal() os.Signal {
|
||||||
|
signalChan := make(chan os.Signal, 1)
|
||||||
|
defer close(signalChan)
|
||||||
|
signal.Notify(signalChan, os.Kill, os.Interrupt)
|
||||||
|
s := <-signalChan
|
||||||
|
signal.Stop(signalChan)
|
||||||
|
return s
|
||||||
|
}
|
||||||
+15
-16
@@ -29,28 +29,27 @@ func NewProdLogger() (*zap.Logger, error) {
|
|||||||
return logCfg.Build()
|
return logCfg.Build()
|
||||||
}
|
}
|
||||||
|
|
||||||
func InitLogger(debug bool) {
|
func Prod() *zap.Logger {
|
||||||
var err error
|
|
||||||
var log *zap.Logger
|
|
||||||
if debug {
|
|
||||||
log, err = NewDevLogger()
|
|
||||||
} else {
|
|
||||||
log, err = NewProdLogger()
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
panic("Unable to create a logger.")
|
|
||||||
}
|
|
||||||
defer log.Sync()
|
|
||||||
|
|
||||||
log.Debug("Logger initialization succeeded")
|
l, _ := NewProdLogger()
|
||||||
instance = log.Named("hmq")
|
instance = l
|
||||||
|
|
||||||
|
return instance
|
||||||
|
}
|
||||||
|
|
||||||
|
func Debug() *zap.Logger {
|
||||||
|
|
||||||
|
l, _ := NewDevLogger()
|
||||||
|
instance = l
|
||||||
|
|
||||||
|
return instance
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get return a *zap.Logger instance
|
|
||||||
func Get() *zap.Logger {
|
func Get() *zap.Logger {
|
||||||
if instance == nil {
|
if instance == nil {
|
||||||
l, _ := NewProdLogger()
|
l, _ := NewProdLogger()
|
||||||
return l
|
instance = l
|
||||||
}
|
}
|
||||||
|
|
||||||
return instance
|
return instance
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user