Salome HOME
04dbcc35c92262642fc20ca1aed111279449556d
[modules/yacs.git] / src / Logger / SALOME_Trace.py
1 #  SALOME Logger : CORBA server managing trace output
2 #
3 #  Copyright (C) 2003  CEA/DEN, EDF R&D
4 #
5 #
6 #
7 #  File   : SALOME_Trace.py
8 #  Module : SALOME
9
10 import sys
11 import CosNaming
12 from omniORB import CORBA
13 import SALOME_Logger
14
15 class SALOME_Trace :
16     def __init__(self):
17         self.m_pInterfaceLogger = None
18         try:
19             orb = CORBA.ORB_init(sys.argv, CORBA.ORB_ID)
20             theObj = orb.resolve_initial_references("NameService")
21             inc = theObj._narrow(CosNaming.NamingContext)
22             name = [CosNaming.NameComponent("Logger","")]
23             obj = inc.resolve(name);
24             
25             self.m_pInterfaceLogger = obj._narrow(SALOME_Logger.Logger)
26
27         except CosNaming.NamingContext.NotFound, e :
28                 print "Caught exception: Naming Service can't found Logger"
29         except CORBA.COMM_FAILURE, e:
30                 print "Caught CORBA::SystemException CommFailure"
31         except CORBA.SystemException, e:
32                 print "Caught CORBA::SystemException."
33         except CORBA.Exception, e:
34                 print "Caught CORBA::Exception."
35         except Exception, e:
36                 print "Caught unknown exception."
37                 
38
39     def putMessage ( self, LogMsg ) :
40         
41         if (CORBA.is_nil(self.m_pInterfaceLogger)):
42             print  LogMsg;
43         else:
44             self.m_pInterfaceLogger.putMessage (LogMsg) 
45