웹마스터 팁
page_full_width">
디버그모드 변경하는 간단한 파이썬 스크립트
2008.04.23 10:25
디버그를 할 때마다 config.inc.php를 편집하고 tail -f 입력하는게 귀찮아서, 간단한 스크립트를 만들었습니다.
실행할때마다 __DEBUG__ 변수의 값을 1 / 0 으로 전환해주며, 자동으로 tail 명령을 시작합니다.
테스트 환경은 zbxe 1.0.2 / python 2.4.3 입니다.
코드는 아래와 같습니다. (python 및 zbxe의 경로는 본인 환경에 맞게 설정하시기 바랍니다.)
만약을 대비해 사용전에 config.inc.php를 꼭 백업해 두시기 바랍니다.
실행할때마다 __DEBUG__ 변수의 값을 1 / 0 으로 전환해주며, 자동으로 tail 명령을 시작합니다.
테스트 환경은 zbxe 1.0.2 / python 2.4.3 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [setzer@blackjack ~]$ chmod +x pz.py [setzer@blackjack ~]$ ./pz.py __DEBUG__ : 1 > 0 [setzer@blackjack ~]$ ./pz.py __DEBUG__ : 0 > 1 ** Debug at 2008-04-23 09:43:01 ************************************************************ - Request/ Response info Request URI : m9.pe.kr:80/zbxe/index.php Request method : POST Response method : XMLRPC Response contents size : 66 byte Total elapsed time : 0.04494 sec |
코드는 아래와 같습니다. (python 및 zbxe의 경로는 본인 환경에 맞게 설정하시기 바랍니다.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #!/usr/bin/env python # *-* coding: utf-8 -*- zb_path = "html/zbxe/" zbcfg_path = zb_path + "config/config.inc.php" zbmsg_path = zb_path + "files/_debug_message.php" import re #config.inc.php를 읽어 raw로 반환 def zbcfg_raw(contents = None ): if contents ! = None : f = open (zbcfg_path, "w" ) f.write(contents) f.close() return open (zbcfg_path, "r" ).read() #raw에서 에서 변수의 값을 찾아 반환. 값이 주어지면 raw에서 값을 변경하여 반환 def zbcfg_var_value(raw, name, value = None ): p = re. compile ( "^( define\(\'__" + name + "__\', )([0-3])(\);)$" ,re.MULTILINE) if value ! = None : raw = p.sub( "\g<1>" + value + "\g<3>" , raw) return p.search(raw).group( 2 ), raw oldval, oldraw = zbcfg_var_value(zbcfg_raw(), "DEBUG" ) newval, newraw = zbcfg_var_value(oldraw, "DEBUG" , [ '0' , '1' ][oldval = = '0' ]) print "__DEBUG__ : " + oldval + " => " + newval zbcfg_raw(newraw) if newval ! = "0" : req = raw_input ( "tail? (Y/n)" ) if req ! = "n" : import os os.system( "tail -f " + zbmsg_path) |
만약을 대비해 사용전에 config.inc.php를 꼭 백업해 두시기 바랍니다.
댓글 4
-
Capyou
2008.04.26 14:03
-
mmx900
2008.04.28 10:05
debugPrint() 함수의 결과값을 파일로 받을 때 config.php의 값 변경 및 tail 실행을 일일이 에디터에 들어가서 할 필요 없이 자동으로 하게 하는 스크립트입니다.
모듈 등을 개발하시는 분들에게나 의미가 있는 내용입니다. -
11
2008.04.29 12:42
asdasdsdf
sdfsdklfsaf
sdfjlsdjfsdf
sdfjslkdfjsdf
sdfsdSyntaxHighlighter -
푸름빠
2011.03.28 15:48
config.inc.php에서
define('__DEBUG_DB_OUTPUT__', 1);
요렇게 하면 화면상에 디비쿼리가 출력되는거 아닌가요?
안나오네요 쩝...ㅠㅠ 알려주시면 감사하겠습니다
저는 초보라서 모르겠어요 ㅠ.ㅜ