Skip to content

Commit 916d713

Browse files
cleanup and fixes
1 parent 61f6f1a commit 916d713

64 files changed

Lines changed: 2021 additions & 1415 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sdk/runanywhere-commons/include/rac/core/rac_logger.h

Lines changed: 79 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -228,63 +228,85 @@ RAC_API void rac_logger_logv(rac_log_level_t level, const char* category,
228228
#endif
229229

230230
// --- Level-specific logging macros with automatic source location ---
231+
// Each macro checks the current min level BEFORE constructing metadata
232+
// or calling the log function. This avoids function call overhead, metadata
233+
// struct construction, and vsnprintf formatting for filtered messages.
234+
// rac_logger_get_min_level() is an atomic read (no mutex).
235+
236+
#define RAC_LOG_TRACE(category, ...) \
237+
do { \
238+
if (RAC_LOG_TRACE >= rac_logger_get_min_level()) { \
239+
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
240+
rac_logger_logf(RAC_LOG_TRACE, category, &_meta, __VA_ARGS__); \
241+
} \
242+
} while (0)
231243

232-
#define RAC_LOG_TRACE(category, ...) \
233-
do { \
234-
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
235-
rac_logger_logf(RAC_LOG_TRACE, category, &_meta, __VA_ARGS__); \
244+
#define RAC_LOG_DEBUG(category, ...) \
245+
do { \
246+
if (RAC_LOG_DEBUG >= rac_logger_get_min_level()) { \
247+
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
248+
rac_logger_logf(RAC_LOG_DEBUG, category, &_meta, __VA_ARGS__); \
249+
} \
236250
} while (0)
237251

238-
#define RAC_LOG_DEBUG(category, ...) \
252+
#define RAC_LOG_INFO(category, ...) \
239253
do { \
240-
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
241-
rac_logger_logf(RAC_LOG_DEBUG, category, &_meta, __VA_ARGS__); \
254+
if (RAC_LOG_INFO >= rac_logger_get_min_level()) { \
255+
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
256+
rac_logger_logf(RAC_LOG_INFO, category, &_meta, __VA_ARGS__); \
257+
} \
242258
} while (0)
243259

244-
#define RAC_LOG_INFO(category, ...) \
245-
do { \
246-
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
247-
rac_logger_logf(RAC_LOG_INFO, category, &_meta, __VA_ARGS__); \
260+
#define RAC_LOG_WARNING(category, ...) \
261+
do { \
262+
if (RAC_LOG_WARNING >= rac_logger_get_min_level()) { \
263+
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
264+
rac_logger_logf(RAC_LOG_WARNING, category, &_meta, __VA_ARGS__); \
265+
} \
248266
} while (0)
249267

250-
#define RAC_LOG_WARNING(category, ...) \
251-
do { \
252-
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
253-
rac_logger_logf(RAC_LOG_WARNING, category, &_meta, __VA_ARGS__); \
268+
#define RAC_LOG_ERROR(category, ...) \
269+
do { \
270+
if (RAC_LOG_ERROR >= rac_logger_get_min_level()) { \
271+
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
272+
rac_logger_logf(RAC_LOG_ERROR, category, &_meta, __VA_ARGS__); \
273+
} \
254274
} while (0)
255275

256-
#define RAC_LOG_ERROR(category, ...) \
257-
do { \
258-
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
259-
rac_logger_logf(RAC_LOG_ERROR, category, &_meta, __VA_ARGS__); \
260-
} while (0)
261-
262-
#define RAC_LOG_FATAL(category, ...) \
263-
do { \
264-
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
265-
rac_logger_logf(RAC_LOG_FATAL, category, &_meta, __VA_ARGS__); \
276+
#define RAC_LOG_FATAL(category, ...) \
277+
do { \
278+
if (RAC_LOG_FATAL >= rac_logger_get_min_level()) { \
279+
rac_log_metadata_t _meta = RAC_LOG_META_HERE(); \
280+
rac_logger_logf(RAC_LOG_FATAL, category, &_meta, __VA_ARGS__); \
281+
} \
266282
} while (0)
267283

268284
// --- Error logging with code ---
269285

270-
#define RAC_LOG_ERROR_CODE(category, code, ...) \
271-
do { \
272-
rac_log_metadata_t _meta = RAC_LOG_META_ERROR(code, NULL); \
273-
rac_logger_logf(RAC_LOG_ERROR, category, &_meta, __VA_ARGS__); \
286+
#define RAC_LOG_ERROR_CODE(category, code, ...) \
287+
do { \
288+
if (RAC_LOG_ERROR >= rac_logger_get_min_level()) { \
289+
rac_log_metadata_t _meta = RAC_LOG_META_ERROR(code, NULL); \
290+
rac_logger_logf(RAC_LOG_ERROR, category, &_meta, __VA_ARGS__); \
291+
} \
274292
} while (0)
275293

276294
// --- Model context logging ---
277295

278-
#define RAC_LOG_MODEL_INFO(category, model_id, framework, ...) \
279-
do { \
280-
rac_log_metadata_t _meta = RAC_LOG_META_MODEL(model_id, framework); \
281-
rac_logger_logf(RAC_LOG_INFO, category, &_meta, __VA_ARGS__); \
296+
#define RAC_LOG_MODEL_INFO(category, model_id, framework, ...) \
297+
do { \
298+
if (RAC_LOG_INFO >= rac_logger_get_min_level()) { \
299+
rac_log_metadata_t _meta = RAC_LOG_META_MODEL(model_id, framework); \
300+
rac_logger_logf(RAC_LOG_INFO, category, &_meta, __VA_ARGS__); \
301+
} \
282302
} while (0)
283303

284-
#define RAC_LOG_MODEL_ERROR(category, model_id, framework, ...) \
285-
do { \
286-
rac_log_metadata_t _meta = RAC_LOG_META_MODEL(model_id, framework); \
287-
rac_logger_logf(RAC_LOG_ERROR, category, &_meta, __VA_ARGS__); \
304+
#define RAC_LOG_MODEL_ERROR(category, model_id, framework, ...) \
305+
do { \
306+
if (RAC_LOG_ERROR >= rac_logger_get_min_level()) { \
307+
rac_log_metadata_t _meta = RAC_LOG_META_MODEL(model_id, framework); \
308+
rac_logger_logf(RAC_LOG_ERROR, category, &_meta, __VA_ARGS__); \
309+
} \
288310
} while (0)
289311

290312
// =============================================================================
@@ -341,87 +363,96 @@ namespace rac {
341363
class Logger {
342364
public:
343365
explicit Logger(const char* category) : category_(category) {}
344-
explicit Logger(const std::string& category) : category_(category.c_str()) {}
366+
explicit Logger(const std::string& category) : category_(category) {}
345367

346368
void trace(const char* format, ...) const {
369+
if (RAC_LOG_TRACE < rac_logger_get_min_level()) return;
347370
va_list args;
348371
va_start(args, format);
349-
rac_logger_logv(RAC_LOG_TRACE, category_, nullptr, format, args);
372+
rac_logger_logv(RAC_LOG_TRACE, category_.c_str(), nullptr, format, args);
350373
va_end(args);
351374
}
352375

353376
void debug(const char* format, ...) const {
377+
if (RAC_LOG_DEBUG < rac_logger_get_min_level()) return;
354378
va_list args;
355379
va_start(args, format);
356-
rac_logger_logv(RAC_LOG_DEBUG, category_, nullptr, format, args);
380+
rac_logger_logv(RAC_LOG_DEBUG, category_.c_str(), nullptr, format, args);
357381
va_end(args);
358382
}
359383

360384
void info(const char* format, ...) const {
385+
if (RAC_LOG_INFO < rac_logger_get_min_level()) return;
361386
va_list args;
362387
va_start(args, format);
363-
rac_logger_logv(RAC_LOG_INFO, category_, nullptr, format, args);
388+
rac_logger_logv(RAC_LOG_INFO, category_.c_str(), nullptr, format, args);
364389
va_end(args);
365390
}
366391

367392
void warning(const char* format, ...) const {
393+
if (RAC_LOG_WARNING < rac_logger_get_min_level()) return;
368394
va_list args;
369395
va_start(args, format);
370-
rac_logger_logv(RAC_LOG_WARNING, category_, nullptr, format, args);
396+
rac_logger_logv(RAC_LOG_WARNING, category_.c_str(), nullptr, format, args);
371397
va_end(args);
372398
}
373399

374400
void error(const char* format, ...) const {
401+
if (RAC_LOG_ERROR < rac_logger_get_min_level()) return;
375402
va_list args;
376403
va_start(args, format);
377-
rac_logger_logv(RAC_LOG_ERROR, category_, nullptr, format, args);
404+
rac_logger_logv(RAC_LOG_ERROR, category_.c_str(), nullptr, format, args);
378405
va_end(args);
379406
}
380407

381408
void error(int32_t code, const char* format, ...) const {
409+
if (RAC_LOG_ERROR < rac_logger_get_min_level()) return;
382410
rac_log_metadata_t meta = RAC_LOG_METADATA_EMPTY;
383411
meta.error_code = code;
384412

385413
va_list args;
386414
va_start(args, format);
387-
rac_logger_logv(RAC_LOG_ERROR, category_, &meta, format, args);
415+
rac_logger_logv(RAC_LOG_ERROR, category_.c_str(), &meta, format, args);
388416
va_end(args);
389417
}
390418

391419
void fatal(const char* format, ...) const {
420+
// Fatal is always logged — no early exit
392421
va_list args;
393422
va_start(args, format);
394-
rac_logger_logv(RAC_LOG_FATAL, category_, nullptr, format, args);
423+
rac_logger_logv(RAC_LOG_FATAL, category_.c_str(), nullptr, format, args);
395424
va_end(args);
396425
}
397426

398427
// Log with model context
399428
void modelInfo(const char* model_id, const char* framework, const char* format, ...) const {
429+
if (RAC_LOG_INFO < rac_logger_get_min_level()) return;
400430
rac_log_metadata_t meta = RAC_LOG_METADATA_EMPTY;
401431
meta.model_id = model_id;
402432
meta.framework = framework;
403433

404434
va_list args;
405435
va_start(args, format);
406-
rac_logger_logv(RAC_LOG_INFO, category_, &meta, format, args);
436+
rac_logger_logv(RAC_LOG_INFO, category_.c_str(), &meta, format, args);
407437
va_end(args);
408438
}
409439

410440
void modelError(const char* model_id, const char* framework, int32_t code, const char* format,
411441
...) const {
442+
if (RAC_LOG_ERROR < rac_logger_get_min_level()) return;
412443
rac_log_metadata_t meta = RAC_LOG_METADATA_EMPTY;
413444
meta.model_id = model_id;
414445
meta.framework = framework;
415446
meta.error_code = code;
416447

417448
va_list args;
418449
va_start(args, format);
419-
rac_logger_logv(RAC_LOG_ERROR, category_, &meta, format, args);
450+
rac_logger_logv(RAC_LOG_ERROR, category_.c_str(), &meta, format, args);
420451
va_end(args);
421452
}
422453

423454
private:
424-
const char* category_;
455+
std::string category_;
425456
};
426457

427458
// Predefined loggers for common categories

sdk/runanywhere-commons/src/backends/llamacpp/jni/rac_backend_llamacpp_jni.cpp

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,19 @@
1515
#include <string>
1616
#include <cstring>
1717

18-
#ifdef __ANDROID__
19-
#include <android/log.h>
20-
#define TAG "RACLlamaCPPJNI"
21-
#define LOGi(...) __android_log_print(ANDROID_LOG_INFO, TAG, __VA_ARGS__)
22-
#define LOGe(...) __android_log_print(ANDROID_LOG_ERROR, TAG, __VA_ARGS__)
23-
#define LOGw(...) __android_log_print(ANDROID_LOG_WARN, TAG, __VA_ARGS__)
24-
#else
25-
#include <cstdio>
26-
#define LOGi(...) fprintf(stdout, "[INFO] " __VA_ARGS__); fprintf(stdout, "\n")
27-
#define LOGe(...) fprintf(stderr, "[ERROR] " __VA_ARGS__); fprintf(stderr, "\n")
28-
#define LOGw(...) fprintf(stdout, "[WARN] " __VA_ARGS__); fprintf(stdout, "\n")
29-
#endif
30-
3118
// Include LlamaCPP backend header (direct API)
3219
#include "rac_llm_llamacpp.h"
3320

3421
// Include commons for registration and service lookup
3522
#include "rac/core/rac_core.h"
3623
#include "rac/core/rac_error.h"
24+
#include "rac/core/rac_logger.h"
25+
26+
// Route JNI logging through unified RAC_LOG_* system
27+
static const char* LOG_TAG = "JNI.LlamaCpp";
28+
#define LOGi(...) RAC_LOG_INFO(LOG_TAG, __VA_ARGS__)
29+
#define LOGe(...) RAC_LOG_ERROR(LOG_TAG, __VA_ARGS__)
30+
#define LOGw(...) RAC_LOG_WARNING(LOG_TAG, __VA_ARGS__)
3731

3832
// Forward declaration for registration functions
3933
extern "C" rac_result_t rac_backend_llamacpp_register(void);

0 commit comments

Comments
 (0)