Skip to content

Commit

Permalink
Logger fallback to console.error if process._rawDebug is missing
Browse files Browse the repository at this point in the history
Allows the extension to run in Deno.
  • Loading branch information
nickg committed Nov 25, 2024
1 parent 2ea576e commit f45622f
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions source/logger.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,21 @@ void s_threadsafe_log_create(struct aws_napi_logger_ctx *ctx, napi_env env) {
napi_value node_rawdebug = NULL;
AWS_NAPI_ENSURE(env, napi_get_named_property(env, node_process, "_rawDebug", &node_rawdebug));

napi_valuetype rawdebug_type;
AWS_NAPI_ENSURE(env, napi_typeof(env, node_rawdebug, &rawdebug_type));

/* process._rawDebug is specific to NodeJS and may not exist in
other environments like Deno, fall back to console.error */
if (rawdebug_type == napi_undefined) {
napi_value node_console = NULL;
AWS_NAPI_ENSURE(env, napi_get_named_property(env, node_global, "console", &node_console));

napi_value node_error = NULL;
AWS_NAPI_ENSURE(env, napi_get_named_property(env, node_console, "error", &node_error));

node_rawdebug = node_error;
}

napi_value resource_name = NULL;
AWS_NAPI_ENSURE(env, napi_create_string_utf8(env, "aws_logger", 10, &resource_name));

Expand Down

0 comments on commit f45622f

Please sign in to comment.