Enrich.WithClientIp() hab ich gar nicht gesehen, mea culpa.
Was Du leider nicht beachtest hast ist, dass Du das Setup von Serilog nicht so umgesetzt hast, wie es richtig ist.
Wahrscheinlich funktioniert deshalb dein gesamten Setup nicht.
Mach es einfach, wie es in der Serilog Doku für, ASP.NET Core steht.
.UseSerilog((context, services, configuration) => configuration
.ReadFrom.Configuration(context.Configuration)
.ReadFrom.Services(services)
.Enrich.FromLogContext()
.Enrich.WithClientIp()
.WriteTo.Console())
in ASP.NET Core muss man keinen statischen Logger definieren (außer für das Boostrapping selbst, zB. für Azure Diagnostic Log Stream).
Ansonsten ist das Projekt Open Source.
Im Zweifel ziehen und selbst debuggen.
Les Dir am besten die gesamte Doku durch (was Du in angetracht der Zeit zwischen den Posts eher nicht getan haben kannst :-), dann siehst auch, wie man das flexibel über eine Konfigurationsdatei umsetzen kann - und dass Logging viel Performance kosten kann.
Dann noch der Hinweis, dass in der EU eine IP Adresse unter dem Datenschutz des Nutzers liegt und Du daher diese nicht einfach so loggen darfst.
Du musst den User darüber in Kenntnis setzen, im Zweifel sein Einverständnis holen und laut Gesetz auch innerhalb einer Zeitspanne löschen musst.