错误使用python登录debian

时间:2014-12-25 07:35:55

标签: python linux logging debian error-logging

我有一个使用cron(基于debian的raspberry pi)在autostart上运行的应用程序(使用python脚本)。我正在使用python日志记录模块将日志写入文件,基于应用程序中发生的事件。现在,我希望能够在程序运行时查看程序中任何错误的日志。例如,如果我的一个USB设备损坏,那么当应用程序启动时,它将发出USB设备未找到的错误。是否有任何方法可以在pi上的任何内置日志文件中查看这些错误?或者我们应该在代码中编写错误日志。如果是这样,我如何编写日志来检测错误?

2 个答案:

答案 0 :(得分:2)

例如USB设备断开连接时会出现两种错误:

  1. 系统错误
  2. 应用程序错误
  3. 系统错误是登录内置日志文件(通常在/var/log/中)。在这种情况下,您可以使用rsyslog对文件中的错误进行分类,并使用其他应用程序进行观察。

    在这里,您可以找到一些有用的rsyslog配置:http://wiki.rsyslog.com/index.php/Configuration_Samples

    我相信很明显,如果出现应用程序错误,您应该使用应用程序记录错误并观察它们。

答案 1 :(得分:0)

好的,我根据你的意见重新写了答案: 安装PyUSB

检查USB设备是否正常工作:

def getUSBDeviceStatus(vendor, product):

    #idVendor 0xfffe, idProduct=0x0001
    dev = usb.core.find(idVendor=vendor, idProduct=product)
    if dev is None:
        raise ValueError("Device failed or is not connected!")
    else:
        return 1

根据类型检索日志:

def retrieveLogs(type):

    with open('/home/pi/log/log.log') as file:
        lines = sum(1 for _ in file)

    readerPosition = 0
    readingLine = file.readline() 

    while readerPosition >= lines:

        if readingLine.find(type):
            print readingLine
        readerPosition += 1

PS:我假设您记录了各自的重要性错误。

相关问题