2017-11-20 3 views
-3

아래 내 파이썬 코드 :로그 파일이 전혀 생성되지 않는 이유는 무엇입니까?

#!/usr/bin/env 
# coding=utf-8 
import logging 
from Main_Package.General_Functions.Functions import 

login,search_by_customer_id,add_subscriber_iden_and_activate,/ 
click_on_popup,browser,test_failed,test_passed 

FILE_NAME='/newlog.log' 
logging.basicConfig(filename=FILE_NAME,level=logging.DEBUG) 
logging.debug('This message should go to the log file') 

try: 
    login() 
    search_by_customer_id() 
    add_subscriber_iden_and_activate() 
    click_on_popup() 
#******************validating the status after/
activation********************************** 
    status=browser.find_element_by_css_selector("#main_details_tbl/
    > tbody > tr:nth-child(8) > td:nth-child(2)").text 
    if status=="Active": 
     test_passed() 
    else: 
     test_failed() 
except: 
    logging.exception("something") 

browser.quit() 

내 파이썬는 스크립트하지만, 로그 파일, 왜 전혀 생성되지 않습니다이다 기능의 전체 세트에 대한 예외를 잡으려면 ???

+1

당신 때문에 파일 경로 포인트 FS 루트로, sudo''로 스크립트를 실행하고 거기 –

+0

작성 아니, 내가 pycharm의 IDE를 통해 그것을 실행하는거야 특별한'su' 권한이 필요합니다. –

+0

그런 다음'FILE_NAME = 'newlog.log''처럼'FILE_NAME'에서 선행 슬래시를 제거한 다음, 실행중인 파이썬 코드가있는 폴더에서 파일을 찾으십시오. –

답변

1

마찬가지로 @DexJ mentioend는 파일 이름 앞에 슬래시가 없는지 확인하십시오. 당신이 어딘가에 쓰고 있다면 당신은 실수를해서는 안됩니다.

이제 문제가 있습니다 : 특정 오류가 발생하지 않았으며, 어떤 이유로 인해 Python 3이 그 것을 좋아하지 않습니다. 왜 이런 일이 일어나는 지 정확히 아는 분은 더 깊은 설명을 추가해 주시기 바랍니다. 여기

당신이 그것을 변경해야 할 작업은 다음과 같습니다

import logging 

FILE_NAME='newlog.log' 
logging.basicConfig(filename=FILE_NAME, level=logging.DEBUG) 
logging.debug('This message should go to the log file') 

try: 
    raise RuntimeError('Test error') 
# Catch your error specifically, a bare except doesn't seem to work here 
except RuntimeError: 
    logging.debug('RuntimeError caught') 

이 나에게 내용으로 로그 파일 'newlog.log'제공 :

DEBUG:root:This message should go to the log file 
DEBUG:root:RuntimeError caught 

는 확실히 newlog.log하지 않는 확인을 스크립트가 실행되는 디렉토리에 이미 있습니다.

+0

에서 언급 한 라인 –

+0

, 당신은 로그 디렉토리에 로그인해야 당연하지하고 로그 파일 제목에 시간을 포함하도록 설정 (또는 그렇지 않으면 새 로그를 작성하는 몇 가지 자동 방법을 가지고). 나는 OP가 왜 그/그녀의 로깅이 작동하지 않는지 알고 싶어하고 이것에 더하여 전체 로깅 시스템을 설정할 것입니다. – Shayn

+0

놀라운 !!!! 완벽하게 작동! –

0

슬래시없이 파일 이름을 사용해야합니다.

그냥 다음과 같이 실행합니다 쓰기 '/newlog.log'는 파일 이름 newlog.log 위치 '/'(주 Linux 디렉토리)에 주석 후

#USE, 
FILE_NAME='./newlog.log' 
OR 
FILE_NAME ='newlog.log' 

업데이 트를 작성하는 것을 의미합니다 라인을 검사하고 파일을 만들지 확인하거나 로깅 모듈이 문제가 없는지 확인하십시오!

import logging 
from Main_Package.General_Functions.Functions import 

FILE_NAME='./newlog.log' 
logging.basicConfig(filename=FILE_NAME,level=logging.DEBUG) 
logging.debug('This message should go to the log file') 
+0

가 이미 완료 알고 있어야하고 같은 결과는 --->에는 파일이 생성되지 않았습니다 파일 이름 만? 당신이 창문에 있기 때문에/'당신을 위해 작동하지 않습니다. 그리고 여전히 직면한다면 폴더의 전체 경로로 시도하십시오. –

+0

그냥 내 코드에 있다고 metion 할에 누군가가 대답은 ..... –

+0

C : \ MiBAS_Automation_Python –

관련 문제