Skip to content

Commit abba3f2

Browse files
committed
fdsdump: add -v/-q command line options
1 parent faa8308 commit abba3f2

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

src/tools/fdsdump/src/main.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <libfds.h>
1616

1717
#include <common/common.hpp>
18+
#include <common/logger.hpp>
1819
#include <lister/lister.hpp>
1920
#include <aggregator/mode.hpp>
2021
#include <statistics/mode.hpp>
@@ -29,6 +30,8 @@ main(int argc, char *argv[])
2930
try {
3031
Options options {argc, argv};
3132

33+
Logger::get_instance().set_log_level(options.get_log_level());
34+
3235
if (options.get_help_flag()) {
3336
Options::print_usage();
3437
return EXIT_SUCCESS;

src/tools/fdsdump/src/options.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ void Options::print_usage()
3434
std::cerr << " -S, --aggregation-values FIELDS Fields that will be aggregated (default = flows,packets,bytes)\n";
3535
std::cerr << " -I, --stats-mode Run in statistics mode\n";
3636
std::cerr << " --no-biflow-autoignore Turn off smart ignoring of empty biflow records\n";
37+
std::cerr << " -v, --verbose Increase logging verbosity\n";
38+
std::cerr << " -q, --quiet Decrease logging verbosity\n";
3739
}
3840

3941
Options::Options()
@@ -65,6 +67,8 @@ void Options::reset()
6567
m_biflow_autoignore = true;
6668

6769
m_order_by.clear();
70+
71+
m_log_level = LogLevel::warning;
6872
}
6973

7074
/**
@@ -88,6 +92,8 @@ void Options::parse(int argc, char *argv[])
8892
parser.add('S', "aggregation-values", true);
8993
parser.add("no-biflow-autoignore", false);
9094
parser.add('I', "stats-mode", false);
95+
parser.add('v', "verbose", false);
96+
parser.add('q', "quiet", false);
9197

9298
Args args;
9399
try {
@@ -141,6 +147,14 @@ void Options::parse(int argc, char *argv[])
141147
if (args.has('I')) {
142148
m_mode = Mode::stats;
143149
}
150+
151+
for (int i = 0; i < args.count('v'); i++) {
152+
m_log_level++;
153+
}
154+
155+
for (int i = 0; i < args.count('q'); i++) {
156+
m_log_level--;
157+
}
144158
}
145159

146160
void Options::validate()

src/tools/fdsdump/src/options.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
#include <vector>
1616
#include <stdexcept>
1717

18+
#include <common/logger.hpp>
19+
1820
namespace fdsdump {
1921

2022
class OptionsException : public std::invalid_argument {
@@ -89,6 +91,9 @@ class Options {
8991
/** @brief Get output order specificiation */
9092
const std::string &get_order_by() const { return m_order_by; };
9193

94+
/** @brief Get the logging level */
95+
LogLevel get_log_level() const { return m_log_level; }
96+
9297
private:
9398
Mode m_mode;
9499

@@ -107,6 +112,8 @@ class Options {
107112

108113
bool m_biflow_autoignore;
109114

115+
LogLevel m_log_level;
116+
110117
void parse(int argc, char *argv[]);
111118
void validate();
112119
};

0 commit comments

Comments
 (0)