diff --git a/cmd/burrow/main.go b/cmd/burrow/main.go
index 00cc8b0c2e0654ff434a9dd1ee18b809a86c7520..9f24df905a583dd109183ffb313190e377a77e15 100644
--- a/cmd/burrow/main.go
+++ b/cmd/burrow/main.go
@@ -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)
 		}
diff --git a/logging/config/presets/instructions_test.go b/logging/config/presets/instructions_test.go
index 7252db2887b10d5f8d7e346880daa14a1de12253..4947182fc9ecb81de526d9e3bb1441313e624eb1 100644
--- a/logging/config/presets/instructions_test.go
+++ b/logging/config/presets/instructions_test.go
@@ -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))
 }