Форум сайта python.su
Доброго времени суток.
Необходимо записать логи в файл удалённо.
Имеется следующий код
import os
import time
import logging
import logging.handlers
import httplib2
import urllib2
from logging.handlers import HTTPHandler
# create logger
logger = logging.getLogger("simple_example")
#logger.setLevel(logging.DEBUG)
# create handler
http_handler = logging.handlers.HTTPHandler("ip-adress:80","/var/www/public/log",method="POST")
# create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
# add formatter
http_handler.setFormatter(formatter)
# add http_handler to logger
logger.addHandler(http_handler)
# "application" code
logger.debug("debug message")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
logger.critical("critical message")
time.sleep(20)
http_handler.close()
Офлайн
firewall?
Я тупо запустил в одной консоли python -m SimpleHTTPServer 8000 и исправил в вашем скрипте ip-adress:80 на localhost:8000 и прекрасно увидел попытки отправить запрос.
Офлайн
firewall отключен.
Edтаким способом я тоже вижу попытки, но когда отправляю на порт 80 и включаю apache в режиме debug никаких признаков жизни.
запустил в одной консоли python -m SimpleHTTPServer 8000 и исправил в вашем скрипте ip-adress:80 на localhost:8000 и прекрасно увидел попытки отправить запрос.
Офлайн
Здесь
logging.handlers.HTTPHandler(“ip-adress:80”,“/var/www/public/log”,method=“POST”)
вторым параметром должен быть URL, а не файл, куда должен писаться лог:
logging.handlers.HTTPHandler(“ip-adress:80”,“logscript”,method=“POST”)
Запросы принимает скрипт по указанному URL и уже скрипт пишет лог или делаем что вам нужно.
Проверьте, чтобы к http://ip-adress:80/logscript можно было обратиться из браузера.
Офлайн
safariХм. Ну давайте запустим тоже самое на 80м порту, делов-то:
firewall отключен.
…
таким способом я тоже вижу попытки, но когда отправляю на порт 80 и включаю apache в режиме debug никаких признаков жизни.
$ sudo python -m SimpleHTTPServer 80
Serving HTTP on 0.0.0.0 port 80 ...
localhost - - [24/Jun/2011 14:48:16] code 501, message Unsupported method ('POST')
localhost - - [24/Jun/2011 14:48:16] "POST /var/www/public/log HTTP/1.0" 501 -
localhost - - [24/Jun/2011 14:48:16] code 501, message Unsupported method ('POST')
localhost - - [24/Jun/2011 14:48:16] "POST /var/www/public/log HTTP/1.0" 501 -
localhost - - [24/Jun/2011 14:48:16] code 501, message Unsupported method ('POST')
localhost - - [24/Jun/2011 14:48:16] "POST /var/www/public/log HTTP/1.0" 501 -
Офлайн