import logging query = 'http://{ADDR}/query/ta?begin={BEGIN}&end={END}' log_file = 'log_file.txt' logging.basicConfig(filename=log_file, level=logging.INFO, filemode='a', format='%(levelname)-8s %(asctime)s %(message) 19s', datefmt='%Y-%m-%d %H:%M:%S') init_datetime = datetime.now().strftime('%Y%m%d') current_datetime = datetime.now().strftime('%Y%m%d') query = query.format(ADDR='some.controller.ru', BEGIN=init_datetime, END=current_datetime) logging.info(query) try: resp = request.urlopen(query) body = resp.readall() logging.info(body) except Exception: logging.error(traceback.format_exc()) # вот конкретно вывод отладочной инфы во много строк смотрися некрасиво, всё съезжает налево, после отступа на новую строку в файле.
Вот примерный вывод в файле:
INFO 2013-08-02 10:52:03 http://some.controller.ru/query/ta?begin=20130802&end=20130802
ERROR 2013-08-02 10:52:03 Traceback (most recent call last):
File "C:\Python32\lib\urllib\request.py", line 1140, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "C:\Python32\lib\http\client.py", line 983, in request
self._send_request(method, url, body, headers)
File "C:\Python32\lib\http\client.py", line 1021, in _send_request
self.endheaders(body)
File "C:\Python32\lib\http\client.py", line 979, in endheaders
self._send_output(message_body)
File "C:\Python32\lib\http\client.py", line 824, in _send_output
self.send(msg)
File "C:\Python32\lib\http\client.py", line 762, in send
self.connect()
File "C:\Python32\lib\http\client.py", line 740, in connect
self.timeout, self.source_address)
File "C:\Python32\lib\socket.py", line 408, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 11004] getaddrinfo failed
Помогите сместить вывод logging.error(traceback.format_exc()) направо. Чтоб было примерно так:
INFO 2013-08-02 10:52:03 http://some.controller.ru/query/ta?begin=20130802&end=20130802
ERROR 2013-08-02 10:52:03 Traceback (most recent call last):
File "C:\Python32\lib\urllib\request.py", line 1140, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "C:\Python32\lib\http\client.py", line 983, in request
self._send_request(method, url, body, headers)