Skip to content
Snippets Groups Projects
Commit dfdeee43 authored by Luca Moser's avatar Luca Moser
Browse files

updates to new logger

parent 254815d9
Branches
Tags
No related merge requests found
Showing
with 57 additions and 47 deletions
......@@ -11,7 +11,7 @@ require (
github.com/go-zeromq/zmq4 v0.7.0
github.com/golang/protobuf v1.3.2
github.com/gorilla/websocket v1.4.1
github.com/iotaledger/hive.go v0.0.0-20200107124343-d0fddfc88dea
github.com/iotaledger/hive.go v0.0.0-20200107205115-986a54f82a30
github.com/iotaledger/iota.go v1.0.0-beta.13
github.com/labstack/echo v3.3.10+incompatible
github.com/labstack/gommon v0.3.0 // indirect
......@@ -31,15 +31,11 @@ require (
github.com/stretchr/objx v0.2.0 // indirect
github.com/stretchr/testify v1.4.0
github.com/valyala/fasttemplate v1.1.0 // indirect
go.uber.org/atomic v1.5.1 // indirect
go.uber.org/multierr v1.4.0 // indirect
go.uber.org/zap v1.13.0
golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e // indirect
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8 // indirect
golang.org/x/tools v0.0.0-20191230181014-9fb4d21460e1 // indirect
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 // indirect
gopkg.in/ini.v1 v1.51.1 // indirect
gopkg.in/yaml.v2 v2.2.7 // indirect
......
......@@ -2,6 +2,7 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M=
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
......@@ -82,8 +83,8 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/iotaledger/hive.go v0.0.0-20200107124343-d0fddfc88dea h1:kLGh9F6KOOygmJPynFSgy7DSlFOg4/x5jmOMOF8vFaA=
github.com/iotaledger/hive.go v0.0.0-20200107124343-d0fddfc88dea/go.mod h1:vrZrvGaWT1o5kz3Jj2B/PcUtqsFzZnLWrO3zEsGSuwk=
github.com/iotaledger/hive.go v0.0.0-20200107205115-986a54f82a30 h1:eE0sEnnQ/HV7QtkUBEPFXPqMXPjUET2UIWDCDcUuGhk=
github.com/iotaledger/hive.go v0.0.0-20200107205115-986a54f82a30/go.mod h1:obs07gqna53/Yw1ltzLsQzJBMyA6lGu7Fb/ltjqWMnQ=
github.com/iotaledger/iota.go v1.0.0-beta.9/go.mod h1:F6WBmYd98mVjAmmPVYhnxg8NNIWCjjH8VWT9qvv3Rc8=
github.com/iotaledger/iota.go v1.0.0-beta.13 h1:6m6JRcKtjTflU2PbjvDA9Tv6NTEJX1PijBDOkH9weQc=
github.com/iotaledger/iota.go v1.0.0-beta.13/go.mod h1:F6WBmYd98mVjAmmPVYhnxg8NNIWCjjH8VWT9qvv3Rc8=
......@@ -141,6 +142,7 @@ github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCr
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
......@@ -192,6 +194,7 @@ github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
......@@ -285,8 +288,8 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191230181014-9fb4d21460e1 h1:vNFL7Do+hbqZGmVjqkjTBUugGFXohWPyiHMLqLUbtP4=
golang.org/x/tools v0.0.0-20191230181014-9fb4d21460e1/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200103221440-774c71fcf114 h1:DnSr2mCsxyCE6ZgIkmcWUQY2R5cH/6wL7eIxEmQOMSE=
golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
......
......@@ -28,6 +28,8 @@ import (
)
func main() {
cli.LoadConfig()
go http.ListenAndServe("localhost:6060", nil) // pprof Server for Debbuging Mutexes
node.Run(
......
......@@ -14,7 +14,7 @@ import (
"github.com/iotaledger/hive.go/logger"
)
var log = logger.NewLogger("Transaction Spammer")
var log *logger.Logger
var spamming = false
var spammingMutex sync.Mutex
......@@ -30,6 +30,7 @@ func init() {
}
func Start(tps uint) {
log = logger.NewLogger("Transaction Spammer")
spammingMutex.Lock()
spamming = true
spammingMutex.Unlock()
......@@ -59,7 +60,7 @@ func Start(tps uint) {
tx.SetTrunkTransactionHash(tipselection.GetRandomTip())
tx.SetTimestamp(uint(time.Now().Unix()))
if err := tx.DoProofOfWork(meta_transaction.MIN_WEIGHT_MAGNITUDE); err != nil {
log.Warning("PoW failed", err)
log.Warn("PoW failed", err)
continue
}
......
......@@ -23,9 +23,10 @@ import (
"github.com/iotaledger/hive.go/timeutil"
)
var log = logger.NewLogger("Analysis-Client")
var log *logger.Logger
func Run(plugin *node.Plugin) {
log = logger.NewLogger("Analysis-Client")
daemon.BackgroundWorker("Analysis Client", func(shutdownSignal <-chan struct{}) {
shuttingDown := false
......
......@@ -10,9 +10,10 @@ import (
)
var PLUGIN = node.NewPlugin("Analysis", node.Enabled, configure, run)
var log = logger.NewLogger("Analysis")
var log *logger.Logger
func configure(plugin *node.Plugin) {
log = logger.NewLogger("Analysis")
if parameter.NodeConfig.GetInt(server.CFG_SERVER_PORT) != 0 {
webinterface.Configure(plugin)
server.Configure(plugin)
......
......@@ -21,9 +21,10 @@ import (
var server *tcp.Server
var log = logger.NewLogger("Analysis-Server")
var log *logger.Logger
func Configure(plugin *node.Plugin) {
log = logger.NewLogger("Analysis-Server")
server = tcp.NewServer()
server.Events.Connect.Attach(events.NewClosure(HandleConnection))
......
......@@ -16,9 +16,11 @@ const (
var PLUGIN = node.NewPlugin(name, node.Enabled, configure, run)
var log = logger.NewLogger(name)
var log *logger.Logger
func configure(*node.Plugin) {
log = logger.NewLogger(name)
configureEvents()
configureAP()
}
......
......@@ -11,9 +11,10 @@ import (
)
var PLUGIN = node.NewPlugin("Bundle Processor", node.Enabled, configure, run)
var log = logger.NewLogger("Bundle Processor")
var log *logger.Logger
func configure(plugin *node.Plugin) {
log = logger.NewLogger("Bundle Processor")
tangle.Events.TransactionSolid.Attach(events.NewClosure(func(tx *value_transaction.ValueTransaction) {
if tx.IsHead() {
workerPool.Submit(tx)
......
......@@ -6,6 +6,7 @@ import (
"github.com/iotaledger/goshimmer/packages/parameter"
"github.com/iotaledger/hive.go/events"
"github.com/iotaledger/hive.go/logger"
"github.com/iotaledger/hive.go/node"
flag "github.com/spf13/pflag"
)
......@@ -43,6 +44,17 @@ func parseParameters() {
}
}
func LoadConfig(){
if err := parameter.FetchConfig(true); err != nil {
panic(err)
}
parseParameters()
if err := logger.InitGlobalLogger(parameter.NodeConfig); err != nil {
panic(err)
}
}
func configure(ctx *node.Plugin) {
fmt.Println(" _____ _ _ ________ ______ ___ ___________ ")
......@@ -53,11 +65,6 @@ func configure(ctx *node.Plugin) {
fmt.Printf(" \\____/\\_| |_/\\___/\\_| |_/\\_| |_/\\____/\\_| \\_| fullnode %s", AppVersion)
fmt.Println()
if err := parameter.FetchConfig(true); err != nil {
panic(err)
}
parseParameters()
ctx.Node.Logger.Info("Loading plugins ...")
}
......
......@@ -17,9 +17,10 @@ var server *http.Server
var router *http.ServeMux
var PLUGIN = node.NewPlugin("Dashboard", node.Disabled, configure, run)
var log = logger.NewLogger("Dashboard")
var log *logger.Logger
func configure(plugin *node.Plugin) {
log = logger.NewLogger("Dashboard")
router = http.NewServeMux()
server = &http.Server{Addr: ":8081", Handler: router}
......
......@@ -20,9 +20,10 @@ const (
var PLUGIN = node.NewPlugin(name, node.Enabled, configure, run)
var log = logger.NewLogger(name)
var log *logger.Logger
func configure(*node.Plugin) {
log = logger.NewLogger(name)
configureGossip()
configureEvents()
}
......
......@@ -15,8 +15,10 @@ import (
// maximum amount of time to wait for background processes to terminate. After that the process is killed.
const WAIT_TO_KILL_TIME_IN_SECONDS = 10
var log = logger.NewLogger("Graceful Shutdown")
var log *logger.Logger
var PLUGIN = node.NewPlugin("Graceful Shutdown", node.Enabled, func(plugin *node.Plugin) {
log = logger.NewLogger("Graceful Shutdown")
gracefulStop := make(chan os.Signal)
signal.Notify(gracefulStop, syscall.SIGTERM)
......@@ -25,7 +27,7 @@ var PLUGIN = node.NewPlugin("Graceful Shutdown", node.Enabled, func(plugin *node
go func() {
<-gracefulStop
log.Warningf("Received shutdown request - waiting (max %d) to finish processing ...", WAIT_TO_KILL_TIME_IN_SECONDS)
log.Warnf("Received shutdown request - waiting (max %d) to finish processing ...", WAIT_TO_KILL_TIME_IN_SECONDS)
go func() {
start := time.Now()
......@@ -38,7 +40,7 @@ var PLUGIN = node.NewPlugin("Graceful Shutdown", node.Enabled, func(plugin *node
if len(runningBackgroundWorkers) >= 1 {
processList = "(" + strings.Join(runningBackgroundWorkers, ", ") + ") "
}
log.Warningf("Received shutdown request - waiting (max %d seconds) to finish processing %s...", WAIT_TO_KILL_TIME_IN_SECONDS-int(secondsSinceStart), processList)
log.Warnf("Received shutdown request - waiting (max %d seconds) to finish processing %s...", WAIT_TO_KILL_TIME_IN_SECONDS-int(secondsSinceStart), processList)
} else {
log.Error("Background processes did not terminate in time! Forcing shutdown ...")
os.Exit(1)
......
......@@ -6,7 +6,7 @@ import (
"github.com/iotaledger/hive.go/logger"
)
func storeStatusMessage(logLevel logger.LogLevel, prefix string, message string) {
func storeStatusMessage(logLevel logger.Level, prefix string, message string) {
mutex.Lock()
defer mutex.Unlock()
messageLog = append(messageLog, &StatusMessage{
......
......@@ -8,7 +8,7 @@ import (
type StatusMessage struct {
Source string
LogLevel logger.LogLevel
LogLevel logger.Level
Message string
Time time.Time
}
package statusscreen
import (
"io/ioutil"
"os"
"sync"
"time"
......@@ -26,19 +25,14 @@ func configure(plugin *node.Plugin) {
return
}
// don't write anything to stdout anymore
// as log messages are now stored and displayed via this plugin
logger.InjectWriters(ioutil.Discard)
// store any log message for display
anyLogMsgClosure := events.NewClosure(func(logLevel logger.LogLevel, prefix string, msg string) {
anyLogMsgClosure := events.NewClosure(func(logLevel logger.Level, prefix string, msg string) {
storeStatusMessage(logLevel, prefix, msg)
})
logger.Events.AnyMsg.Attach(anyLogMsgClosure)
daemon.BackgroundWorker("UI-Detach", func(shutdownSignal <-chan struct{}) {
<-shutdownSignal
logger.InjectWriters(os.Stdout)
logger.Events.AnyMsg.Detach(anyLogMsgClosure)
if app != nil {
app.Stop()
......
......@@ -39,16 +39,12 @@ func NewUILogEntry(message StatusMessage) *UILogEntry {
switch message.LogLevel {
case logger.LevelInfo:
fmt.Fprintf(logEntry.LogLevelContainer, " [black::d][ [blue::d]INFO [black::d]]")
case logger.LevelNotice:
fmt.Fprintf(logEntry.LogLevelContainer, " [black::d][ [blue::d]NOTICE [black::d]]")
case logger.LevelWarning:
case logger.LevelWarn:
fmt.Fprintf(logEntry.LogLevelContainer, " [black::d][ [yellow::d]WARN [black::d]]")
textColor = "yellow::d"
case logger.LevelError:
fallthrough
case logger.LevelCritical:
fallthrough
case logger.LevelPanic:
fallthrough
case logger.LevelFatal:
......
......@@ -8,9 +8,10 @@ import (
// region plugin module setup //////////////////////////////////////////////////////////////////////////////////////////
var PLUGIN = node.NewPlugin("Tangle", node.Enabled, configure, run)
var log = logger.NewLogger("Tangle")
var log *logger.Logger
func configure(plugin *node.Plugin) {
log = logger.NewLogger("Tangle")
configureTransactionDatabase(plugin)
configureTransactionMetaDataDatabase(plugin)
configureApproversDatabase(plugin)
......
......@@ -38,7 +38,7 @@ func configureSolidifier(plugin *node.Plugin) {
gossip.Events.TransactionReceived.Attach(events.NewClosure(func(ev *gossip.TransactionReceivedEvent) {
metaTx := meta_transaction.FromBytes(ev.Data)
if err := metaTx.Validate(); err != nil {
log.Warningf("invalid transaction: %s", err)
log.Warnf("invalid transaction: %s", err)
return
}
......
......@@ -12,14 +12,14 @@ var logHistory = make([]*statusMessage, 0)
type statusMessage struct {
Source string `json:"source"`
Level logger.LogLevel `json:"level"`
Level logger.Level `json:"level"`
Message string `json:"message"`
Time time.Time `json:"time"`
}
type resp map[string]interface{}
func storeAndSendStatusMessage(logLevel logger.LogLevel, pluginName string, message string) {
func storeAndSendStatusMessage(logLevel logger.Level, pluginName string, message string) {
msg := &statusMessage{
Source: pluginName,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment