Logger::Logger(const char* name, Keyboard_JS *parent): m_pParent(parent) { buffer_config.buffer_set_name = name; buffer_config.num_buffers = 2; buffer_config.verbosity_level = SLOG2_DEBUG1; /* Configure the first buffer, using 7 x 4KB pages. This larger buffer will be used for very tripty logging. Our goal is to have 30-60 seconds of history at any given time, so we will want to log at a rate of around one log line with a string of 16 bytes long every 150 milliseconds. */ buffer_config.buffer_config[0].buffer_name = "low_priority"; buffer_config.buffer_config[0].num_pages = 7; /* Configure the second buffer, which we will use for high level info logging that is very infrequent, but we want a longer history (hours or maybe even over a day or two). This buffer uses 1 x 4KB. */ buffer_config.buffer_config[1].buffer_name = "high_priority"; buffer_config.buffer_config[1].num_pages = 1; /* Register the buffer set. */ if( -1 == slog2_register( &buffer_config, buffer_handle, 0 ) ) { fprintf( stderr, "Error registering slogger2 buffer!\n" ); } else { info("Created slogger2 buffers"); } }
void ortp_qnx_log_handler(const char *domain, OrtpLogLevel lev, const char *fmt, va_list args) { uint8_t severity; uint8_t buffer_idx = 1; if (slog2_registered != TRUE) { slog2_buffer_config.buffer_set_name = domain; slog2_buffer_config.num_buffers = 2; slog2_buffer_config.verbosity_level = SLOG2_DEBUG2; slog2_buffer_config.buffer_config[0].buffer_name = "hi_rate"; slog2_buffer_config.buffer_config[0].num_pages = 6; slog2_buffer_config.buffer_config[1].buffer_name = "lo_rate"; slog2_buffer_config.buffer_config[1].num_pages = 2; if (slog2_register(&slog2_buffer_config, slog2_buffer_handle, 0) == 0) { slog2_registered = TRUE; } else { fprintf(stderr, "Error registering slogger2 buffer!\n"); return; } } switch (lev) { case ORTP_DEBUG: severity = SLOG2_DEBUG1; buffer_idx = 0; break; case ORTP_MESSAGE: severity = SLOG2_INFO; buffer_idx = 0; break; case ORTP_WARNING: severity = SLOG2_WARNING; break; case ORTP_ERROR: severity = SLOG2_ERROR; break; case ORTP_FATAL: severity = SLOG2_CRITICAL; break; default: ortp_fatal("Bad level!"); } vslog2f(slog2_buffer_handle[buffer_idx], 0, severity, fmt, args); }