Logs_syslog_mirage_tls
Logs reporter via syslog using MirageOS and TLS
Please read Logs_syslog
first.
module Tls
(CLOCK : Mirage_clock.PCLOCK)
(STACK : Tcpip.Stack.V4V6)
(KV : Mirage_kv.RO) :
sig ... end
TLS reporter
To install a Mirage syslog reporter, sending via TLS to localhost, use the following snippet:
module Main (S : Tcpip.Stack.V4V6) (CLOCK : Mirage_clock.PCLOCK) (KEYS : Mirage_kv.RO)
module TLS = Tls_mirage.Make(S.TCP)
module X509 = Tls_mirage.X509(KEYS)(CLOCK)
module LT = Logs_syslog_mirage_tls.Tls(CLOCK)(S)(KEYS)
let start s _ kv =
let ip = Ipaddr.V4 (Ipaddr.V4.of_string_exn "127.0.0.1") in
LT.create s kv ~hostname ip () >>= function
| Ok r -> Logs.set_reporter r ; Lwt.return_unit
| Error e -> Lwt.fail_invalid_arg e
end