id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	branch	branch_author	launchpad_bug
4676	There's no api for setting components in a twistd plugin	djfroofy		"Currently there's no api for setting the components in a twistd plugin. In .tac files, this is trivial:

{{{
#!python
application.setComponent(ILogObserver, PythonLoggingObserver().emit)
}}}

The only way I know how to do this is inheriting from MultiService:

{{{
#!python
class PythonLoggingMultiService(service.MultiService):

    def setServiceParent(self, parent):
        super(PythonLoggingMultiService, self).setServiceParent(parent)
        parent.setComponent(ILogObserver, PythonLoggingObserver().emit) 

}}}

twistd plugins: http://twistedmatrix.com/documents/current/core/howto/tap.html
"	enhancement	closed	normal		core	duplicate					
