JSL에서 사용자 정의 로그 파일을 작성하는 방법이 있습니까?모두,
저는 애플리케이션을 구축 중이며 사용자가 스크립트와 함께 구축된 사용자 지정 로그 파일을 미리 볼 수 있도록 하고 싶습니다. 나는 이 방법이 나와 사용자 모두에게 향후 문제 해결에 도움이 될 것이라고 생각합니다.
그것을 작성하는 한 가지 방법은 목록을 작성하고 목록을 텍스트 파일로 작성하는 것입니다. 그러나 나는 제안에 개방적이며 이를 수행하는 더 좋고 깨끗하고 효율적인 방법이 있는지 궁금합니다.
Re: JSL에서 사용자 정의 로그 파일을 빌드하는 방법이 있습니까?나는 비슷한 일을 합니다. 대부분의 프로젝트에 대한 전략은 다음과 같습니다.
- 모든 스크립트는 동일한 로그 형식을 가지므로 쉽게 집계할 수 있습니다.
- 일부 추가 기능의 경우 로그가 자동으로 중앙 위치에 업로드됩니다. JMP 14에는 이 모든 것을 집계할 수 있는 훌륭한 방법이 있습니다.
- 다음과 같은 다른 정보도 저장하는 csv 형식을 사용합니다.
- 스크립트/애드인 이름 및 버전
- OS/JMP 버전
- 함수 이름
- 추가 기능의 경우 해당 추가 기능의 네임스페이스에 'writeToLog' 함수를 로드합니다.각 스크립트의 맨 위에서 해당 네임스페이스를 정의하므로 해당 추가 기능 내의 모든 파일에서 ns:log("message", function="foo")를 사용하여 로그 메시지를 작성할 수 있습니다.
Re: JSL에서 사용자 정의 로그 파일을 빌드하는 방법이 있습니까?나는 할 것이다 텍스트 파일 저장 기능을 사용하여 롤링 로그 파일에 추가하십시오. 아래 예를 참조하십시오.
// some variables to show
x = 5;
y = 10;
z = 25;
// path to the log
logFilePath = "$TEMP/MyJmpAddin2.log";
// initialize the log in case it doesnt exist
If( !File Exists( logFilePath ), Save Text File( logFilePath, "" ) );
// function to write to the log file (with a new line character at the end)
writeToLog = Function( {str},
Save Text File(
logFilePath,
Format( Today(), "m/d/y h:m:s" ) || " - " || str || "\!N",
Mode( "append" )
)
);
writeToLog( "showing x in JMP log" );
show( x );
writeToLog( "showing y in JMP log" );
show( y );
writeToLog( "showing z in JMP log" );
show( z );
// for demonstration purposes, open the log file as plain text
Open( logFilePath, "plain text" );
결과 로그 파일은 다음과 같습니다.
01/31/2018 1:56:23 PM - showing x in JMP log
01/31/2018 1:56:23 PM - showing y in JMP log
01/31/2018 1:56:23 PM - showing z in JMP log