1 # SALOME Logger : CORBA server managing trace output
3 # Copyright (C) 2003 CEA/DEN, EDF R&D
5 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
7 # File : SALOME_Trace.py
12 from omniORB import CORBA
18 if (os.environ.has_key("SALOME_trace")):
19 if (os.environ["SALOME_trace"] == "with_logger"):
24 self.m_pInterfaceLogger = None
28 while steps > 0 and ok == 0:
31 orb = CORBA.ORB_init(sys.argv, CORBA.ORB_ID)
32 theObj = orb.resolve_initial_references("NameService")
33 inc = theObj._narrow(CosNaming.NamingContext)
34 name = [CosNaming.NameComponent("Logger","")]
35 obj = inc.resolve(name);
37 self.m_pInterfaceLogger = obj._narrow(SALOME_Logger.Logger)
39 if not self.m_pInterfaceLogger is None:
42 except CosNaming.NamingContext.NotFound, e :
43 if steps == 1: print "Caught exception: Naming Service can't found Logger"
44 except (CORBA.TRANSIENT,CORBA.OBJECT_NOT_EXIST,CORBA.COMM_FAILURE):
45 if steps == 1: print "Caught CORBA::SystemException CommFailure"
46 except CORBA.SystemException, e:
47 if steps == 1: print "Caught CORBA::SystemException."
48 except CORBA.Exception, e:
49 if steps == 1: print "Caught CORBA::Exception."
51 if steps == 1: print "Caught unknown exception."
57 def putMessage ( self, LogMsg ) :
59 if (CORBA.is_nil(self.m_pInterfaceLogger)):
62 self.m_pInterfaceLogger.putMessage (LogMsg)