【问题标题】:Python import syslog on windowsWindows上的Python导入系统日志
【发布时间】:2014-08-27 21:43:07
【问题描述】:

我有一个通常在 unix 机器上运行的 python 脚本,我正在尝试在 Windows 上运行它。我遇到的一个障碍是模块 syslog。有没有人知道我可以在 Windows 机器上解决这个问题的方法,是否有适用于 Windows 的等效包?运行 python 2.7。

【问题讨论】:

标签: python-2.7 syslog


【解决方案1】:

您可以创建 syslog.py 并将其放在 python 路径中的某个位置。 您还可以自定义它以实际写下消息或通过网络发送消息。

下面是我的版本。 (它遗漏了一些函数和常量,因此您可能需要添加更多):

import sys

LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, \
LOG_NOTICE, LOG_INFO, LOG_DEBUG = range(8)

LOG_KERN, LOG_USER, LOG_MAIL, LOG_DAEMON, LOG_AUTH, \
LOG_SYSLOG, LOG_LPR, LOG_NEWS, LOG_UUCP = range(0,65,8)

LOG_CRON = 120
LOG_LOCAL0 = 128
LOG_LOCAL1 = 136
LOG_LOCAL2 = 144
LOG_LOCAL3 = 152
LOG_LOCAL4 = 160
LOG_LOCAL5 = 168
LOG_LOCAL6 = 176
LOG_LOCAL7 = 184

LOG_PID = 1
LOG_CONS = 2
LOG_NDELAY = 8
LOG_NOWAIT = 16

def syslog(message):
pass

def syslog(priority, message):
pass

def openlog(ident=sys.argv[0], logoptions=0, facility=LOG_USER):
pass

def closelog():
pass

def setlogmask(maskpri):
pass

【讨论】:

    【解决方案2】:

    logging”模块应该是您正在寻找的理想选择,尽管它可能需要对代码进行一些重写。它还具有日志记录独立于平台的优点,因此它适用于 Windows 和 *nix,这总是很方便。

    【讨论】:

    • 我希望找到一个不涉及重写代码的解决方案,因为这种情况仅适用于在本地 Windows 上开发。它通常在linux上运行。由于遇到这个模块导入问题,我目前看不到解决方法。
    猜你喜欢
    • 2015-11-29
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 2013-01-03
    相关资源
    最近更新 更多