Почему игнорируются необязательные параметры?
Потому-что ваш конструктор не отрабатывает, передайте ему хотя бы одно значение. Отрабатывает конструктор без параметров который нельзя переопределить. Если нужно чтобы эти значения были по умолчанию, то задайте их сразу соответствующим полям.
Значения по-умолчанию можно задать только через параметризированный конструктор. Либо статический метод типаpublic struct LogRecord
{
            public static LogRecord Create()
            {
                return new LogRecord { destignation_ = "какое-то описание", ... };
            }
}