sshserver: s/log/slog
diff --git a/loop/server/sshserver.go b/loop/server/sshserver.go
index cfef14b..18837a5 100644
--- a/loop/server/sshserver.go
+++ b/loop/server/sshserver.go
@@ -5,7 +5,6 @@
 	"context"
 	"fmt"
 	"io"
-	"log"
 	"log/slog"
 	"os"
 	"os/exec"
@@ -75,7 +74,9 @@
 			"cancel-tcpip-forward": forwardHandler.HandleSSHRequest,
 		},
 		SubsystemHandlers: map[string]ssh.SubsystemHandler{
-			"sftp": handleSftp,
+			"sftp": func(s ssh.Session) {
+				handleSftp(ctx, s)
+			},
 		},
 		HostSigners: []ssh.Signer{signer},
 		PublicKeyHandler: func(ctx ssh.Context, key ssh.PublicKey) bool {
@@ -98,7 +99,7 @@
 	return server.ListenAndServe()
 }
 
-func handleSftp(sess ssh.Session) {
+func handleSftp(ctx context.Context, sess ssh.Session) {
 	debugStream := io.Discard
 	serverOptions := []sftp.ServerOption{
 		sftp.WithDebug(debugStream),
@@ -108,14 +109,13 @@
 		serverOptions...,
 	)
 	if err != nil {
-		log.Printf("sftp server init error: %s\n", err)
+		slog.ErrorContext(ctx, "sftp server init error", slog.Any("err", err))
 		return
 	}
 	if err := server.Serve(); err == io.EOF {
 		server.Close()
-		fmt.Println("sftp client exited session.")
 	} else if err != nil {
-		fmt.Println("sftp server completed with error:", err)
+		slog.ErrorContext(ctx, "sftp server completed with error", slog.Any("err", err))
 	}
 }