Instantiate an `RotatedEventStore` from config.

        Parameters:
        _config    -- the configuration file options read from file(s).
        **options -- various options given to the specific event store. Shall
                     not be used with this event store. Warning will be logged
                     for every extra non-recognized option. The only required
                     key to this function is 'path'.

        returns   -- a newly instantiated `RotatedEventStore`.

def from_config(config, **options):
        """Instantiate an `RotatedEventStore` from config.

        Parameters:
        _config    -- the configuration file options read from file(s).
        **options -- various options given to the specific event store. Shall
                     not be used with this event store. Warning will be logged
                     for every extra non-recognized option. The only required
                     key to this function is 'path'.

        returns   -- a newly instantiated `RotatedEventStore`.

        """
        expected_args = ('prefix', 'realclass')
        for arg in expected_args:
            if arg not in options:
                msg = "Required option missing: {0}"
                raise rconfig.ConfigurationError(msg.format(arg))
        # Not logging unrecognized options here, because they might be used
        # by the real event store instantiated below.

        classpath = options['realclass']
        classpath_pieces = classpath.split('.')
        classname = classpath_pieces[-1]
        modulepath = '.'.join(classpath_pieces[0:-1])
        module = importlib.import_module(modulepath)
        estore_class = getattr(module, classname)

        return RotatedEventStore(lambda fname: estore_class(fname),
                                 options['path'], options['prefix'])