Here's my attempt, using ScalingFunctions
.
The first step is to define a function (and it's inverse) that is linear for inputs greater than $\lambda$, and is log-scaled for input below, with a shift so that we preserve continuity:
f[λ_][a_] := If[a < λ, Log[a] + λ - Log[λ], a]
if[λ_][a_] := If[a < λ, E^(-λ + a) λ, a]
Just for fun, I've included λ as a parameter to the scaling functions.
Now we just plot as usual:
With[{λ = 0.1},
Plot[Abs[s]/λ - 1 + Log[λ/s], {s, 10^-4, 8},
ScalingFunctions -> {{f[λ], if[λ]}, None}
]
] // VisualQuiet

The ticks aren't perhaps what you'd want, since in this case Plot
decided to go for powers of 10 across the domain; that could be changed with a custom Ticks
specification.
Also, at least in V11.3, the graphic pinks because of some apparently benign recursion error I haven't debugged yet, so I'm throwing in a utility I have for telling the frontend to not turn the graphic pink if there are errors:
VisualQuiet[expr_] := Style[expr, AutoStyleOptions -> {
"FormattingErrorTooltips" -> False,
"HighlightFormattingErrors" -> False
}]