diff options
author | Mark Spruiell <mes@zeroc.com> | 2005-10-12 17:10:13 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2005-10-12 17:10:13 +0000 |
commit | 02132db681db70ad4c9e69fc0bf0bfc108ca2c0c (patch) | |
tree | 0d7268013910adbf023b2a287b4f50e46fb32367 /py/python/Ice.py | |
parent | fix config directory installation xform (diff) | |
download | ice-02132db681db70ad4c9e69fc0bf0bfc108ca2c0c.tar.bz2 ice-02132db681db70ad4c9e69fc0bf0bfc108ca2c0c.tar.xz ice-02132db681db70ad4c9e69fc0bf0bfc108ca2c0c.zip |
bug 87: adding initialize* methods for Logger
Diffstat (limited to 'py/python/Ice.py')
-rw-r--r-- | py/python/Ice.py | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/py/python/Ice.py b/py/python/Ice.py index 46ea9948924..e81cac2fc1d 100644 --- a/py/python/Ice.py +++ b/py/python/Ice.py @@ -188,7 +188,10 @@ class CommunicatorI(Communicator): def getLogger(self): logger = self._impl.getLogger() - return LoggerI(logger) + if isinstance(logger, Logger): + return logger + else: + return LoggerI(logger) def setLogger(self, log): self._impl.setLogger(log) @@ -221,14 +224,34 @@ class CommunicatorI(Communicator): # Ice.initialize() # def initialize(args=[]): - communicator = IcePy.initialize(args) + communicator = IcePy.Communicator(args) return CommunicatorI(communicator) # # Ice.initializeWithProperties() # def initializeWithProperties(args, properties): - communicator = IcePy.initializeWithProperties(args, properties._impl) + propImpl = None + if properties: + propImpl = properties._impl + communicator = IcePy.Communicator(args, propImpl) + return CommunicatorI(communicator) + +# +# Ice.initializeWithLogger() +# +def initializeWithLogger(args, logger): + communicator = IcePy.Communicator(args, logger) + return CommunicatorI(communicator) + +# +# Ice.initializeWithPropertiesAndLogger() +# +def initializeWithPropertiesAndLogger(args, properties, logger): + propImpl = None + if properties: + propImpl = properties._impl + communicator = IcePy.Communicator(args, propImpl, logger) return CommunicatorI(communicator) # @@ -424,7 +447,7 @@ class Application(object): if type(self) == Application: raise RuntimeError("Ice.Application is an abstract class") - def main(self, args, configFile=None): + def main(self, args, configFile=None, logger=None): if Application._communicator: print args[0] + ": only one instance of the Application class can be used" return False @@ -447,9 +470,9 @@ class Application(object): if configFile: properties = createProperties() properties.load(configFile) - Application._communicator = initializeWithProperties(args, properties) + Application._communicator = initializeWithPropertiesAndLogger(args, properties, logger) else: - Application._communicator = initialize(args) + Application._communicator = initializeWithLogger(args, logger) # # Used by destroyOnInterruptCallback and shutdownOnInterruptCallback. |