aboutsummaryrefslogtreecommitdiff
path: root/example/ndpiReader.c
diff options
context:
space:
mode:
authorVitaly Lavrov <vel21ripn@gmail.com>2017-10-14 14:38:48 +0300
committerVitaly Lavrov <vel21ripn@gmail.com>2017-10-26 20:41:22 +0300
commit2787c2390cdd7129c2dcf50b0d4990d3f7d1bccc (patch)
treedb110f640b9c1de43a0a64a43974ea90776c6588 /example/ndpiReader.c
parent4f72b954da705f8d54a9dd61eae46b2b36b24dc0 (diff)
Refactoring the debugging output.
levels of debug output: 0 - ERROR: Only for errors. 1 - TRACE: Start of each packets and if found protocol. 2 - DEBUG: Start of searching each protocol and excluding protocols. 3 - DEBUG_EXTRA: For all other messages. Added field ndpi_struct->debug_logging for enable debug output of each protocols. Simple macros for debugging output are added: NDPI_LOG_ERR(), NDPI_LOG_INFO(), NDPI_LOG_DBG(), NDPI_LOG_DBG2(), NDPI_EXCLUDE_PROTO()
Diffstat (limited to 'example/ndpiReader.c')
-rw-r--r--example/ndpiReader.c37
1 files changed, 27 insertions, 10 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index 8d8ee47b0..7a60fddb7 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -77,7 +77,9 @@ static json_object *jArray_topStats;
static u_int8_t live_capture = 0;
static u_int8_t undetected_flows_deleted = 0;
/** User preferences **/
-static u_int8_t enable_protocol_guess = 1, verbose = 0, nDPI_traceLevel = 0, json_flag = 0;
+static u_int8_t enable_protocol_guess = 1, verbose = 0, json_flag = 0;
+int nDPI_LogLevel = 0;
+char *_debug_protocols = NULL;
static u_int8_t stats_flag = 0, bpf_filter_flag = 0;
#ifdef HAVE_JSON_C
static u_int8_t file_first_time = 1;
@@ -250,9 +252,12 @@ static void help(u_int long_help) {
" | 1 = verbose\n"
" | 2 = very verbose\n"
" | 3 = port stats\n"
- " -b <file.json> | Specify a file to write port based diagnose statistics\n"
- " -x <file.json> | Produce bpf filters for specified diagnose file. Use\n"
- " | this option only for .json files generated with -b flag.\n");
+ " -V <1-4> | nDPI logging level\n"
+ " | 1 - trace, 2 - debug, 3 - full debug\n"
+ " | >3 - full debug + dbg_proto = all\n"
+ " -b <file.json> | Specify a file to write port based diagnose statistics\n"
+ " -x <file.json> | Produce bpf filters for specified diagnose file. Use\n"
+ " | this option only for .json files generated with -b flag.\n");
#ifndef WIN32
@@ -266,6 +271,7 @@ static void help(u_int long_help) {
" --extcap-capture-filter\n"
" --fifo <path to file or pipe>\n"
" --debug\n"
+ " --dbg-proto proto|num[,...]\n"
);
#endif
@@ -289,7 +295,8 @@ static struct option longopts[] = {
{ "capture", no_argument, NULL, '5'},
{ "extcap-capture-filter", required_argument, NULL, '6'},
{ "fifo", required_argument, NULL, '7'},
- { "debug", optional_argument, NULL, '8'},
+ { "debug", no_argument, NULL, '8'},
+ { "dbg-proto", required_argument, NULL, 257},
{ "ndpi-proto-filter", required_argument, NULL, '9'},
/* ndpiReader options */
@@ -519,8 +526,12 @@ static void parseOptions(int argc, char **argv) {
break;
case 'V':
- printf("%d\n",atoi(optarg) );
- nDPI_traceLevel = atoi(optarg);
+ nDPI_LogLevel = atoi(optarg);
+ if(nDPI_LogLevel < 0) nDPI_LogLevel = 0;
+ if(nDPI_LogLevel > 3) {
+ nDPI_LogLevel = 3;
+ _debug_protocols = strdup("all");
+ }
break;
case 'h':
@@ -546,6 +557,7 @@ static void parseOptions(int argc, char **argv) {
case 'q':
quiet_mode = 1;
+ nDPI_LogLevel = 0;
break;
/* Extcap */
@@ -574,12 +586,17 @@ static void parseOptions(int argc, char **argv) {
break;
case '8':
- nDPI_traceLevel = 9;
+ nDPI_LogLevel = NDPI_LOG_DEBUG_EXTRA;
+ _debug_protocols = strdup("all");
break;
case '9':
extcap_packet_filter = atoi(optarg);
break;
+
+ case 257:
+ _debug_protocols = strdup(optarg);
+ break;
default:
help(0);
@@ -985,7 +1002,6 @@ void updateTopIpAddress(u_int32_t addr, u_int8_t version, const char *proto,
int min = count;
int update = 0;
int min_i = 0;
- int r;
int i;
if(count == 0) return;
@@ -1117,6 +1133,7 @@ static struct receiver *cutBackTo(struct receiver **receivers, u_int32_t size, u
HASH_DEL(*receivers, r);
free(r);
}
+ return NULL;
}
/* *********************************************** */
@@ -1381,7 +1398,7 @@ static void debug_printf(u_int32_t protocol, void *id_struct,
struct tm result;
#endif
- if(log_level <= nDPI_traceLevel) {
+ if(log_level <= nDPI_LogLevel) {
char buf[8192], out_buf[8192];
char theDate[32];
const char *extra_msg = "";