2017-07-25 64 views
2

我想寫日誌到文件和標準輸出,因此我使用這段代碼,但是我總是在標準輸出中得到這個ValueError,但是在文件中卻沒有。我在記錄模塊中取得了ValueError python

我想從INFO級別和以上的日誌記錄到達stdout和文件。和DEBUG級別及以上寫入文件。

import logging 

logging.basicConfig(level=logging.DEBUG, 
        format='%(asctime)s %(name)-12s %(levelname)-8s %(funcName)-5s %(message)s', 
        filename='OkanimeDownloader.log', 
        filemode='w') 

console = logging.StreamHandler() 
console.setLevel(logging.INFO) 
formatter = logging.Formatter('%(levelname):-8s %(message)s') 
console.setFormatter(formatter) 
logging.getLogger('').addHandler(console) 



dic = {'Google Drive': 'https://docs.google.com/file/d/0B-fK-jS8DjCeYVVwRWdfWnc1YWs/preview', 'Mega': '//vk.com/video_ext.php?oid=359177611&id=456239042&hash=59d982cc2450bc8d&sd', 'Openload': 'https://openload.co/embed/MVysKUs5rm4/%5BOKanime.com%5D_s%40ks2_-_11_%28animok%29.mp4', 'Streamango': 'https://streamango.com/embed/pnfdsqnedcffrttm/_OKanime_com_s_ks2_-_11_animok_mp4', 'Cloudy': 'https://www.cloudy.ec/embed.php?id=09c53285b6ac4', 'Tune.pk': 'https://embed.tune.pk/play/7147555/okanimecom-sks2-11-animok', 'Mp4upload': 'https://www.mp4upload.com/embed-swz4hesaisnm.html'} 

logging.info('The dic: {}'.format(dic)) 

輸出:

--- Logging error --- 
Traceback (most recent call last): 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 992, in emit 
    msg = self.format(record) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 838, in format 
    return fmt.format(record) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 578, in format 
    s = self.formatMessage(record) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 547, in formatMessage 
    return self._style.format(record) 
    File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/logging/__init__.py", line 391, in format 
    return self._fmt % record.__dict__ 
ValueError: unsupported format character ':' (0x3a) at index 12 
Call stack: 
    File "/Users/hamza/Dropbox/My Py Projects/Okanime/testing json.py", line 18, in <module> 
    logging.info('The dic: {}'.format(dic)) 
Message: "The dic: {'Google Drive': 'https://docs.google.com/file/d/0B-fK-jS8DjCeYVVwRWdfWnc1YWs/preview', 'Mega': '//vk.com/video_ext.php?oid=359177611&id=456239042&hash=59d982cc2450bc8d&sd', 'Openload': 'https://openload.co/embed/MVysKUs5rm4/%5BOKanime.com%5D_s%40ks2_-_11_%28animok%29.mp4', 'Streamango': 'https://streamango.com/embed/pnfdsqnedcffrttm/_OKanime_com_s_ks2_-_11_animok_mp4', 'Cloudy': 'https://www.cloudy.ec/embed.php?id=09c53285b6ac4', 'Tune.pk': 'https://embed.tune.pk/play/7147555/okanimecom-sks2-11-animok', 'Mp4upload': 'https://www.mp4upload.com/embed-swz4hesaisnm.html'}" 
Arguments:() 
+1

你不能把它的日誌文件,因爲它試圖把它的行爲導致錯誤的日誌文件。這就是說,我真的不知道爲什麼記錄模塊不滿意。 – roganjosh

回答

2
formatter = logging.Formatter('%(levelname)-8s : %(message)s') 

這句法修正這個錯誤在格式化

+0

哦,很好。儘管發生了什麼可能是最好的。 – roganjosh

+1

@roganjosh我現在正在挖掘源代碼,可能「:」會導致樣式中的解析錯誤。歡迎任何幫助! – PRMoureu

+0

是的,做到了!感謝人 – Mohamed

相關問題