The code below gives me the following output:
2012-11-15 09:04:28,482_pid:6060_DEBUG_ ~ 1 Log
2012-11-15 09:04:28,496_pid:6060_DEBUG_ ~ 2 Log
2012-11-15 09:04:28,496_pid:6060_DEBUG_ ~ 2 Log
2012-11-15 09:04:28,513_pid:6060_DEBUG_ ~ 3 Log
2012-11-15 09:04:28,513_pid:6060_DEBUG_ ~ 3 Log
2012-11-15 09:04:28,513_pid:6060_DEBUG_ ~ 3 Log
but, I am wanting this:
2012-11-15 09:04:28,482_pid:6060_DEBUG_ ~ 1 Log
2012-11-15 09:04:28,496_pid:6060_DEBUG_ ~ 2 Log
2012-11-15 09:04:28,513_pid:6060_DEBUG_ ~ 3 Log
I'm nearly certain the failure stems from my poor understanding of how to utilize the class.
-Python 3.3
Code:
import os
import time
import logging
class BaseLog:
def Log(self, sToLog):
#formatter and logger
formatter = logging.Formatter("%(asctime)s_pid:%(process)d_%(levelname)s_ ~ %(message)s")
sLogName = "Random_File_Name"
logger = logging.getLogger(sLogName)
logger.setLevel(logging.DEBUG)
#file handler
FileHandler = logging.FileHandler("logs\\" + sLogName + "_" + time.strftime("%Y%m%d", time.localtime()) + ".log")
FileHandler.setLevel(logging.DEBUG)
FileHandler.setFormatter(formatter)
logger.addHandler(FileHandler)
#console handler
ConsoleHandler = logging.StreamHandler()
ConsoleHandler.setLevel(logging.DEBUG)
ConsoleHandler.setFormatter(formatter)
logger.addHandler(ConsoleHandler)
logger.debug(sToLog)
#end def
#end class
oLog = BaseLog()
oLog.Log("1 Log")
oLog.Log("2 Log")
oLog.Log("3 Log")
Any advice that gets me closer to resolution would be helpful.