log4javascript는 log4javascript js 파일의 행 번호를 인쇄합니다.log4javascript - 로그 메시지의 행 번호
로그 메시지 .... log4javascript_uncompressed.js 없습니다 :
1881은 어떻게 더 라인을 인쇄 할 수있는 실제 로그는 로그 메시지에 위치? 예 : 로그 메시지가 .... app.js : 15
log4javascript는 log4javascript js 파일의 행 번호를 인쇄합니다.log4javascript - 로그 메시지의 행 번호
로그 메시지 .... log4javascript_uncompressed.js 없습니다 :
1881은 어떻게 더 라인을 인쇄 할 수있는 실제 로그는 로그 메시지에 위치? 예 : 로그 메시지가 .... app.js : 15
AFAIK는, log4javascript에있는 PatternLayout을 파일 이름/행 번호의 지시자를 구현하지 않습니다. 여러 사용자가 이에 대한 기능 요청을했습니다. 팀은 지적 https://code.google.com/p/aost/source/browse/trunk/tools/firefox-plugin/trump/chrome/content/logger.js?r=858
, 위의 링크가 log4js에 대한 코드가 : 여기
당신이 스스로 그것을 구현할 수있는 방법의 샘플입니다.편집는 :
참고 : 그래서, 그것에서 큐를 복용, 여기 log4javascript 작업을 할 코드입니다 이것은 파이어 폭스에만 작동합니다!
/**
Throw a fake exception to retrieve the stack trace and analyze it
to find the line number from which this function was called
*/
var getLineNumber = function(layout, loggingReference) {
try {(0)()} catch (e) {
/* Split the stack trace */
output = e.stack.replace(/^.*?\n/,'').replace(/(?:\[email protected]:0)?\s+$/m,'').replace(/^\(/gm,'{anon}(').split("\n");
/* The last trace in the array is the filename/line number of the line that logged this */
log_location = output.pop().split(':');
/* Extract the line number from this trace */
line = log_location[log_location.length - 2]
return line;
}
}
logger = log4javascript.getLogger("main");
/* Configure the logger object: add a pop-up appender */
var logAppender = new log4javascript.PopUpAppender();
/* Set a PatternAppender with a custom field */
var popUpLayout = new log4javascript.PatternLayout("[Line#%f] %m");
/* Use the method getLineNumber() as the value for the 0th custom field */
popUpLayout.setCustomField('line', getLineNumber);
logAppender.setLayout(popUpLayout);
logger.addAppender(logAppender);
/* A test log */
logger.info("This is a test")
위의 스크립트는 다음과 같은 출력이 생성
은 [선 # 31] 이것은 테스트입니다
이 코드는 log4javascript가 아닌 log4js 용입니다. 그들은 유사하지만 동일하지 않습니다. –
@TimDown이 log4javascript의 저자임을 깨닫는 동안 잠시만 기다려주세요! 사람들이'log4js'와'log4javascript'를 혼동하는 횟수에 좌절감을 느낍니다. 답변을 편집하여'log4javascript'와 함께 작동하는 예제를 포함 시켰습니다 (답변에서 올바르게 언급했듯이 Firefox에서만 작동합니다) – dotbugfix
당신은 당신이 뭘하려는 건지 보여주는 몇 가지 코드를 제공 할 수 ? –
http://stackoverflow.com/questions/2866938/finding-the-source-line-of-function-call –