def logs(self,mess,args):
     __ll=' | '.join( self.__logs.keys() )
     usage="usage:\n logs < tail | head > [< #lines >] < %s >" % __ll + "\nor\n\t logs cat < %s >" % ' | '.join( self.__logs.keys() )
     usage_cat="usage:\n logs cat < %s >" % __ll
     usage_tail="usage:\n logs tail [<#lines>] < %s >" % __ll
     usage_head="usage:\n logs head [<#lines>] < %s >" % __ll
     
     """ show log files """
     if self.__logs != None:
         try:
             argz = self.__splitstr(args)
             
             ''' cat '''
             if argz[0] == 'cat':
                 if self.__logs.has_key(argz[1]) :
                     return SystemUtils.cat(self.__logs[argz[1]])
                 else:
                     return usage_cat
             
             ''' tail '''
             if argz[0] == 'tail':
                 if argz[1].isdigit():
                     if self.__logs.has_key(argz[2]) :
                         return SystemUtils.tail(self.__logs[argz[2]],int(argz[1]))
                     return SystemUtils.tail(self.__logs[argz[2]])
                 if self.__logs.has_key(argz[1]) :
                     return SystemUtils.tail(self.__logs[argz[1]])
                 
                 return usage_tail
             
             ''' head '''
             if argz[0] == 'head':
                 if argz[1].isdigit():
                     if self.__logs.has_key(argz[2]) :
                         return SystemUtils.tail(self.__logs[argz[2]],int(argz[1]))
                     return SystemUtils.head(self.__logs[argz[2]])
                 if self.__logs.has_key(argz[1]) :
                     return SystemUtils.head(self.__logs[argz[1]])
                 return usage_head
             
         except IndexError:
             return usage
         except Exception as e:
             return "Exception occurred < %s >" % e.message
     else:
         return "log files not set in configuration file"
     
     return usage