summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-02 10:09:29 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-02 10:12:45 +0100
commit9742a8317f66cc2802b3d92456ec0516a6de8c79 (patch)
tree5949a227bc2af861c6df0198c88e214100c42e43
parent6683818c182d396d17ea8bde035a91da20da9e9c (diff)
downloadnetsurf-9742a8317f66cc2802b3d92456ec0516a6de8c79.tar.gz
netsurf-9742a8317f66cc2802b3d92456ec0516a6de8c79.tar.bz2
Dukky: Add and utilise a jserrors category
Normal, and verbose logging will now also log all JS errors in order that we stand a chance of debugging things more easily when testing. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
-rw-r--r--Makefile.config.example4
-rw-r--r--Makefile.defaults4
-rw-r--r--content/handlers/javascript/duktape/dukky.c8
-rw-r--r--utils/log.c1
-rw-r--r--utils/log.h1
5 files changed, 10 insertions, 8 deletions
diff --git a/Makefile.config.example b/Makefile.config.example
index 9b461f57d..988fd0ac8 100644
--- a/Makefile.config.example
+++ b/Makefile.config.example
@@ -45,7 +45,7 @@
# override NETSURF_LOG_LEVEL := DEBUG
### To change the compiled in default log, change this
-# override NETSURF_DEFAULT_LOG_FILTER := level:WARNING
+# override NETSURF_BUILTIN_LOG_FILTER := "(level:WARNING || cat:jserrors)"
### To change the compiled in *verbose* log, change this
-# override NETSURF_DEFAULT_VERBOSE_FILTER := level:VERBOSE
+# override NETSURF_BUILTIN_VERBOSE_FILTER := "(level:VERBOSE || cat:jserrors)"
diff --git a/Makefile.defaults b/Makefile.defaults
index cebd41cf8..12c83a11d 100644
--- a/Makefile.defaults
+++ b/Makefile.defaults
@@ -84,10 +84,10 @@ NETSURF_USE_NSLOG := AUTO
# Valid options are: DEEPDEBUG, DEBUG, VERBOSE, INFO, WARNING, ERROR, CRITICAL
NETSURF_LOG_LEVEL := INFO
# The log filter set during log initialisation before options are available
-NETSURF_BUILTIN_LOG_FILTER := level:WARNING
+NETSURF_BUILTIN_LOG_FILTER := "(level:WARNING || cat:jserrors)"
# The log filter set during log initialisation before options are available
# if the logging level is set to verbose
-NETSURF_BUILTIN_VERBOSE_FILTER := level:VERBOSE
+NETSURF_BUILTIN_VERBOSE_FILTER := "(level:VERBOSE || cat:jserrors)"
# Enable stripping the NetSurf binary
# Valid options: YES, NO
diff --git a/content/handlers/javascript/duktape/dukky.c b/content/handlers/javascript/duktape/dukky.c
index dcee8c55c..4dc97aac6 100644
--- a/content/handlers/javascript/duktape/dukky.c
+++ b/content/handlers/javascript/duktape/dukky.c
@@ -761,7 +761,7 @@ static void dukky_dump_error(duk_context *ctx)
/* stack is ..., errobj */
duk_idx_t stacktop = duk_get_top(ctx);
if (!duk_is_error(ctx, -1)) {
- NSLOG(dukky, INFO, "Uncaught non-Error derived error in JS: %s", duk_safe_to_string(ctx, -1));
+ NSLOG(jserrors, WARNING, "Uncaught non-Error derived error in JS: %s", duk_safe_to_string(ctx, -1));
} else {
#define GETTER(what) \
if (duk_has_prop_string(ctx, stacktop - 1, what)) { \
@@ -781,11 +781,11 @@ static void dukky_dump_error(duk_context *ctx)
GETTER("fileName");
GETTER("lineNumber");
GETTER("stack");
- NSLOG(dukky, DEBUG, "Uncaught error in JS: %s: %s",
+ NSLOG(jserrors, DEBUG, "Uncaught error in JS: %s: %s",
duk_safe_to_string(ctx, -5), duk_safe_to_string(ctx, -4));
- NSLOG(dukky, DEBUG, " was at: %s line %s",
+ NSLOG(jserrors, DEBUG, " was at: %s line %s",
duk_safe_to_string(ctx, -3), duk_safe_to_string(ctx, -2));
- NSLOG(dukky, DEBUG, " Stack trace: %s",
+ NSLOG(jserrors, DEBUG, " Stack trace: %s",
duk_safe_to_string(ctx, -1));
#undef GETTER
}
diff --git a/utils/log.c b/utils/log.c
index 2168e646b..68b188e0f 100644
--- a/utils/log.c
+++ b/utils/log.c
@@ -100,6 +100,7 @@ NSLOG_DEFINE_CATEGORY(schedule, "Scheduler");
NSLOG_DEFINE_CATEGORY(fbtk, "Framebuffer toolkit");
NSLOG_DEFINE_CATEGORY(layout, "Layout");
NSLOG_DEFINE_CATEGORY(dukky, "Duktape JavaScript Binding");
+NSLOG_DEFINE_CATEGORY(jserrors, "JavaScript error messages");
static void
netsurf_render_log(void *_ctx,
diff --git a/utils/log.h b/utils/log.h
index 24832c0b4..02a886c01 100644
--- a/utils/log.h
+++ b/utils/log.h
@@ -85,6 +85,7 @@ NSLOG_DECLARE_CATEGORY(schedule);
NSLOG_DECLARE_CATEGORY(fbtk);
NSLOG_DECLARE_CATEGORY(layout);
NSLOG_DECLARE_CATEGORY(dukky);
+NSLOG_DECLARE_CATEGORY(jserrors);
#else /* WITH_NSLOG */