<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def log(obj1, obj2, sym, cname=None, aname=None, result=None):
 # pylint: disable=R0913 """Log the objects being compared and the result. When no result object is specified, subsequence calls will have an increased indentation level. The indentation level is decreased once a result object is provided. @param obj1: first object @param obj2: second object @param sym: operation being performed ('==' or '%') @param cname: name of class (when attributes are being compared) @param aname: name of attribute (when attributes are being compared) @param result: outcome of comparison """

        fmt = "{o1} {sym} {o2} : {r}"
        if cname or aname:
            assert cname and aname  # both must be specified
            fmt = "{c}.{a}: " + fmt

        if result is None:
            result = '...'
            fmt = _Indent.indent(fmt)
            _Indent.more()
        else:
            _Indent.less()
            fmt = _Indent.indent(fmt)

        msg = fmt.format(o1=repr(obj1), o2=repr(obj2),
                         c=cname, a=aname, sym=sym, r=result)
        logging.info(msg)