This example augments Greeter with logging.
The client is a more typical client than Greeter's client because it creates an invocation pipeline and installs an interceptor in this pipeline (the logger interceptor).
And the server is a more typical server than Greeter's server because it creates a router (dispatch pipeline) and installs a middleware in this pipeline (the logger middleware).
This example uses QUIC, IceRPC's default multiplexed transport. On Linux and macOS, QUIC requires extra setup steps; see .NET's QUIC platform dependencies.
You can build the client and server applications with:
dotnet buildFirst start the Server program:
cd Server
dotnet runIn a separate terminal, start the Client program:
cd Client
dotnet runYou will notice the two logger categories in the output. The client shows log messages for IceRpc.ClientConnection and
IceRpc.Logger.LoggerInterceptor, while the server shows log messages for IceRpc.Server and
IceRpc.Logger.LoggerMiddleware.