From 78bb1841172381cd9e6746daf40b471bfd91e19b Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Mon, 5 Apr 2021 11:56:40 -0400 Subject: [PATCH] add some basic logging --- src/blocking_IO.ml | 8 ++++++-- src/jsonrpc2.ml | 2 ++ src/jsonrpc2.mli | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/blocking_IO.ml b/src/blocking_IO.ml index 58b1ceb4..8b72da0d 100644 --- a/src/blocking_IO.ml +++ b/src/blocking_IO.ml @@ -18,8 +18,12 @@ let spawn f = let run () = try f() with e -> - Printf.eprintf "linol: uncaught exception in `spawn`:\n%s\n%!" - (Printexc.to_string e); + let msg = + Printf.sprintf "linol: uncaught exception in `spawn`:\n%s\n%!" + (Printexc.to_string e) + in + !Jsonrpc2._log (fun () -> msg); + Printf.eprintf "%s\n%!" msg; raise e in ignore (Thread.create run () : Thread.t) diff --git a/src/jsonrpc2.ml b/src/jsonrpc2.ml index 8d387d4f..eba4a553 100644 --- a/src/jsonrpc2.ml +++ b/src/jsonrpc2.ml @@ -10,6 +10,8 @@ type json = Yojson.Safe.t module type IO = Sigs.IO +let _log : ((unit -> string) -> unit) ref = ref (fun _ -> ()) + module type S = sig module IO : IO diff --git a/src/jsonrpc2.mli b/src/jsonrpc2.mli index 72c12f41..f14b05bb 100644 --- a/src/jsonrpc2.mli +++ b/src/jsonrpc2.mli @@ -30,3 +30,7 @@ module type S = sig end module Make(IO : IO) : S with module IO = IO + +(**/**) +val _log : ((unit -> string) -> unit) ref +(**/**)