diff --git a/worker/buildbot_worker/scripts/runner.py b/worker/buildbot_worker/scripts/runner.py
index <HASH>..<HASH> 100644
--- a/worker/buildbot_worker/scripts/runner.py
+++ b/worker/buildbot_worker/scripts/runner.py
@@ -21,10 +21,15 @@ import re
 import sys
 import textwrap
 
+from twisted.logger import ILogObserver
+from twisted.logger import formatEvent
+from twisted.logger import globalLogBeginner
 from twisted.python import log
 from twisted.python import reflect
 from twisted.python import usage
 
+from zope.interface import implementer
+
 
 # the create/start/stop commands should all be run as the same user,
 # preferably a separate 'buildbot' account.
@@ -238,7 +243,18 @@ class Options(usage.Options):
             raise usage.UsageError("must specify a command")
 
 
+@implementer(ILogObserver)
+class StdoutLogger(object):
+
+    def __call__(self, event):
+        print(formatEvent(event))
+
+
 def run():
+    globalLogBeginner.beginLoggingTo(
+        [StdoutLogger()],
+        redirectStandardIO=False)
+
     config = Options()
     try:
         config.parseOptions()
configure logging for buildbot-worker runner

As alternative we can revert changes from 4d<I>e6 commit by @jvlomax
(in buildbot-worker copy).

By default Twisted log is not written anywhere so we don't see any
errors from buildbot-worker invocations, e.g.

```
$ buildbot-worker create-worker w
$ echo $?
1
$
```