Как зарегистрировать действие программы Python в Mac OS X

Я довольно плохо знаком с Python, программируя, таким образом, у меня есть этот вопрос:

Как я могу зарегистрировать активность приложения Python в/var/log с Mac OS X?

Я пытался использовать модуль системного журнала, но это, кажется, ничего не пишет. Я попробовал также регистрирующимся модулем, но я всегда сталкиваюсь с ошибкой разрешения.

Как я могу сделать это?

Обновление:

import logging
import time
LOG_FILENAME = "/var/log/writeup.log" + time.strftime("%Y-%m-%d")
LOG_FORMAT = "%(asctime)s - %(filename)s - %(levelname)s - %(message)s"
log = logging.getLogger("main.py")
log.setLevel(logging.DEBUG)
ch = logging.FileHandler(LOG_FILENAME)
ch.setLevel(logging.DEBUG)
format = logging.Formatter(LOG_FORMAT)
ch.setFormatter(format)
log.addHandler(ch)
14
задан Tim Pietzcker 11 February 2010 в 12:18
поделиться

2 ответа

  string.Compare («+», «-»);
последовательность. Сравнить («+», «-», StringComparison.CurrentCulture);
последовательность. Сравнить («+», «-», StringComparison.InvariantCulture);
последовательность. Сравнить («+», «-», StringComparison.InvariantCultureIgnureCase);

//Весь пропуск

эти два значения равны, так как при этом учитывается ингуизитическая оболочка

FIX:

заменить инвариантное сравнение порядковым. Это означает, что решения основаны на простых сравнениях байтов и игнорируют таблицы обсадных труб или эквивалентности, которые параметризуются культурой.

ссылка: Используйте порядковый номер StringComparison

последовательностей .Compare («+», «-», StringComparison.Ordinal) ;//fail

-121--2467910-

Прежде всего, элемент input не должен иметь закрывающего тэга (от http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT : End тэга: запрещено ).

Во-вторых, вам нужна функция after () , а не append () .

-121--659435-

Я нашел решение. Похоже, что Mac OS X не записывает какую-либо активность журнала ниже LOG_ALERT, поэтому это делает хитрость

import syslog
# Define identifier
syslog.openlog("Python")
# Record a message
syslog.syslog(syslog.LOG_ALERT, "Example message")

Это сообщение записывается в/var/log/system.log

25
ответ дан 1 December 2019 в 10:18
поделиться

проблема в том, что учетная запись, в которой выполняется сценарий, не имеет разрешения на запись в / var / log

Я не знаю насчет особенностей OS X, но я предполагаю, что syslog.syslog ("message") должен напечатать что-то вроде (если он действует так же, как в Linux) 11 февраля 14: 27:47 имя хоста python: сообщение на / var / log / messages

-1
ответ дан 1 December 2019 в 10:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: