Mage :: log ()가 Magento에서 사용하는 모든 파일에 로그인하지 않습니까?


11

나는 덮어왔다 Sitemap.phpapp/code/local/Mage/Sitemap/Model/Sitemap.php. 파일이 사용 된 것 같습니다. 모든 내용을 제거하면 예상대로 오류가 있습니다.

Sitemap.php한 번의 변경으로 표준의 전체 내용을 복사했습니다 . 나는 덧붙였다

public function generateXml() {
    Mage::log('test');
    ...
}

내가 다른 곳에서는이 작업을 수행 할 때, 그것은 인쇄 testvar/log/system.log예상대로 만이 파일에,이 메시지를 기록하지 않습니다.

어떤 도움이라도 대단히 감사합니다


편집하다

사용

Mage::log('text', null, <file>, true);

작동하지 않습니다


시스템 구성에서 로깅이 활성화되어 있습니까? 가 var/log/웹 사용자 (쓰기 권한을 apache, httpd, www-data, 등)
musicliftsme

로깅은에서 작동 SitemapController.php하므로 그렇습니다. 그리고 네 var/log쓰기 가능합니다. 아이디어 주셔서 감사합니다
Yorrd

아마도 메이지 코어가로드되지 않았습니까? 아마도 Mage :: app () 시도
Tim Hallman

@TimHallman 어떻게 마 젠토가 코어없이 작동할까요? 사이트는 정상적으로 작동합니다
Yorrd

sitemap.php이기 때문입니다. app/code/local/Mage/Sitemap/Model/Observer.php대신 로그인하십시오Sitemap.php
Tim Hallman

답변:


12

파일이로드되었지만 메소드가 호출되지 않았다고 가정합니다. 따라서 die()메소드에 중단 점 (또는 나쁜 방법 a )을 설정하고 호출되는지 확인하십시오.

Mage::log적어도 $force매개 변수를 사용하여 magento가 초기화 된 후 로그를 기록합니다.


예. 감사. 제 generateXml이로드되지 않은 다른 질문을 열 것 같습니다. 아니요. 중단 점에 도달하지 않습니다.
Yorrd

29

사용하십시오 Mage::log('text here', null, 'system.log', true).
항상 작동합니다.


또는 예를 들어 사이트 맵 로그에 임의의 항목을 혼합하지 않으려는 경우를 대비하여 sitemap.log가 있습니다.
Julien Lachal

@JulienLachal. 진실. 파일 이름은 무엇이든 가능합니다.
Marius

내 편집 내용을 참조하십시오, 이것은 작동하지 않습니다
Yorrd

2

여기서 또 다른 추측-사이트 맵 생성은 일반적으로 크론 작업에 의해 트리거됩니다. cronjob이 웹 사용자와 다른 사용자로 실행되고 기존 system.log 파일에 쓸 수있는 권한이 없으면 항목이 없습니다.


사실이지만 사이트 맵 관리 페이지에서 "생성"을 클릭하여 테스트하고 있습니다. 그래서 나는 그가 허락을 받아야한다고 가정합니다. 편집 : 권한이 777로 설정되어 있으면 작동하지 않습니다
Yorrd

0

var/폴더에 올바른 권한을 부여하십시오 .

chmod -Rv 777 var/

아래 코드와 같이 사용하십시오.

Mage::log(print_r($yourTest), null, 'customLogFile.log', true);

인 print_r은 당신의 변수의 타입에 관련된 몇 가지 오류를 방지 할 수 있습니다.


0

이 줄을 함수 나 파일에 넣으십시오

마법사 :: log ( "귀하의 메시지-", null, 'your-log-filename.log');

이 파일은 루트 폴더 경로 내부에 다음과 같이 생성됩니다.

/var/log/your-log-filename.log

그것이 당신에게 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.