19 def __init__( self, issue ):
20 self.stack = [f[0] for f in inspect.stack() \
21 if f[1] != self.__file \
22 and ( 'self' not in f[0].f_locals\
23 or not isinstance(f[0].f_locals[
'self'],
ers.PyIssue))]
24 self.package_name = issue.__class__.__module__
25 class_name = lambda : 'self' in self.stack[0].f_locals \
26 and self.stack[0].f_locals['self'].__class__.__name__ + '.'\
27 or ''
28
29 self.function_name = class_name() + self.stack[0].f_code.co_name;
30 try:
31 self.function_name += inspect.formatargvalues( *inspect.getargvalues(self.stack[0]) )
32 except Exception as exx:
33 self.function_name += '(...)'
34
35 self.file_name = self.stack[0].f_code.co_filename
36 self.line_number = self.stack[0].f_lineno
37 self.host_name = platform.node()
38 self.cwd = os.getcwd()
39 self.process_id = os.getpid()
40
41 self.thread_id = int(_thread.get_ident()%2**31)
42 self.user_id = os.getuid()
43 self.user_name = getpass.getuser()
44 self.application_name = os.getenv( "DUNEDAQ_APPLICATION_NAME", "Undefined" )
45
46