A getter/setter pair looks like:

    shared actual Level logLevel {
        if (exists l = myLogLevel) {
            return l;
        } else {
            if (is DefaultLogManager l = logManager) {
                value parent = l.getParent(this);
                return parent.logLevel;
            } else {
                throw Exception("Default log should use DefaultLogManager.");
            }
        }
    }
    
    shared actual assign logLevel {
        myLogLevel = logLevel;
    }