On Friday, October 16, 2015 at 11:11:58 PM UTC-7, dieter wrote:
Hello Dieter,
I created the my own class MyLogger and passing log file name to it. I'm seeing no log is being written to passed log file instead everything is written to the logfilename [actually logfilename is variable with file name] I'm trying to create MyLogger object for each telnet session. and use that object.
MyLogger is beeing called inside the Telnetsession class. those are present in PmTelnet3.py file.
class MyLogger():
import logging
def __init__(self,logfilename):
#create logger with 'spam_application'
self.logger = self.logging.getLogger('TelnetSession')
self.logger.setLevel(
self.logging.INFO)
# create file handler which logs even debug messages
#self.fh = self.logging.FileHandler(logfile)
print "The log file name is %s\n" % logfilename
self.logging.basicConfig(filename = logfilename,
level =
self.logging.INFO ,
format= '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d %H:%M',
filemode='w')
# create console handler with a higher log level
self.ch = self.logging.StreamHandler()
def Log(self):
self.logger.setLevel(
self.logging.INFO)
self.fh.setLevel(
self.logging.INFO)
self.ch.setLevel(
self.logging.INFO)
self.fh.setFormatter(self.formatter)
self.ch.setFormatter(self.formatter)
self.logger.addHandler(
self.ch)
class TelnetSession:
import telnetlib
import logging
def __init__(self, inHost, inPort, Logname):
self.log = MyLogger(Logname)
self.telnet = self.telnetlib.Telnet(inHost, inPort)
----------------------------------------------------------------------------
def IP_port(file) :
global Testbed_info
Testbed_info = []
F = open(file, 'r')
F.seek(0)
line = F.read()
tuples = re.findall(r'(.+ \d)\s+(.+?)\s+(\d+)', line)
for (dname, ip, port) in tuples :
LogFileName = dname.replace(" ","") + ".log"
#Log = open(logfile, "a")
#Log = MyLogger(LogFileName)
Telnet_handle=PmTelnet3.TelnetSession(ip,port,LogFileName)
tuple = (dname, ip, port, Telnet_handle )
print tuple
Testbed_info.append(tuple)
#T.append(T1)
return(Testbed_info)
#This function is to switch the console
file = '/users/manmahal/MANJU/IP_port.txt'
Testbed_info = IP_port(file)
print "Iam done"
for (dname, ip, port, Telnet) in Testbed_info :
My_handle = Telnet
#My_log = log
My_handle.Write("\n")
My_handle.Write("show config \n")
time.sleep(2)
output = My_handle.ReadBuffer()
#My_fp.write(My_handle.ReadBuffer())
My_handle.log.logger.info(output)
My_handle.log.logger.info("HI THERE")
Kindly let me know how can I fix this..