2015-06-11 3 views
0

У меня есть модуль, который должен сделать некоторые протоколирования:Logging не работает, если я импортировать модуль

import logging 
logging.basicConfig(filename='example.log',level=logging.DEBUG) 
def do_something(): 
    logging.info("I did something") 

Теперь, если я позвоню модуль, пусть это будет module.py, то он не будет делать регистрацию:

import module 
module.do_something() 

Даже не создан файл журнала! Где ошибка?

+0

Вы читали, например, https://docs.python.org/2/howto/logging.html#logging-from-multiple-modules? – jonrsharpe

+0

уверен, но, может быть, я ошибся в размышлении, если вы видите вопрос, просто скажите мне! – varantir

+0

Может быть, двоеточие после 'module.do_something():'? – Zenadix

ответ

0

Иногда вам нужно указать полный путь к файлу журнала. Попробуй это. Например:

import logging 
logging.basicConfig(filename='C:/workspace/logging_proj/src/example.log',level=logging.DEBUG) 

или вы можете иметь Python сделать это для вас:

import os 
import logging 
LOG_FILENAME = os.path.join(os.path.dirname(__file__), 'example.log') 
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG) 
Смежные вопросы