disruption
This commit is contained in:
@@ -554,6 +554,7 @@ load_log_config()
|
||||
log = function(name, args) {
|
||||
var sinks = channel_sinks[name]
|
||||
var event = args[0]
|
||||
var c_stack = args[1]
|
||||
var caller = null
|
||||
var stack = null
|
||||
var rec = null
|
||||
@@ -566,8 +567,15 @@ log = function(name, args) {
|
||||
return
|
||||
}
|
||||
|
||||
caller = caller_info(2)
|
||||
if (stack_channels[name]) stack = os.stack(1)
|
||||
// C-provided stack (from JS_Log callback) overrides caller_info/os.stack
|
||||
if (c_stack && length(c_stack) > 0) {
|
||||
caller = {file: c_stack[0].file, line: c_stack[0].line}
|
||||
if (stack_channels[name]) stack = c_stack
|
||||
} else {
|
||||
caller = caller_info(2)
|
||||
if (stack_channels[name]) stack = os.stack(1)
|
||||
}
|
||||
|
||||
rec = {
|
||||
actor_id: _cell.id,
|
||||
timestamp: time.number(),
|
||||
@@ -581,6 +589,9 @@ log = function(name, args) {
|
||||
arrfor(wildcard_sinks, function(sink) { dispatch_to_sink(sink, rec) })
|
||||
}
|
||||
|
||||
// Wire C-level JS_Log through the ƿit log system
|
||||
actor_mod.set_log(log)
|
||||
|
||||
var pronto = use_core('pronto')
|
||||
var fallback = pronto.fallback
|
||||
var parallel = pronto.parallel
|
||||
|
||||
Reference in New Issue
Block a user