Olli Graf
1 month ago
2 changed files with 63 additions and 0 deletions
@ -0,0 +1,29 @@ |
|||||
|
import logging |
||||
|
from logging import config |
||||
|
import json |
||||
|
import random |
||||
|
|
||||
|
class HalloweenFilter(logging.Filter): |
||||
|
|
||||
|
def __init__(self, params=None): |
||||
|
self.param = params |
||||
|
print('Halloweenfilter initialisiert') |
||||
|
|
||||
|
def filter(self, record:logging.LogRecord)-> bool| logging.LogRecord: |
||||
|
|
||||
|
# Der Unsichtbare soll keine Spuren im Logfile hinterlassen. |
||||
|
return record.getMessage().lower().find('unsichtbar') == -1 |
||||
|
|
||||
|
visitors = ['Werwolf','Gespenst','Hexe','Unsichtbarer','Vampir','Dämon','Gorilla','Hulk','Mumie'] |
||||
|
|
||||
|
treats = ['Bonbons','Twinkies','Lollis','Schokoladen','Kuchen', 'Äpfel'] |
||||
|
|
||||
|
secrets = random.SystemRandom() |
||||
|
|
||||
|
with open('halloween_log_conf.json') as file_config: |
||||
|
config.dictConfig(json.load(file_config)) |
||||
|
for v in visitors: |
||||
|
logging.info(f'An der Tür klopft eine gruselige Gestalt: {v}') |
||||
|
number = secrets._randbelow(20) |
||||
|
treat = secrets.choice(treats) |
||||
|
logging.info(f'Du gibst ihr {number} {treat} und sie zieht weiter') |
@ -0,0 +1,34 @@ |
|||||
|
{ |
||||
|
"version":1, |
||||
|
"filters": { |
||||
|
"halloween":{ |
||||
|
"()": "__main__.HalloweenFilter" |
||||
|
} |
||||
|
}, |
||||
|
"formatters":{ |
||||
|
"std_out":{ |
||||
|
"format": "%(asctime)s : %(levelname)s : %(lineno)d : %(message)s", |
||||
|
"datefmt":"%I:%M:%S %d.%m.%Y" |
||||
|
} |
||||
|
}, |
||||
|
"handlers":{ |
||||
|
"console":{ |
||||
|
"formatter": "std_out", |
||||
|
"class": "logging.StreamHandler", |
||||
|
"level": "DEBUG" |
||||
|
}, |
||||
|
"file":{ |
||||
|
"formatter":"std_out", |
||||
|
"class":"logging.FileHandler", |
||||
|
"level":"DEBUG", |
||||
|
"filename" : "halloween.log", |
||||
|
"filters": ["halloween"] |
||||
|
} |
||||
|
}, |
||||
|
"root":{ |
||||
|
"handlers":["console","file"], |
||||
|
"level": "DEBUG" |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
Loading…
Reference in new issue