[PHP] 텍스트(txt)파일로그 남기기 함수

2018. 12. 10. 16:45IT

PHP작업 시 실행되는 함수나, 특정기능에 대해 로그를 남길일이 생긴다.
하지만, 보통 DB에 테이블을 만들어 로그를 만들어도 되지만, 빈번한 로그 생성 시
DB에 부하를 줄 수 있다 생각이 들게된다.

아래 코드는 해당년도로 폴더를 만들고, 그다음에 월, 또 그다음은 일자로 txt파일을 생성하여 
로그를 남기게 된다.


function fn_logSave($log){ //로그내용 인자
		$logPathDir = "/www/_log";  //로그위치 지정

		$filePath = $logPathDir."/".date("Y")."/".date("n");
		$folderName1 = date("Y"); //폴더 1 년도 생성
		$folderName2 = date("n"); //폴더 2 월 생성

		if(!is_dir($logPathDir."/".$folderName1)){
			mkdir($logPathDir."/".$folderName1, 0777);
		}
		
		if(!is_dir($logPathDir."/".$folderName1."/".$folderName2)){
			mkdir(($logPathDir."/".$folderName1."/".$folderName2), 0777);
		}
			
			$log_file = fopen($logPathDir."/".$folderName1."/".$folderName2."/".date("Ymd").".txt", "a");
			fwrite($log_file, $log."\r\n");
			fclose($log_file);
	}