1#include <stdio.h>
2#include <stdbool.h>
3
4#include <atalk/logger.h>
5
6int main(int argc, char *argv[])
7{
8  set_processname("logger_Test");
9#if 0
10  LOG(log_severe, logtype_logger, "Logging Test starting: this should only log to syslog");
11
12  /* syslog testing */
13  LOG(log_severe, logtype_logger, "Disabling syslog logging.");
14  unsetuplog("Default");
15  LOG(log_error, logtype_default, "This shouldn't log to syslog: LOG(log_error, logtype_default).");
16  LOG(log_error, logtype_logger, "This shouldn't log to syslog: LOG(log_error, logtype_logger).");
17  setuplog("Default LOG_INFO");
18  LOG(log_info, logtype_logger, "Set syslog logging to 'log_info', so this should log again. LOG(log_info, logtype_logger).");
19  LOG(log_error, logtype_logger, "This should log to syslog: LOG(log_error, logtype_logger).");
20  LOG(log_error, logtype_default, "This should log to syslog. LOG(log_error, logtype_default).");
21  LOG(log_debug, logtype_logger, "This shouldn't log to syslog. LOG(log_debug, logtype_logger).");
22  LOG(log_debug, logtype_default, "This shouldn't log to syslog. LOG(log_debug, logtype_default).");
23  LOG(log_severe, logtype_logger, "Disabling syslog logging.");
24  unsetuplog("Default");
25#endif
26  /* filelog testing */
27
28  setuplog("DSI log_maxdebug test.log");
29  LOG(log_info, logtype_dsi, "This should log.");
30  LOG(log_error, logtype_default, "This should not log.");
31
32  setuplog("Default log_debug test.log");
33  LOG(log_debug, logtype_default, "This should log.");
34  LOG(log_maxdebug, logtype_default, "This should not log.");
35
36  LOG(log_maxdebug, logtype_dsi, "This should still log.");
37
38  /* flooding prevention check */
39  LOG(log_debug, logtype_default, "Flooding 3x");
40  for (int i = 0; i < 3; i++) {
41      LOG(log_debug, logtype_default, "Flooding...");
42  }
43  /* wipe the array */
44  LOG(log_debug, logtype_default, "1"); LOG(log_debug, logtype_default, "2"); LOG(log_debug, logtype_default, "3");
45
46  LOG(log_debug, logtype_default, "-============");
47  LOG(log_debug, logtype_default, "Flooding 5x");
48  for (int i = 0; i < 5; i++) {
49      LOG(log_debug, logtype_default, "Flooding...");
50  }
51  LOG(log_debug, logtype_default, "1"); LOG(log_debug, logtype_default, "2"); LOG(log_debug, logtype_default, "3");
52
53  LOG(log_debug, logtype_default, "o============");
54  LOG(log_debug, logtype_default, "Flooding 2005x");
55  for (int i = 0; i < 2005; i++) {
56      LOG(log_debug, logtype_default, "Flooding...");
57  }
58  LOG(log_debug, logtype_default, "1"); LOG(log_debug, logtype_default, "2"); LOG(log_debug, logtype_default, "3");
59
60  LOG(log_debug, logtype_default, "0============");
61  LOG(log_debug, logtype_default, "Flooding 11x1");
62  for (int i = 0; i < 11; i++) {
63      LOG(log_error, logtype_default, "flooding 11x1 1");
64  }
65
66  LOG(log_debug, logtype_default, "1============");
67  LOG(log_debug, logtype_default, "Flooding 11x2");
68  for (int i = 0; i < 11; i++) {
69      LOG(log_error, logtype_default, "flooding 11x2 1");
70      LOG(log_error, logtype_default, "flooding 11x2 2");
71  }
72
73  LOG(log_debug, logtype_default, "2============");
74  LOG(log_debug, logtype_default, "Flooding 11x3");
75  for (int i = 0; i < 11; i++) {
76      LOG(log_error, logtype_default, "flooding 11x3 1");
77      LOG(log_error, logtype_default, "flooding 11x3 2");
78      LOG(log_error, logtype_default, "flooding 11x3 3");
79  }
80
81  LOG(log_debug, logtype_default, "3============");
82  LOG(log_debug, logtype_default, "Flooding 11x4");
83  for (int i = 0; i < 11; i++) {
84      LOG(log_error, logtype_default, "flooding 11x4 1");
85      LOG(log_error, logtype_default, "flooding 11x4 2");
86      LOG(log_error, logtype_default, "flooding 11x4 3");
87      LOG(log_error, logtype_default, "flooding 11x4 4");
88  }
89
90
91  return 0;
92}
93
94
95