'Spac 로깅'에 해당되는 글 1건

  1. 2010.02.08 Spac 로깅 (Loging)
Spac 매뉴얼/로깅2010. 2. 8. 21:58

Spac을 이용해 웹사이트를 개발하게되면 Spac 컨트롤러가 URL을 해석해서 적절한 모델클래스를 호출하고 실행하게되는데 이 일련의 과정을 로그로 기록할 수 있습니다.

로그를 기록하기 위해선 Spac 컨트롤러 설정을 해야 합니다.
아래는 로그관련 설정부분입니다.

* Spac/controller/Controller.ini
[loging]
spacFileLoging    = true
spacLogFilePath    = "/home/계정/Spac/logs/spac"
errReport    = true    
errPrintView   = false 
errFileLoging   = true 
errLogFilePath   = "/home/계정/Spac/logs/error"
errPage     = "/error.html"
viewDispatcherSource = false

1. spacFileLoging  : true 로 설정하게 되면 로그 기록이 작동됩니다. 이후부터  Spac 접속로그가 모두 파일로 기록됩니다.
2. spacLogFilePath : 로그 파일이 저장되는 경로입니다.
3. errReport  : 에러발생시 에러내용을 출력할 것인지 여부입니다.
4. errPrintView : 위 3번에서 에러내용을 출력할 경우에 화면으로 보여줄것인지 설정합니다.
5 errFileLoging  : 위의 에러 내용을 파일로 저장합니다.
6. errLogFilePath : 파일로 저장할 경우 저장될 경로를 지정합니다.
7. errPage : 에러를 화면에 출력하지 않을경우 이동할 에러페이지를 지정합니다. (View 경로를 기준으로합니다.)
8. viewDispatcherSource : 화면에 출력할 내용을 소스그대로 출력합니다.(에러와 무관)

* 위의 설정 중 로그파일들이 저장될 경로는 익명으로 파일을 쓰기 가능하도록 퍼미션을 설정합니다.(ex. 707)

* 로그파일은 날짜별로 하루에 1개씩 생성되며, 하루의 로그들은 하나의 파일에 누적되어 저장됩니다.


아래는 Spac 로그의 예입니다.

* Spac/logs/spac/20091205.access.log
### ------------SPAC Access Log-----------###-------------2009-12-05 01:49:23
1. REMOTE_ADDR             : ::1
2. REQUEST_URI             : /User/viewUserRegForm
3. PATH_INFO             : /User/viewUserRegForm
4. QUERY_STRING         :
5. Used urlPathInfo     : /User/viewUserRegForm
6. actionClassName         :
7. actionMethodName     :
8. args                 : Array
(
)

### ------------SPAC Access Log-----------###-------------2009-12-05 01:49:28
1. REMOTE_ADDR접            : ::1
2. REQUEST_URI             : /User/User/viewUserRegForm
3. PATH_INFO             : /User/User/viewUserRegForm
4. QUERY_STRING         :
5. Used urlPathInfo     : /User/User/viewUserRegForm
6. actionClassName         : User
7. actionMethodName     : viewUserRegForm
8. args                 : Array
(
)


각각의 접속 시각이 기록되고 해당 접속의 URL 호출값 및 실행된 액션클래스값을 보여줍니다.

1. REMOTE_ADDR : 접속자의 ip 정보를 보여줍니다. (위의 예제에선 로컬서버에 접속한 이유로 기록되지 않았습니다.)
2. REQUEST_URI : 접속자가 브라우져에 요청한 URL 값입니다.
3. PATH_INFO : 접속자가 브라우져에 요청한 URL 값중 index.php 이하의 path 값을 보여줍니다.
4. QUERY_STRING : 접속자가 브라우져에 요청한 Query String 값을 보여줍니다.(index.html?/Class/Method 방식으로 호출)
5. Used urlPathInfo : 접속자가 호출한 URL 을 분석하여 실제 Spac에서 사용할 Url로 변환된 값입니다.
6. actionClassName : URL을 분석하여 실행된 액션클래스명
7. actionMethodName : URL을 분석하여 실행된 액션클래스내의 메소드명
8. args : 전달된 변수값들을 배열로 보여줍니다.





다음은 에러로그값입니다.

* Spac/logs/spac/20091205.error.log
### ------------SPAC Error Log-----------###-------------2009-12-05 01:49:23
1. REMOTE_ADDR             : ::1
2. REQUEST_URI             : /9User/viewUserRegForm
3. PATH_INFO             : /9User/viewUserRegForm
4. QUERY_STRING         :
5. Used urlPathInfo     : /9User/viewUserRegForm
6. actionClassName         :
7. actionMethodName     :
8. args                 : Array
(
)

9. error Message--------------------------

[클래스명 에러]
에러명 : Class Name Error
에러내용 : 클래스명으로 "9User" 을 사용할 수 없습니다
안내 : 클래스명은 영문대문자로 시작해야하며, 2글자이상이어야 하고, 두번째 글자부턴 영문 대/소문자, 숫자, 언더바(_) 만 사용가능합니다.


위의 로그값은 에러 발생시 생성되는 로그값입니다.
1~8 번까지는 이전의 access 로그의 값과 같습니다..
9. error Message : 에러내용을 출력해줍니다.




Spac 로그 및 에러로그는 접속시마다 많은양의 로그가 누적되어 기록됩니다.
따라서 실제 서비스 운영시 로그파일의 적절한 관리가 필요합니다. (예. 주기적으로 백업후 삭제)
Posted by webdata