Salome HOME
This commit was generated by cvs2git to create tag 'V1_4_0b2'.
[modules/kernel.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 import time
15 import os
16
17 trace="local"
18 if (os.environ.has_key("SALOME_trace")):
19     if (os.environ["SALOME_trace"] == "with_logger"):
20         trace="logger"
21
22 class SALOME_Trace :
23     def __init__(self):
24         self.m_pInterfaceLogger = None
25         if trace=="logger":
26             ok = 0
27             steps = 40
28             while steps > 0 and ok == 0:
29
30               try:
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);
36
37                 self.m_pInterfaceLogger = obj._narrow(SALOME_Logger.Logger)
38
39                 if not self.m_pInterfaceLogger is None:
40                   ok = 1
41
42               except CosNaming.NamingContext.NotFound, e :
43                     if steps == 1: print "Caught exception: Naming Service can't found Logger"
44               except CORBA.COMM_FAILURE, e:
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."
50               except Exception, e:
51                     if steps == 1: print "Caught unknown exception."
52
53               time.sleep(0.25)
54               steps = steps - 1
55           
56           
57     def putMessage ( self, LogMsg ) :
58         
59         if (CORBA.is_nil(self.m_pInterfaceLogger)):
60             print  LogMsg;
61         else:
62             self.m_pInterfaceLogger.putMessage (LogMsg) 
63