Trait jsonrpsee_server::logger::Logger
source · pub trait Logger: Send + Sync + Clone + 'static {
type Instant: Debug + Send + Sync + Copy;
fn on_connect(
&self,
_remote_addr: SocketAddr,
_request: &HttpRequest,
_t: TransportProtocol
);
fn on_request(&self, transport: TransportProtocol) -> Self::Instant;
fn on_call(
&self,
method_name: &str,
params: Params<'_>,
kind: MethodKind,
transport: TransportProtocol
);
fn on_result(
&self,
method_name: &str,
success: bool,
started_at: Self::Instant,
transport: TransportProtocol
);
fn on_response(
&self,
result: &str,
started_at: Self::Instant,
transport: TransportProtocol
);
fn on_disconnect(
&self,
_remote_addr: SocketAddr,
transport: TransportProtocol
);
}Expand description
Defines a logger specifically for WebSocket connections with callbacks during the RPC request life-cycle. The primary use case for this is to collect timings for a larger metrics collection solution.
See the ServerBuilder::set_logger
for examples.
Required Associated Types§
Required Methods§
sourcefn on_connect(
&self,
_remote_addr: SocketAddr,
_request: &HttpRequest,
_t: TransportProtocol
)
fn on_connect(
&self,
_remote_addr: SocketAddr,
_request: &HttpRequest,
_t: TransportProtocol
)
Called when a new client connects
sourcefn on_request(&self, transport: TransportProtocol) -> Self::Instant
fn on_request(&self, transport: TransportProtocol) -> Self::Instant
Called when a new JSON-RPC request comes to the server.
sourcefn on_call(
&self,
method_name: &str,
params: Params<'_>,
kind: MethodKind,
transport: TransportProtocol
)
fn on_call(
&self,
method_name: &str,
params: Params<'_>,
kind: MethodKind,
transport: TransportProtocol
)
Called on each JSON-RPC method call, batch requests will trigger on_call multiple times.
sourcefn on_result(
&self,
method_name: &str,
success: bool,
started_at: Self::Instant,
transport: TransportProtocol
)
fn on_result(
&self,
method_name: &str,
success: bool,
started_at: Self::Instant,
transport: TransportProtocol
)
Called on each JSON-RPC method completion, batch requests will trigger on_result multiple times.
sourcefn on_response(
&self,
result: &str,
started_at: Self::Instant,
transport: TransportProtocol
)
fn on_response(
&self,
result: &str,
started_at: Self::Instant,
transport: TransportProtocol
)
Called once the JSON-RPC request is finished and response is sent to the output buffer.
sourcefn on_disconnect(&self, _remote_addr: SocketAddr, transport: TransportProtocol)
fn on_disconnect(&self, _remote_addr: SocketAddr, transport: TransportProtocol)
Called when a client disconnects