Skip to content
Snippets Groups Projects
Unverified Commit 72616366 authored by Silas Davis's avatar Silas Davis
Browse files

Prevent inadvertently setting output from top-level sink (and so skipping filters)


Signed-off-by: default avatarSilas Davis <silas@monax.io>
parent dfcb4c86
No related branches found
No related tags found
No related merge requests found
......@@ -31,6 +31,9 @@ func main() {
burrow.Action = func() {
// We need to reflect on whether this obscures where values are coming from
conf := config.DefaultBurrowConfig()
// We treat logging a little differently in that if anything is set for logging we will not
// set default outputs
conf.Logging = nil
err := source.EachOf(
burrowConfigProvider(*configOpt),
source.FirstOf(
......@@ -38,6 +41,10 @@ func main() {
// Try working directory
genesisDocProvider(config.DefaultGenesisDocJSONFileName, true)),
).Apply(conf)
// If no logging config was provided use the default
if conf.Logging == nil {
conf.Logging = logging_config.DefaultNodeLoggingConfig()
}
if err != nil {
fatalf("could not obtain config: %v", err)
}
......
......@@ -5,7 +5,6 @@ import (
"fmt"
"github.com/BurntSushi/toml"
"github.com/hyperledger/burrow/logging/config"
"github.com/hyperledger/burrow/logging/loggers"
"github.com/hyperledger/burrow/logging/structure"
......@@ -25,17 +24,21 @@ func TestBuildSinkConfig(t *testing.T) {
config.Sink().SetTransform(config.FilterTransform(config.NoFilterMode,
structure.ChannelKey, types.InfoChannelName)).SetOutput(config.StdoutOutput())))
fmt.Println(config.JSONString(expectedSink), "\n", config.JSONString(builtSink))
//fmt.Println(config.JSONString(expectedSink), "\n", config.JSONString(builtSink))
assert.Equal(t, config.JSONString(expectedSink), config.JSONString(builtSink))
}
func TestMinimalPreset(t *testing.T) {
builtSink, err := BuildSinkConfig(Minimal)
builtSink, err := BuildSinkConfig(Minimal, Stderr)
require.NoError(t, err)
loggingConfig := &config.LoggingConfig{
RootSink: builtSink,
}
loggingConfigOut := new(config.LoggingConfig)
toml.Decode(loggingConfig.TOMLString(), loggingConfigOut)
assert.Equal(t, loggingConfig.TOMLString(), loggingConfigOut.TOMLString())
expectedSink := config.Sink().
AddSinks(config.Sink().SetTransform(config.PruneTransform(structure.TraceKey, structure.RunId)).
AddSinks(config.Sink().SetTransform(config.FilterTransform(config.IncludeWhenAllMatch,
structure.ChannelKey, types.InfoChannelName)).
AddSinks(config.Sink().SetTransform(config.FilterTransform(config.ExcludeWhenAnyMatches,
structure.ComponentKey, "Tendermint",
"module", "p2p",
"module", "mempool")).SetOutput(config.StderrOutput()))))
//fmt.Println(config.TOMLString(expectedSink), "\n", config.TOMLString(builtSink))
assert.Equal(t, config.TOMLString(expectedSink), config.TOMLString(builtSink))
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment