Chcę napisać klasę Python, która korzysta z logowania w języku Python. Ta klasa Pythona będzie odpowiedzialna za stworzenie pliku o podanej nazwie w funkcji init.Logowanie do wielu plików dziennika z różnych klas w Pythonie
Chcę utworzyć obiekt powyższej klasy w dwóch lub więcej klasach i oczekiwać wygenerowania dwóch lub plików.
Próbowałem pisać tę klasę, ale nie mogę utworzyć wielu plików.
Czy każdy może mnie poprowadzić w jaki sposób mogę to zrobić?
Utworzono następujące klasy:
class Logger:
def __init__(self, log_filename = "test.log"):
if not os.path.exists("LogFiles"):
os.makedirs("LogFiles")
self.Logger = logging.getLogger("main")
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s : %(message)s',
filename= log_filename,
filemode='w') # change filemode to 'w' to overwrite file on each run
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(message)s')
consoleHandler.setFormatter(formatter)
logging.getLogger('').addHandler(consoleHandler) # Add to the root logger
self.Logger.info("Starting new logging sessions")
def writeToFile(self, line):
if self.Logger.propagate == True:
self.Logger.debug(line)
def closeFile(self):
if self.Logger.propagate == True:
self.Logger.propagate = False
[Logowanie do wielu miejsc docelowych] (http://docs.python.org/2/howto/logging-cookbook.html#logging-to-multiple-dracinations) – jfs
@JFSebastian Wierzę, że nie całkiem robi to, co chce ; wysyła dane wyjściowe z jednego rejestratora do dwóch lokalizacji. Korzysta także z bardzo magicznego rejestrowania nadrzędnego. OP chce wysyłać dane wyjściowe do dwóch różnych lokalizacji z niezależnymi rejestratorami. – jpmc26