char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
5c0d18881
char/aliceai-t5-moe
1// 2// Created by Han Yin on 10/31/25. 3// 4 5#ifndef AICHAT_LOGGING_H 6#define AICHAT_LOGGING_H 7 8#endif //AICHAT_LOGGING_H 9 10#pragma once 11#include <android/log.h> 12 13#ifndef LOG_TAG 14#define LOG_TAG "ai-chat" 15#endif 16 17#ifndef LOG_MIN_LEVEL 18#if defined(NDEBUG ) 19#define LOG_MIN_LEVEL ANDROID_LOG_INFO 20#else 21#define LOG_MIN_LEVEL ANDROID_LOG_VERBOSE 22#endif 23#endif 24 25static inline int ai_should_log (int prio ) { 26return __android_log_is_loggable (prio ,LOG_TAG ,LOG_MIN_LEVEL ); 27} 28 29#if LOG_MIN_LEVEL <=ANDROID_LOG_VERBOSE 30#define LOGv (...) do { if (ai_should_log(ANDROID_LOG_VERBOSE)) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__); } while (0) 31#else 32#define LOGv (...) ((void)0) 33#endif 34 35#if LOG_MIN_LEVEL <=ANDROID_LOG_DEBUG 36#define LOGd (...) do { if (ai_should_log(ANDROID_LOG_DEBUG)) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__); } while (0) 37#else 38#define LOGd (...) ((void)0) 39#endif 40 41#define LOGi (...) do { if (ai_should_log(ANDROID_LOG_INFO )) __android_log_print(ANDROID_LOG_INFO , LOG_TAG, __VA_ARGS__); } while (0) 42#define LOGw (...) do { if (ai_should_log(ANDROID_LOG_WARN )) __android_log_print(ANDROID_LOG_WARN , LOG_TAG, __VA_ARGS__); } while (0) 43#define LOGe (...) do { if (ai_should_log(ANDROID_LOG_ERROR)) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__); } while (0) 44 45static inline int android_log_prio_from_ggml (enum ggml_log_level level ) { 46switch (level ) { 47case GGML_LOG_LEVEL_ERROR :return ANDROID_LOG_ERROR ; 48case GGML_LOG_LEVEL_WARN :return ANDROID_LOG_WARN ; 49case GGML_LOG_LEVEL_INFO :return ANDROID_LOG_INFO ; 50case GGML_LOG_LEVEL_DEBUG :return ANDROID_LOG_DEBUG ; 51default :return ANDROID_LOG_DEFAULT ; 52 } 53} 54 55static inline void aichat_android_log_callback (enum ggml_log_level level , 56const char * text , 57void * /*user*/ ) { 58const int prio = android_log_prio_from_ggml (level ); 59if (!ai_should_log (prio ))return ; 60__android_log_write (prio ,LOG_TAG ,text ); 61}