파일 대신 데이터베이스에 쓰도록 기본 CakePHP Log() 함수를 재정의해야합니다. 나는 이것이 좋은 아이디어인지 아닌지 상관하지 않는다. 나는 단지 내가 어떻게 $this->Log("blah")
이 될 때 일어나는 일들을 우선 무시할 것인지를 알고 싶다. 둘째, app_controller 나 다른 클래스 내에서 Log 테이블 요소 폼을 어떻게 참조 할 것인가? 에 재정을 수행하고CakePHP Log() 함수를 재정의하는 방법
0
A
답변
1
첫째, 로그를 저장하는 데이터베이스에서 테이블을 작성합니다. 그 안에 app/model
디렉토리 log.php
라는 파일을 생성에서
CREATE TABLE IF NOT EXISTS `logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`message` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
을하고이 코드를 넣어 :
<?php
class Log extends AppModel {
var $name = 'Log';
function write($type, $message) {
$this->save(array(
'Log' => array(
'type' => $type,
'message' => $message
)
));
}
}
로깅 엔진이지만 다른 데이터 소스 나 테이블을 사용하도록 사용자 정의 할 수있는 모델이기도합니다. 유일한 요구 사항은 해당 매개 변수를 허용하는 쓰기 함수입니다.
편집 app/config/bootstrap.php
및 파일의 끝 부분에이 코드를 추가
App::Import('Model','Log');
CakeLog::config('otherFile', array(
'engine' => 'Log',
'model' => 'Log',
));
는 이제 오류 유형에 $this->log($type, $message);
또는 $this->log($message);
하는 기본값으로 로그를 사용할 수 있습니다.
custom logging 엔진을 만드는 방법에 대한 정보는 CakePHP 매뉴얼에 있습니다.
+0
감사합니다. 그것은 결국 내가 생각해 낸 해결책보다 훨씬 더 우아합니다. –
관련 문제
- 1. Extjs에서 lovcombo의 함수를 재정의하는 방법
- 2. 장고, slugify 함수를 재정의하는 방법
- 3. 다른 모듈에있는 함수를 재정의하는 방법
- 4. 함수를 재정의하는 방법은 무엇입니까?
- 5. CakePHP 함수를 만들고보기에서 호출하는 방법
- 6. 호출 모듈에서 create_export_query 함수를 재정의하는 방법
- 7. Drupal에서 테마가 아닌 함수를 재정의하는 방법
- 8. JS 함수를 체인에서 이전에 재정의하는 방법
- 9. Backbone.js의 Paginator.requestPager setDefault 함수를 재정의하는 방법?
- 10. 외부 함수를 재정의하는 방법은 무엇입니까?
- 11. Jquery.ajax 함수를 재정의하는 방법은 무엇입니까?
- 12. 어떻게 도움이 함수를 재정의하는 matlab에?
- 13. 패키지의 함수를 재정의하는 방법은 무엇입니까?
- 14. cakePHP 1.3의 기본 CSS를 재정의하는 방법은 무엇입니까?
- 15. 재정의하는 방법
- 16. console.log를 재정의하는 방법
- 17. grep git log inserts하는 방법?
- 18. Babeltrace-log 사용 방법
- 19. 감사하는 방법 log member.createuser
- 20. quickfix log 재생 방법
- 21. Codec.Archive.Tar의 기능을 재정의하는 방법
- 22. C# : 다른 서비스에서 다중 상속없이 한 클래스의 함수를 재정의하는 방법
- 23. 기본 window.scrollTo 함수를 재정의하는 방법은 무엇입니까?
- 24. C#에서 String 클래스에서 함수를 재정의하는 방법을
- 25. Hashmap put 함수를 재정의하는 방법은 무엇입니까?
- 26. Java에서 fillOval 함수를 재정의하는 방법은 무엇입니까?
- 27. Jquery TimeOut 함수를 중지/재정의하는 방법은 무엇입니까?
- 28. 하위 클래스에서 상위 함수를 재정의하는 방법을 모르겠다
- 29. Javascript의 참조에서 생성자 함수를 재정의하는 방법이 있습니까?
- 30. PHP에서 내장 함수를 재정의하는 방법은 무엇입니까?
CakePHP 버전 업그레이드를 고려해야합니다. 2.x는 1.x보다 훨씬 빠릅니다. 또한 더 많은 가능성을 가지고 있습니다. 그 중 하나는 데이터베이스 로깅입니다. – noslone
v1.3에서 작업해야한다고 가정 해 봅시다. –
그럴 경우 강력한 검색 엔진을 사용해보십시오. [첫 번째 결과] (https://github.com/webtechnick/CakePHP-DatabaseLogger-Plugin) – noslone