107#ifdef DUK_USE_FILE_IO
131 const duk_uint8_t *arg_str;
133 duk_uint8_t *buf, *p;
134 const duk_uint8_t *q;
173 if (entry_lev < logger_lev) {
178 now = DUK_USE_DATE_GET_NOW(ctx);
180 date_len =
DUK_STRLEN((
const char *) date_buf);
200 for (i = 0; i < nargs; i++) {
246 DUK_MEMCPY((
void *) p, (
const void *) date_buf, (
size_t) date_len);
251 DUK_MEMCPY((
void *) p, (
const void *) q, (
size_t) 3);
257 DUK_MEMCPY((
void *) p, (
const void *) arg_str, (
size_t) arg_len);
262 for (i = 0; i < nargs; i++) {
267 DUK_MEMCPY((
void *) p, (
const void *) arg_str, (
size_t) arg_len);
274#if defined(DUK_USE_DEBUGGER_SUPPORT) && defined(DUK_USE_DEBUGGER_FWD_LOGGING)
278 if (DUK_HEAP_IS_DEBUGGER_ATTACHED(thr->
heap)) {
284 duk_debug_write_int(thr, (duk_int32_t) entry_lev);
285 duk_debug_write_string(thr, (
const char *) log_buf, sz_buf);
286 duk_debug_write_eom(thr);
duk_small_int_t duk_ret_t
duk_int_fast32_t duk_int_t
DUK_EXTERNAL const char * duk_get_lstring(duk_context *ctx, duk_idx_t index, duk_size_t *out_len)
DUK_INTERNAL_DECL duk_bool_t duk_put_prop_stridx(duk_context *ctx, duk_idx_t obj_index, duk_small_int_t stridx)
DUK_EXTERNAL void duk_push_this(duk_context *ctx)
DUK_INTERNAL_DECL duk_bool_t duk_get_prop_stridx(duk_context *ctx, duk_idx_t obj_index, duk_small_int_t stridx)
DUK_EXTERNAL void duk_compact(duk_context *ctx, duk_idx_t obj_index)
DUK_EXTERNAL void duk_call_prop(duk_context *ctx, duk_idx_t obj_index, duk_idx_t nargs)
#define DUK_STRIDX_FILE_NAME
DUK_EXTERNAL duk_size_t duk_get_length(duk_context *ctx, duk_idx_t index)
DUK_INTERNAL_DECL void duk_push_hstring_stridx(duk_context *ctx, duk_small_int_t stridx)
DUK_EXTERNAL void * duk_get_buffer(duk_context *ctx, duk_idx_t index, duk_size_t *out_size)
#define DUK_BI_DATE_ISO8601_BUFSIZE
DUK_EXTERNAL const char * duk_to_lstring(duk_context *ctx, duk_idx_t index, duk_size_t *out_len)
DUK_EXTERNAL duk_int_t duk_get_int(duk_context *ctx, duk_idx_t index)
DUK_EXTERNAL void duk_replace(duk_context *ctx, duk_idx_t to_index)
DUK_EXTERNAL duk_bool_t duk_is_object(duk_context *ctx, duk_idx_t index)
DUK_EXTERNAL void * duk_require_buffer(duk_context *ctx, duk_idx_t index, duk_size_t *out_size)
DUK_EXTERNAL void duk_set_top(duk_context *ctx, duk_idx_t index)
DUK_EXTERNAL void duk_dup(duk_context *ctx, duk_idx_t from_index)
DUK_EXTERNAL duk_idx_t duk_get_top(duk_context *ctx)
DUK_EXTERNAL duk_bool_t duk_is_constructor_call(duk_context *ctx)
DUK_EXTERNAL void duk_call_method(duk_context *ctx, duk_idx_t nargs)
DUK_INTERNAL_DECL void duk_bi_date_format_timeval(duk_double_t timeval, duk_uint8_t *out_buf)
#define DUK_STRIDX_TO_LOG_STRING
DUK_EXTERNAL duk_int_t duk_pcall_prop(duk_context *ctx, duk_idx_t obj_index, duk_idx_t nargs)
DUK_EXTERNAL const char * duk_to_string(duk_context *ctx, duk_idx_t index)
#define DUK_ACT_GET_FUNC(act)
DUK_EXTERNAL void duk_pop(duk_context *ctx)
DUK_INTERNAL_DECL void duk_push_hobject(duk_context *ctx, duk_hobject *h)
DUK_EXTERNAL duk_int_t duk_get_current_magic(duk_context *ctx)
DUK_EXTERNAL duk_bool_t duk_is_string(duk_context *ctx, duk_idx_t index)
#define duk_push_fixed_buffer(ctx, size)
#define DUK_RET_TYPE_ERROR
DUK_INTERNAL duk_ret_t duk_bi_logger_prototype_fmt(duk_context *ctx)
DUK_INTERNAL duk_ret_t duk_bi_logger_constructor(duk_context *ctx)
DUK_INTERNAL duk_ret_t duk_bi_logger_prototype_raw(duk_context *ctx)
DUK_LOCAL const duk_uint8_t duk__log_level_strings[]
DUK_INTERNAL duk_ret_t duk_bi_logger_prototype_log_shared(duk_context *ctx)
duk_activation * callstack