79676631

Date: 2025-06-23 18:48:57
Score: 0.5
Natty:
Report link

This works:

    [LayoutRenderer("elk-environment-index")]
    public class EnvironmentNameLayoutRender : LayoutRenderer
    {
        [DefaultParameter]
        [RequiredParameter]
        public Layout AspNetEnvironmentName { get; set; } = "${lowercase:${environment:variable=ASPNETCORE_ENVIRONMENT}}";

        protected override void Append(StringBuilder builder, LogEventInfo logEvent)
        {
            var text = AspNetEnvironmentName!.Render(logEvent);

            var name = text switch 
            {
                "development" => "debug",
                "staging" => "test",
                "production" => "prod",
                _ => AspNetEnvironmentName
            };

            builder.Append(name);
        }
    }
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Artem Grunin