Skip to content

Commit

Permalink
simpler logger impl
Browse files Browse the repository at this point in the history
  • Loading branch information
YSaxon committed Jun 14, 2024
1 parent a22fd10 commit 7912776
Showing 1 changed file with 15 additions and 29 deletions.
44 changes: 15 additions & 29 deletions fakejni/FalsoJNI_Logger.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,56 +10,42 @@
*/

#include <stdarg.h>
#include <pthread.h>
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>

#include "FalsoJNI_Logger.h"
#include "FalsoJNI.h"

#include <psp2/kernel/clib.h>
#include <psp2/kernel/threadmgr.h>

#define COLOR_RED "\x1B[31m"
#define COLOR_ORANGE "\x1B[33m"
#define COLOR_BLUE "\x1B[34m"

#define COLOR_END "\033[0m"

static SceKernelLwMutexWork _fjni_log_mutex;
static volatile short int _fjni_log_mutex_inited = 0;

static char _fjni_log_buffer_1[2048];
static char _fjni_log_buffer_2[2048];
static pthread_mutex_t _fjni_log_mutex = PTHREAD_MUTEX_INITIALIZER;

#define LOG_LOCK \
if (!_fjni_log_mutex_inited) { \
int ret = sceKernelCreateLwMutex(&_fjni_log_mutex, "fjni_log_lock", 0, 0, NULL); \
if (ret < 0) { \
sceClibPrintf("[JNI] Error: failed to create log mutex: 0x%x\n", ret); \
return; \
} \
_fjni_log_mutex_inited = 1; \
} \
sceKernelLockLwMutex(&_fjni_log_mutex, 1, NULL);
pthread_mutex_lock(&_fjni_log_mutex);

#define LOG_UNLOCK \
if (_fjni_log_mutex_inited) { \
sceKernelUnlockLwMutex(&_fjni_log_mutex, 1); \
}
pthread_mutex_unlock(&_fjni_log_mutex);

#define LOG_PRINT \
va_list list; \
va_start(list, fmt); \
sceClibVsnprintf(_fjni_log_buffer_2, sizeof(_fjni_log_buffer_2), _fjni_log_buffer_1, list); \
vsnprintf(_fjni_log_buffer_2, sizeof(_fjni_log_buffer_2), _fjni_log_buffer_1, list); \
va_end(list); \
sceClibPrintf(_fjni_log_buffer_2);
printf("%s", _fjni_log_buffer_2);

static char _fjni_log_buffer_1[2048];
static char _fjni_log_buffer_2[2048];

void _fjni_log_info(const char *fi, int li, const char *fn, const char* fmt, ...) {
#if FALSOJNI_DEBUGLEVEL <= FALSOJNI_DEBUG_INFO
LOG_LOCK

sceClibSnprintf(_fjni_log_buffer_1, sizeof(_fjni_log_buffer_1),
snprintf(_fjni_log_buffer_1, sizeof(_fjni_log_buffer_1),
"%s[INFO] %s%s\n", COLOR_BLUE, fmt, COLOR_END);

LOG_PRINT
Expand All @@ -71,7 +57,7 @@ void _fjni_log_warn(const char *fi, int li, const char *fn, const char* fmt, ...
#if FALSOJNI_DEBUGLEVEL <= FALSOJNI_DEBUG_WARN
LOG_LOCK

sceClibSnprintf(_fjni_log_buffer_1, sizeof(_fjni_log_buffer_1),
snprintf(_fjni_log_buffer_1, sizeof(_fjni_log_buffer_1),
"%s[WARN][%s:%d][%s] %s%s\n", COLOR_ORANGE, fi, li, fn, fmt, COLOR_END);

LOG_PRINT
Expand All @@ -83,7 +69,7 @@ void _fjni_log_debug(const char *fi, int li, const char *fn, const char* fmt, ..
#if FALSOJNI_DEBUGLEVEL <= FALSOJNI_DEBUG_ALL
LOG_LOCK

sceClibSnprintf(_fjni_log_buffer_1, sizeof(_fjni_log_buffer_1),
snprintf(_fjni_log_buffer_1, sizeof(_fjni_log_buffer_1),
"[DBG][%s:%d][%s] %s\n", fi, li, fn, fmt);

LOG_PRINT
Expand All @@ -95,7 +81,7 @@ void _fjni_log_error(const char *fi, int li, const char *fn, const char* fmt, ..
#if FALSOJNI_DEBUGLEVEL <= FALSOJNI_DEBUG_ERROR
LOG_LOCK

sceClibSnprintf(_fjni_log_buffer_1, sizeof(_fjni_log_buffer_1),
snprintf(_fjni_log_buffer_1, sizeof(_fjni_log_buffer_1),
"%s[ERROR][%s:%d][%s] %s%s\n", COLOR_RED, fi, li, fn, fmt, COLOR_END);

LOG_PRINT
Expand Down

0 comments on commit 7912776

Please sign in to comment.