You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1022 B
37 lines
1022 B
import logging
|
|
from logging import config
|
|
import json
|
|
|
|
# Filter definieren
|
|
class DruckFilter(logging.Filter):
|
|
|
|
def __init__(self, params=None):
|
|
self.param = params
|
|
print('Druckfilter initialisiert')
|
|
|
|
def filter(self, record:logging.LogRecord)-> bool| logging.LogRecord:
|
|
|
|
# nur Text, der das Wort Druck enthält soll geloggt werden.
|
|
return record.getMessage().lower().find('druck') > -1
|
|
|
|
|
|
# Config aus JSON Datei laden und setzen
|
|
|
|
with open('log_config.json') as file_config:
|
|
config.dictConfig(json.load(file_config))
|
|
|
|
|
|
# Logging testen
|
|
def testlogging():
|
|
print('testlogging() aufgerufen.')
|
|
logging.debug('Diese Zeile wird ausgefiltert.')
|
|
logging.debug('DEBUG/Druckdaten werden gesendet.')
|
|
logging.info('INFO/Es werden 2 Seiten gedruckt')
|
|
logging.debug('Diese Zeile wird auch ausgefiltert.')
|
|
logging.warning('WARN/nicht genügend Papier im Drucker')
|
|
logging.error('ERROR/Drucker nicht gefunden.')
|
|
logging.critical('CRITICAL/Drucker brennt')
|
|
|
|
if __name__ == '__main__':
|
|
testlogging()
|
|
|
|
|