diff --git a/src/DebugLogger.cc b/src/DebugLogger.cc index 90babe2358..e9bed5817b 100644 --- a/src/DebugLogger.cc +++ b/src/DebugLogger.cc @@ -21,11 +21,6 @@ DebugLogger::Stream DebugLogger::streams[NUM_DBGS] = {"plugins", 0, false}, {"zeekygen", 0, false}, {"pktio", 0, false}, {"broker", 0, false}, {"scripts", 0, false}, {"supervisor", 0, false}, {"hashkey", 0, false}, {"spicy", 0, false}}; -DebugLogger::DebugLogger() { - verbose = false; - file = nullptr; -} - DebugLogger::~DebugLogger() { if ( file && file != stderr ) fclose(file); @@ -94,6 +89,7 @@ void DebugLogger::EnableStreams(const char* s) { enabled_streams.insert(streams[i].prefix); } + all = true; verbose = true; goto next; } @@ -175,10 +171,11 @@ void DebugLogger::Log(DebugStream stream, const char* fmt, ...) { } void DebugLogger::Log(const plugin::Plugin& plugin, const char* fmt, ...) { - std::string tok = PluginStreamName(plugin.Name()); - - if ( enabled_streams.find(tok) == enabled_streams.end() ) - return; + if ( ! all ) { + std::string tok = PluginStreamName(plugin.Name()); + if ( enabled_streams.find(tok) == enabled_streams.end() ) + return; + } fprintf(file, "%17.06f/%17.06f [plugin %s] ", run_state::network_time, util::current_time(true), plugin.Name().c_str()); diff --git a/src/DebugLogger.h b/src/DebugLogger.h index bb2c344859..b331019f45 100644 --- a/src/DebugLogger.h +++ b/src/DebugLogger.h @@ -63,7 +63,7 @@ namespace detail { class DebugLogger { public: // Output goes to stderr per default. - DebugLogger(); + DebugLogger() : file(nullptr), all(false), verbose(false) {}; ~DebugLogger(); void OpenDebugLog(const char* filename = 0); @@ -95,6 +95,7 @@ public: private: FILE* file; + bool all; bool verbose; struct Stream { diff --git a/testing/btest/plugins/debug-streams-all.js b/testing/btest/plugins/debug-streams-all.js new file mode 100644 index 0000000000..0fde271911 --- /dev/null +++ b/testing/btest/plugins/debug-streams-all.js @@ -0,0 +1,12 @@ +/* + * Verify that `-B all` leads to plugin debug stream content in debug.log. + * This requires JavaScript and a debug build. + * @TEST-REQUIRES: test "$($BUILD/zeek-config --build_type)" = "debug" + * @TEST-REQUIRES: $SCRIPTS/have-javascript + * @TEST-EXEC: zeek -b -B all %INPUT + * @TEST-EXEC: grep -q '[plugin Zeek::JavaScript]' debug.log + */ + +zeek.on('zeek_init', () => { + console.log('Hello Zeek!'); +});