-
Notifications
You must be signed in to change notification settings - Fork 0
/
ErrorLogTracker.py
59 lines (47 loc) · 1.87 KB
/
ErrorLogTracker.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Çalışmamızda bir uygulamada alınan hataların "LOG KAYITLARINI" kayıt edeceğiz.
# Ayrıca şifreleyerek log tutacağız.
from socket import gethostname, gethostbyname
from datetime import datetime
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
machine_name = gethostname()
ip_address = gethostbyname(gethostname())
error_date = datetime.now()
try:
with open(
file='log.txt',
mode='w',
encoding='utf-8'
) as file:
file.write('Appcalication Exception Logns\n')
try:
age = int(input('Please Type Age : '))
print(f'Your Age Is {age}')
except ValueError as err:
key = get_random_bytes(16)
obj = AES.new(key, AES.MODE_EAX)
chipper_text = obj.encrypt(b'valueerorhappen')
with open(
file='log.txt',
mode='a',
encoding='utf-8'
) as file:
file.write(str(chipper_text))
file.write(' || ')
file.write(f'Machine Name : {machine_name}')
file.write(' || ')
file.write(f'Ip Adress : {ip_address}')
file.write(' || ')
file.write(f'Eror Date : {error_date}')
file.write(' || ')
print('Age Information Have Not Any Character')
except IOError as err:
print(f'{err.__doc__}')
# Kodun Yapısı ve Mantığı;
# İlk try bloğu:
# log.txt dosyasını yazma modunda açar ve başlangıç mesajını yazar.
# Dosya açma veya yazma sırasında bir IOError oluşursa, bu hata yakalanır ve ilgili mesaj ekrana yazdırılır.
# İkinci try bloğu:
# Kullanıcıdan yaş bilgisini alır ve tam sayı olarak dönüştürür.
# Eğer kullanıcı geçerli bir sayı girmezse ValueError oluşur ve bu hata yakalanır.
# ValueError oluştuğunda, AES şifreleme işlemi yapılır ve şifrelenmiş hata mesajı ile ek bilgileri log dosyasına yazar.