Packages
livebook
0.14.3
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
lib/livebook/runtime/erl_dist/logger_gl_handler.ex
defmodule Livebook.Runtime.ErlDist.LoggerGLHandler do
@doc false
def log(%{meta: meta} = event, %{formatter: {formatter_module, formatter_config}}) do
message = apply(formatter_module, :format, [event, formatter_config])
if Livebook.Runtime.Evaluator.IOProxy.io_proxy?(meta.gl) do
async_io(meta.gl, message)
else
send(Livebook.Runtime.ErlDist.NodeManager, {:orphan_log, message})
end
end
def async_io(device, output) when is_pid(device) do
reply_to = Livebook.Runtime.ErlDist.NodeManager.sink_pid()
send(device, {:io_request, reply_to, make_ref(), {:put_chars, :unicode, output}})
end
@doc false
def filter_code_server_logs(%{msg: msg} = event, _) do
# During intellisense we check if certain modules are loaded. If
# the module name is miscapitalized, such as "Io", and we are on
# a case insensitive file system, this results in a log error
# message: "Error loading module 'Elixir.Io'". We want to ignore
# such logs
with {~c"~s~n", [content]} when is_list(content) <- msg,
true <- :string.str(content, ~c"Error loading module") > 0,
true <- :string.str(content, ~c"module name in object code is") > 0 do
:stop
else
_ -> event
end
end
end