(over-)improve error loging during startup

Change-Id: I62a9f46dd427d514a2ea1401b92e5f69d197151d
This commit is contained in:
Enrico Faulhaber 2017-07-09 22:20:45 +02:00
parent 67fb9ee24b
commit 7e03fd2d9d
2 changed files with 8 additions and 2 deletions

View File

@ -31,6 +31,7 @@ import types
import inspect
import threading
from secop.lib import formatExtendedStack
from secop.lib.parsing import format_time
from secop.errors import ConfigError, ProgrammingError
from secop.protocol import status
@ -325,6 +326,7 @@ class Device(object):
try:
v = datatype.validate(v)
except (ValueError, TypeError) as e:
self.log.exception(formatExtendedStack())
raise ConfigError('Device %s: config parameter %r:\n%r' %
(self.name, k, e))
setattr(self, k, v)

View File

@ -30,7 +30,7 @@ import ConfigParser
from daemon import DaemonContext
from daemon.pidfile import TimeoutPIDLockFile
from secop.lib import get_class
from secop.lib import get_class, formatExtendedStack
from secop.protocol.dispatcher import Dispatcher
from secop.protocol.interface import INTERFACES
#from secop.protocol.encoding import ENCODERS
@ -68,7 +68,11 @@ class Server(object):
self.run()
def run(self):
self._processCfg()
try:
self._processCfg()
except Exception as exc:
print formatExtendedStack(exc)
raise
self.log.info('startup done, handling transport messages')
self._threads = set()