로그가 등록되는 방법을 함수가 정의하는 log.py 모듈을 만들었습니다. 여기서 원자 코드 :파이썬 - 여러 파일에 대한 로거
import logging
import time
def set_up_log():
"""
Create a logging file.
"""
#
# Create the parent logger.
#
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
#
# Create a file as handler.
#
file_handler = logging.FileHandler('report\\activity.log')
file_handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(filename)s - %(name)s - % (levelname)4s - %(message)s')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
#
# Start recording.
#
logger.info('______ STARTS RECORDING _______')
if __name__=='__main__':
set_up_log()
잠재적 오류를 기록하는이 log.py를 사용 read_file.py라는 2 모듈.
No handlers could be found for logger "__main__"
파일의 내 결과는 다음과
2014-05-12 13:32:58,690 - log.py - log - INFO - ______ STARTS RECORDING _______
I는 명령 프롬프트가 read_file.py을 런칭에
import logging
import log
log.set_up_log()
logger = logging.getLogger(__name__)
def read_bb_file(input_file):
"""
Input_file must be the path.
Open the source_name and read the content. Return the result.
"""
content = list()
logger.info('noi')
try:
file = open(input_file, 'r')
except IOError, e:
logger.error(e)
else:
for line in file:
str = line.rstrip('\n\r')
content.append(str)
file.close()
return content
if __name__ == "__main__":
logger.info("begin execution")
c = read_bb_file('textatraiter.out')
logger.info("end execution")
, 나는이 오류 여기와 파이 닥에 대해 많은 주제를 읽었지 만 나는 이해하지 못했다. 나는이 오류가 있기 때문에 제대로. 나는 함수에 로그 합의 appart를 유지하고 그것을 나의 주된 방법으로 명시 적으로 정의하고 싶지 않다.
완벽하게 질문에 대답, 두 번째 로거 실제로 구성되어 있지 않습니다! 고마워, 난 마지막으로 귀하의 링크를 선택하지 않음으로써 기능을하지만 루트 logger 파일에 logger 파일과 매개 변수 '__name__'와 함께 로거를 설정하여 read_file.py! –
@Alek_San, 그런 다음 "받아들이 기"를 고려하십시오. 이는 일반적인 질문이므로 SO 문제가 해결됩니다. –