def log(self):
        """called by conditional actions

        """
        self.stamp = self.store.stamp

        #should be different if binary kind
        cf = io.StringIO() #use string io faster than concatenation
        try:
            text = self.formats['_time'] % self.stamp
        except __HOLE__:
            text = '%s' % self.stamp
        cf.write(ns2u(text))

        for tag, loggee in self.loggees.items():
            if loggee: #len non zero
                for field, value in loggee.items():
                    try:
                        text = self.formats[tag][field] % value
                    except TypeError:
                        text = '%s' % value
                    cf.write(ns2u(text))

            else: #no items so just write tab
                cf.write(u'\t')

        cf.write(u'\n')

        try:
            self.file.write(cf.getvalue())
        except ValueError as ex: #if self.file already closed then ValueError
            console.terse("{0}\n".format(ex))

        cf.close()
dataset/ETHPy150Open ioflo/ioflo/ioflo/base/logging.py/Log.log