Showing with 33 additions and 30 deletions.
  1. +5 −5 src/twisted/application/app.py
  2. +15 −16 src/twisted/internet/base.py
  3. +13 −9 src/twisted/internet/tcp.py
10 changes: 5 additions & 5 deletions src/twisted/application/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -451,11 +451,14 @@ def getApplication(config, passphrase):
s = [(config[t], t)
for t in ['python', 'source', 'file'] if config[t]][0]
filename, style = s[0], {'file': 'pickle'}.get(s[1], s[1])
log = logger.Logger()
try:
log.msg("Loading %s..." % filename)
log.info("Loading {tacfile!r}...", tacfile=filename)
application = service.loadApplication(filename, style, passphrase)
log.msg("Loaded.")
svc = application.getComponent(service.IService)
log.info("Loaded {appname!r}.", appname=svc.name)
except Exception as e:
log.failure("Load error.")
s = "Failed to load application: %s" % e
if isinstance(e, KeyError) and e.args[0] == "application":
s += """
Expand All @@ -466,9 +469,6 @@ def getApplication(config, passphrase):
Please read the 'Using Application' HOWTO for details.
"""
traceback.print_exc(file=log.logfile)
log.msg(s)
log.deferr()
sys.exit('\n' + s + '\n')
return application

Expand Down
31 changes: 15 additions & 16 deletions src/twisted/internet/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
ComplexResolverSimplifier as _ComplexResolverSimplifier,
SimpleResolverComplexifier as _SimpleResolverComplexifier,
)
from twisted.logger import _loggerFor
from twisted.python import log, failure, reflect
from twisted.python.compat import unicode, iteritems
from twisted.python.runtime import seconds as runtimeSeconds, platform
Expand Down Expand Up @@ -421,7 +422,7 @@ def fireEvent(self):
try:
result = callable(*args, **kwargs)
except:
log.err()
_loggerFor(self).failure('Calling event triggers')
else:
if isinstance(result, Deferred):
beforeResults.append(result)
Expand All @@ -440,7 +441,7 @@ def _continueFiring(self, ignored):
try:
callable(*args, **kwargs)
except:
log.err()
_loggerFor(self).failure('Calling after phase triggers')



Expand Down Expand Up @@ -646,27 +647,27 @@ def crash(self):
def sigInt(self, *args):
"""Handle a SIGINT interrupt.
"""
log.msg("Received SIGINT, shutting down.")
_loggerFor(self).info("Received SIGINT, shutting down.")
self.callFromThread(self.stop)

def sigBreak(self, *args):
"""Handle a SIGBREAK interrupt.
"""
log.msg("Received SIGBREAK, shutting down.")
_loggerFor(self).info("Received SIGBREAK, shutting down.")
self.callFromThread(self.stop)

def sigTerm(self, *args):
"""Handle a SIGTERM interrupt.
"""
log.msg("Received SIGTERM, shutting down.")
_loggerFor(self).info("Received SIGTERM, shutting down.")
self.callFromThread(self.stop)

def disconnectAll(self):
"""Disconnect every reader, and writer in the system.
"""
selectables = self.removeAll()
for reader in selectables:
log.callWithLogger(reader,
log.callWithLogger(reader, # Does this util func need a new logger equiv?
reader.connectionLost,
failure.Failure(main.CONNECTION_LOST))

Expand Down Expand Up @@ -850,7 +851,7 @@ def runUntilCurrent(self):
try:
f(*a, **kw)
except:
log.err()
_loggerFor(self).failure('Processing thread call queue')
count += 1
if count == total:
break
Expand All @@ -877,15 +878,14 @@ def runUntilCurrent(self):
call.called = 1
call.func(*call.args, **call.kw)
except:
log.deferr()
_loggerFor(self).failure('Dealing with pending timed calls')
if hasattr(call, "creator"):
e = "\n"
e += " C: previous exception occurred in " + \
"a DelayedCall created here:\n"
e += " C:"
e += "".join(call.creator).rstrip().replace("\n","\n C:")
e += "\n"
log.msg(e)
e += " C:{creator!r}\n"
cr = "".join(call.creator).rstrip().replace("\n","\n C:")
_loggerFor(self).error(e, creator=cr)


if (self._cancellations > 50 and
Expand Down Expand Up @@ -1194,7 +1194,7 @@ def _handleSignals(self):
try:
import signal
except ImportError:
log.msg("Warning: signal module unavailable -- "
_loggerFor(self).warn("signal module unavailable -- "
"not installing signal handlers.")
return

Expand Down Expand Up @@ -1254,10 +1254,9 @@ def mainLoop(self):
t = self.running and t2
self.doIteration(t)
except:
log.msg("Unexpected error in main loop.")
log.err()
_loggerFor(self).failure("Unexpected error in main loop.")
else:
log.msg('Main loop terminated.')
_loggerFor(self).info('Main loop terminated.')



Expand Down
22 changes: 13 additions & 9 deletions src/twisted/internet/tcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ class _TLSServerMixin(object):
# Twisted Imports
from twisted.internet import base, address, fdesc
from twisted.internet.task import deferLater
from twisted.logger import _loggerFor
from twisted.python import log, failure, reflect
from twisted.python.util import untilConcludes
from twisted.internet.error import CannotListenError
Expand Down Expand Up @@ -253,7 +254,7 @@ def _closeWriteConnection(self):
p.writeConnectionLost()
except:
f = failure.Failure()
log.err()
_loggerFor(self).failure('Write connection lost')
self.connectionLost(f)


Expand All @@ -263,7 +264,7 @@ def readConnectionLost(self, reason):
try:
p.readConnectionLost()
except:
log.err()
_loggerFor(self).failure('Read connection lost')
self.connectionLost(failure.Failure())
else:
self.connectionLost(reason)
Expand Down Expand Up @@ -990,8 +991,9 @@ def startListening(self):
# reflect what the OS actually assigned us.
self._realPortNumber = skt.getsockname()[1]

log.msg("%s starting on %s" % (
self._getLogPrefix(self.factory), self._realPortNumber))
_loggerFor(self).info("{factory} starting on {portnum}",
factory=self._getLogPrefix(self.factory),
portnum=self._realPortNumber)

# The order of the next 5 lines is kind of bizarre. If no one
# can explain it, perhaps we should re-arrange them.
Expand Down Expand Up @@ -1057,8 +1059,9 @@ def doRead(self):
# such a listener is not considered readable, so
# accept(2) will never be called. Calling accept(2) on
# such a listener, however, does not return at all.
log.msg("Could not accept new connection (%s)" % (
errorcode[e.args[0]],))
_loggerFor(self).info(
"Could not accept new connection ({err})",
err=errorcode[e.args[0]])
break
raise

Expand All @@ -1079,9 +1082,9 @@ def doRead(self):
#
# There is no "except SSL.Error:" above because SSL may be
# None if there is no SSL support. In any case, all the
# "except SSL.Error:" suite would probably do is log.deferr()
# "except SSL.Error:" suite would probably do is log
# and return, so handling it here works just as well.
log.deferr()
_loggerFor(self).failure('Read socket')

def loseConnection(self, connDone=failure.Failure(main.CONNECTION_DONE)):
"""
Expand All @@ -1104,7 +1107,8 @@ def _logConnectionLostMsg(self):
"""
Log message for closing port
"""
log.msg('(%s Port %s Closed)' % (self._type, self._realPortNumber))
_loggerFor(self).info('({socktype} Port {portnum} Closed)',
socktype=self._type, portnum=self._realPortNumber)


def connectionLost(self, reason):
Expand Down