|
#include "log.h" |
|
|
|
#include <cstdlib> |
|
#include <thread> |
|
|
|
int main() { |
|
const int n_thread = 8; |
|
|
|
std::thread threads[n_thread]; |
|
for (int i = 0; i < n_thread; i++) { |
|
threads[i] = std::thread([i]() { |
|
const int n_msg = 1000; |
|
|
|
for (int j = 0; j < n_msg; j++) { |
|
const int log_type = std::rand() % 4; |
|
|
|
switch (log_type) { |
|
case 0: LOG_INF("Thread %d: %d\n", i, j); break; |
|
case 1: LOG_WRN("Thread %d: %d\n", i, j); break; |
|
case 2: LOG_ERR("Thread %d: %d\n", i, j); break; |
|
case 3: LOG_DBG("Thread %d: %d\n", i, j); break; |
|
default: |
|
break; |
|
} |
|
|
|
if (rand () % 10 < 5) { |
|
common_log_set_timestamps(common_log_main(), rand() % 2); |
|
common_log_set_prefix (common_log_main(), rand() % 2); |
|
} |
|
} |
|
}); |
|
} |
|
|
|
for (int i = 0; i < n_thread; i++) { |
|
threads[i].join(); |
|
} |
|
|
|
return 0; |
|
} |
|
|