Из опций, упомянутых в вопросе, это единственный, который полностью удаляет среду из сериализованных записей аудита. Другая опция сериализуется в пустой объект Environment (и если для Environment задано значение null, вы получаете исключение NullReferenceException).
В ConfigureServices установите для ContractResolver значение EnvironmentSkippingContractResolver:
Audit.Core.Configuration.JsonSettings.ContractResolver = EnvironmentSkippingContractResolver.Instance;
EnvironmentSkippingContractResolver выглядит следующим образом это:
public class EnvironmentSkippingContractResolver : DefaultContractResolver
{
public static readonly EnvironmentSkippingContractResolver Instance = new EnvironmentSkippingContractResolver();
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
{
JsonProperty property = base.CreateProperty(member, memberSerialization);
property.ShouldSerialize = instance => member.Name != "Environment";
return property;
}
}