2016-04-08 13 views
2

Im folgenden Code (in dem der Fehler aufgetreten ist), ist der Fehler in Zeile 7 jedoch in Zeile zeigt Fehler log 10, wobei die Protokollierung erwähnt wird.wie genaue Zeilennummer zum Anzeigen in Protokollierungs Bibliothek

import logging 
import urllib2 
logging.basicConfig(filename='example.log',level=logging.DEBUG,format='%(levelname) -10s %(asctime)s %(module)s:%(lineno)s %(funcName)s %(message)s') 
def main(): 
    try: 
     urls = "http://www.simplyhired.com/a/job-detaw/jobkey-67b4efe169eee7b2cf2ed47d49b1845070ea37/rid-racliggzfyjgqwfzrlvnqyjtcserhrri/cjp-3/pub_id-1002" 
     site = urllib2.urlopen(urls).read() 
     mathfail = 1/0 
    except Exception, e: 
     logging.critical(str(e)) 

main() 

Nach in Protokoll wird angezeigt:

CRITICAL 2016-04-08 15:28:47,063 testt:10 main HTTP Error 404: Not Found 

ich es will Zeilennummer angezeigt, wo der Fehler aufgetreten ist, und nicht die Zeilennummer, wo die Protokollierung erwähnt wird. Es sollte 7 Zeile angezeigt werden und die Linie nicht mehr als 10

Antwort

0

Das gibt mir die erwartete Ausgabe:

import logging 
import urllib2 
logging.basicConfig(filename='example.log',level=logging.DEBUG,format='%(levelname) -10s %(asctime)s %(module)s:%(lineno)s %(funcName)s %(message)s') 
def main(): 
    try: 
     urls = "http://www.simplyhired.com/a/job-detaw/jobkey-67b4efe169eee7b2cf2ed47d49b1845070ea37/rid-racliggzfyjgqwfzrlvnqyjtcserhrri/cjp-3/pub_id-1002" 
     site = urllib2.urlopen(urls).read() 
     mathfail = 1/0 
    except Exception, e: 
     logging.exception(str(e)) 

main() 

Ausgabe in der Protokolldatei ist:

ERROR  2016-04-08 16:18:35,430 testt:10 main HTTP Error 404: Not Found 
Traceback (most recent call last): 
    File "testt.py", line 7, in main 
    site = urllib2.urlopen(urls).read() 
    File "/home/deepu/anaconda/lib/python2.7/urllib2.py", line 154, in urlopen 
    return opener.open(url, data, timeout) 
    File "/home/deepu/anaconda/lib/python2.7/urllib2.py", line 437, in open 
    response = meth(req, response) 
    File "/home/deepu/anaconda/lib/python2.7/urllib2.py", line 550, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/home/deepu/anaconda/lib/python2.7/urllib2.py", line 475, in error 
    return self._call_chain(*args) 
    File "/home/deepu/anaconda/lib/python2.7/urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "/home/deepu/anaconda/lib/python2.7/urllib2.py", line 558, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
HTTPError: HTTP Error 404: Not Found 
0

Ich glaube, Sie für Stapel Spur suchen

import logging 
import urllib2 
import traceback 
logging.basicConfig(filename='example.log',level=logging.DEBUG,format='%(levelname) -10s %(asctime)s %(module)s:%(lineno)s %(funcName)s %(message)s') 
def main(): 
    try: 
     urls = "http://www.simplyhired.com/a/job-detaw/jobkey-67b4efe169eee7b2cf2ed47d49b1845070ea37/rid-racliggzfyjgqwfzrlvnqyjtcserhrri/cjp-3/pub_id-1002" 
     site = urllib2.urlopen(urls).read() 
     mathfail = 1/0 
    except Exception: 
     logging.critical(traceback.format_exc()) 

main() 
+0

Das ist nicht das, was ich suche. Es muss protokolliert werden. – dsl1990

+0

@ dsl1990 Sie es ändern können logging.critical (traceback.format_exc()) – galaxyan