For clarity and compatability, logs should use the new log syntax, e.g. LogDebug; the old methods are just legacy compatabiltiy shims (see https://github.com/dotnet/orleans/pull/3284).
To ensure that a message template is correctly logged and properties are transferred as custom properties, you always need to log properties with placeholders in the correct order, e.g.
logger.LogWarning("The person {PersonId} could not be found.", personId);
Never use string interpolation because the replacement will be done in your application and the logging backend has no longer access to the message template and individual custom properties:
logger.LogWarning($"The person {personId} could not be found.");
Another downside of string interpolation is that objects are always serialized into text in your app even if the log is not actually written because there is a log level filter configured.
Two related points:
LogDebug
; the old methods are just legacy compatabiltiy shims (see https://github.com/dotnet/orleans/pull/3284).Together, this would turn https://github.com/OrleansContrib/Orleans.Sagas/blob/8796433b62053923bc702db0bf79fc793a3737c0/Orleans.Sagas/SagaGrain.cs#L224 into something like
logger.LogDebug($"Executing activity #{activityNumber} '{currentActivityName}'...", State.NumCompletedActivities, currentActivity.GetType().Name)