Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- === modified file 'daemons/poppy-sftp.tac'
- --- daemons/poppy-sftp.tac 2011-05-10 13:56:21 +0000
- +++ daemons/poppy-sftp.tac 2011-12-08 19:42:58 +0000
- @@ -70,9 +70,9 @@
- return SFTPServer(avatar, get_poppy_root())
- -# Connect Python logging to Twisted's logging.
- -from lp.services.twistedsupport.loggingsupport import set_up_tacfile_logging
- -set_up_tacfile_logging("poppy-sftp", logging.INFO)
- +# Force python logging to stdout - output on stderr will generate OOPSes
- +# Due to twisteds startLoggingWithObserver mangling of stderr.
- +logging.basicConfig(stream=sys.stdout, level=logging.INFO)
- components.registerAdapter(
- @@ -87,6 +87,8 @@
- # Construct an Application that has the Poppy SSH server,
- # and the Poppy FTP server.
- application = service.Application('poppy-sftp')
- +application.addComponent(set_up_oops_reporting(
- + 'poppy-sftp', 'poppy-sftp', options.get('logfile')), ignoreClass=1)
- ftpservice.setServiceParent(application)
- === modified file 'lib/lp/services/twistedsupport/loggingsupport.py'
- --- lib/lp/services/twistedsupport/loggingsupport.py 2011-10-14 04:40:49 +0000
- +++ lib/lp/services/twistedsupport/loggingsupport.py 2011-12-08 19:43:04 +0000
- @@ -46,26 +46,7 @@
- return logger_object
- -def set_up_tacfile_logging(name, level):
- - """Create a `Logger` object for use in tac files.
- -
- - This is preferable to use over `set_up_logging_for_script` for .tac
- - files since there's no options to pass through. The logger object
- - is connected to Twisted's log and returned.
- -
- - :param name: The logger instance name.
- - :param level: The log level to use, eg. logging.INFO or logging.DEBUG
- - """
- - logger = logging.getLogger(name)
- - channel = logging.StreamHandler(log.StdioOnnaStick())
- - channel.setLevel(level)
- - channel.setFormatter(logging.Formatter('%(message)s'))
- - logger.addHandler(channel)
- - logger.setLevel(level)
- - return logger
- -
- -
- -def set_up_oops_reporting(name, configuration, mangle_stdout=True):
- +def set_up_oops_reporting(name, configuration, logfile, mangle_stdout=True):
- """Set up OOPS reporting by starting the Twisted logger with an observer.
- :param name: The name of the logger to use for oops reporting.
- @@ -78,9 +59,10 @@
- configuration,
- config_factory=oops_twisted.Config,
- publisher_adapter=oops_twisted.defer_publisher)
- + log_observer = RotatableFileLogObserver(logfile)
- oops_observer = OOPSObserver(errorlog.globalErrorUtility._oops_config,
- - log.PythonLoggingObserver(loggerName=name).emit)
- - log.startLoggingWithObserver(oops_observer.emit, mangle_stdout)
- + log_observer)
- + return oops_observer
- class LaunchpadLogFile(DailyLogFile):
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement