답변:
나는 똑같은 일을해야했고 이것이 내가 찾은 해결책입니다.
플래그를 사용하여 명령 행에서 로깅 을 사용 가능하게하십시오 .
--enable-logging --v=1
이것은 Chrome이 내부적으로하는 모든 것을 기록하지만 모든 console.log()
메시지 도 기록합니다 . 로그 파일이 호출 chrome_debug.log
되고에 있습니다 User Data Directory
.
줄에 대해 얻은 로그 파일을 필터링하십시오 CONSOLE(\d+)
.
콘솔 로그는로 표시되지 않습니다 --incognito
.
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-logging --v=1
로그에 저장된 OSX 10.10.3에서 여전히 작동합니다.~/Library/Application Support/Google/Chrome/chrome_debug.log
console.log()
줄은 그 파일 어디에도 없습니다. 누구든지 이것에 대한 수정이 있습니까?
Chrome 개발 도구를 사용하면 콘솔 출력을 파일에 기본적으로 저장할 수 있습니다
Chrome 개발자 지침은 여기에 있습니다 .
{a: 1, b: 2, c: 3, ...}
. 예를 들어 큰 객체는 잘린 형태로 인쇄합니다 (예 :) .
그렇게하는 오픈 소스 자바 스크립트 플러그인이 있지만 모든 브라우저에서 사용할 수 있습니다 -debugout.js
Debugout.js는 애플리케이션이 액세스 할 수 있도록 console.logs를 기록하고 저장합니다. 전체 공개, 나는 그것을 썼다. 다른 유형을 적절하게 형식화하고 중첩 된 오브젝트 및 배열을 처리 할 수 있으며 선택적으로 각 로그 옆에 타임 스탬프를 넣을 수 있습니다. 모든 로깅 문을 제거하지 않고도 한 곳에서 라이브 로깅을 전환 할 수도 있습니다.
나는 이것에 대한 훌륭하고 쉬운 방법을 찾았습니다.
콘솔에서-콘솔 로그 된 객체를 마우스 오른쪽 버튼으로 클릭하십시오
'글로벌 변수로 저장'을 클릭하십시오
새 변수의 이름을보십시오. 예를 들어 variableName1입니다.
콘솔에 입력하십시오. JSON.stringify (variableName1)
변수 문자열 내용을 복사하십시오. 예 : { "a": 1, "b": 2, "c": 3}
도움이 될 수도 있고 아닐 수도 있지만 Windows에서는 Windows 용 이벤트 추적을 사용하여 콘솔 로그를 읽을 수 있습니다.
http://msdn.microsoft.com/en-us/library/ms751538.aspx
통합 테스트는 .NET에서 실행되므로이 방법을 사용하여 테스트 로그에 콘솔 로그를 추가합니다. https://github.com/jkells/chrome-trace 에서 보여주기 위해 샘플 콘솔 프로젝트를 만들었습니다.
--enable-logging --v = 1이 최신 버전의 Chrome에서 작동하지 않는 것 같습니다.
좋은 답변이 많지만 JSON.stringify (your_variable)을 사용하지 않는 이유는 무엇입니까? 그런 다음 복사하여 붙여 넣기를 통해 내용을 가져옵니다 (외부 인용 부호 제거). : 나는에서이 같은 대답을 게시 하는 방법 파일에 CONSOLE.LOG (객체)의 출력을 저장하려면?
console.log
서버의 모든 파일을 JS LogFlush (plug!) 파일에 저장할 수있는 또 다른 오픈 소스 도구가 있습니다 .
JS LogFlush 는 다음을 포함하는 통합 JavaScript 로깅 솔루션입니다.
- 클라이언트 측에서 console.log의 브라우저 간 UI없는 교체-.
- 서버 측의 로그 스토리지 시스템.
로컬 호스트에서 Apache 서버를 실행중인 경우 (프로덕션 서버에서는 수행하지 마십시오) 결과를 콘솔에 쓰는 대신 스크립트에 게시 할 수도 있습니다.
따라서 대신에 console.log
다음을 작성할 수 있습니다.
JSONP('http://localhost/save.php', {fn: 'filename.txt', data: json});
그런 다음 save.php
할 수 있습니다
<?php
$fn = $_REQUEST['fn'];
$data = $_REQUEST['data'];
file_put_contents("path/$fn", $data);
요즘 콘솔 로그에 표시된 항목을 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 저장을 선택하고 전체 로그 출력을 컴퓨터의 파일에 저장하십시오.
이 스레드의 다른 솔루션은 내 Mac에서 작동하지 않았습니다. 다음은 아약스를 사용하여 문자열 표현을 간헐적으로 저장하는 로거입니다. console.save
대신에 사용하십시오console.log
var logFileString="";
var maxLogLength=1024*128;
console.save=function(){
var logArgs={};
for(var i=0; i<arguments.length; i++) logArgs['arg'+i]=arguments[i];
console.log(logArgs);
// keep a string representation of every log
logFileString+=JSON.stringify(logArgs,null,2)+'\n';
// save the string representation when it gets big
if(logFileString.length>maxLogLength){
// send a copy in case race conditions change it mid-save
saveLog(logFileString);
logFileString="";
}
};
필요한 내용에 따라 해당 문자열을 저장하거나 console.log
복사하여 붙여 넣을 수 있습니다. 저장하려는 경우를 위해 아약스가 있습니다.
function saveLog(data){
// do some ajax stuff with data.
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function(){
if (this.readyState == 4 && this.status == 200) {}
}
xhttp.open("POST", 'saveLog.php', true);
xhttp.send(data);
}
는 saveLog.php
로그 파일 어딘가로 데이터를 추가해야합니다. 나는 그 부분이 필요하지 않았으므로 여기에 포함시키지 않았습니다. :)