처음부터 차근차근

로그 본문

Framework/CodeIgniter

로그

_soyoung 2021. 10. 26. 14:31
반응형
Debugging

 

De(~를 제거) + bug(버그, 오류)

Debugging이란, 애플리케이션의 error(bug)를 제거하는 것이다.

 

 

 

 

log

 

디버깅에서 중요하게 사용되는 방법 중 하나이다.

log란 CodeIgniter에서 제공하는 기능 중 하나로,

지금 웹 애플리케이션이 내부적으로 어떻게 흘러가는지, 변수 안에 어떤 값이 저장되어있는지, 어디서 오류가 났는지 등을 알 수 있다.

 

 

 

 

logging 하는 법

 

log_threshold 값을 4로 바꿔 모든 메세지가 출력될 수 있도록 만든다.

(다른 값을 넣어도 상관 없음)

log_threshold의 값이 의미하는 바는 다음과 같다.

 

0 = 로그 비활성화. 로그를 기록하지 않음.

1 = Error 메세지 기록.

2 = Debug 메세지 기록 (Error 메세지 포함).

3 = Informational 메세지 기록 (Error, Debug 포함).

4 = 모든 메세지 기록.

 

(필자는 모든 메세지를 보려는 목적이기 때문에 4로 지정했다.)

이렇게 하면 log를 볼 준비는 끝났다.

그 다음 웹 페이지로 가서 새로 고침 버튼을 누르면 log가 생긴다.

 

 

로그 기록은 application / logs 아래에 php파일로 생성된다.

파일 이름은 log-년-월-일.php 로 만들어진다.

 

log의 내용

log 예시

DEBUG는 옆에 있는 내용이 Debug 정보라는 뜻이다.

INFO는 말 그대로 정보를 나타낸다.

어떤 순서로 클래스를 초기화하는지, 어떤 파일이 로드 되었는지 상세하게 알 수 있다.

 

log는 화면이 redirect 되거나 새로 고침할 때 마다 생긴다.

그리고 처음 부터 끝까지 이어져서 다시 출력된다.

그림 상에서 보이는 것 처럼 INFO부터 DEBUG까지 쭉 다시 다 만들어진다는 얘기이다.

 

 

에러가 나면 다음과 같이 log 메세지가 뜬다.

왜 오류가 났는지, 어떤 파일에서 오류가 났는지 상세하게 볼 수 있다.

 

 

 

 

log_message()

 

CodeIgniter에서 기본적으로 제공하는 log_message() 함수를 사용하면 로그를 추가할 수 있다.

 

log_message() 코드

log_message('로그타입', '로그 메세지')

로그 타입은 밑줄 친 부분을 의미한다.

로그 메세지는 밑줄 친 부분에 나오는 메세지 이다.

 

예시1)

Page 클래스가 초기화 될 때 log message를 출력하고 싶기 때문에 Page 클래스의 생성자에다 log_message()함수를 적는다.

 

웹 페이지를 새로 고침하고 log 파일을 보면

Page 클래스가 초기화 될 때 내가 적은 log message가 출력됨을 알 수 있다.

 

 

예시2)

변수에 현재 어떤 값이 들어갔나 확인할 수 도 있다.

 

 

 

 

로그로 error 핸들링하기

 

CodeIgniter에서 기본으로 제공한는 show_error() 함수를 사용하면 error가 났을 시 error페이지로 가고 원하는 error메세지를 출력할 수 있게 할 수 있다.

 

show_error()

show_error('error 메세지');

 

예시)

data 변수 안에 값이 없다면 로그 메세지를 출력하고, error 페이지로 이동시킨다.

 

결과

 

 

 

 

 

 

 

출처 : 'CodeIgniter - 생활코딩' 변형 및 요약

반응형

'Framework > CodeIgniter' 카테고리의 다른 글

CKEditor  (0) 2021.11.03
파일 업로드  (0) 2021.11.02
CodeIgniter 설정  (0) 2021.10.25
Form Validation  (0) 2021.10.17
Helper  (0) 2021.10.13
Comments