public void Render(CustomLogAttribute customLogAttribute)
        {
            if (customLogAttribute == null)
            {
                throw new ArgumentNullException(nameof(customLogAttribute));
            }

            if (customLogAttribute is CustomLogAttributeProperty customLogAttributeProperty)
            {
                _writer.WriteItem(new KeyValuePair <string, object>(customLogAttributeProperty.Key, customLogAttributeProperty.Value));
            }

            if (customLogAttribute is CustomLogAttributeObject customLogAttributeObject)
            {
                _writer.WriteStartObject(customLogAttributeObject.Key);

                foreach (var attribute in customLogAttributeObject.Attributes)
                {
                    Render(attribute);
                }

                _writer.WriteEndObject();
            }
        }