콘솔 - 범위 지정, 전역
콘솔 API는 시스템 로그에 메시지를 기록하고, 타이머를 생성 및 중지하고, 카운터를 생성 및 기록하고, 스택 추적을 기록하고, 관련 콘텐츠를 그룹화/구성하는 메서드를 제공합니다.
콘솔 API 메서드는 Glide System API (예: gs.info, gs.warn, gs.debug)와 동일한 로깅 기능을 제공하지만 콘솔 메서드를 사용하여 메시지를 로깅하는 데 익숙한 개발자가 보다 재귀적으로 사용할 수 있도록 합니다. 콘솔 API와 Glide 시스템 API 메서드는 모두 서버에서 사용할 수 있습니다.
모든 콘솔 API 메서드는 정적이며 (Microsoft Developer Network) MDN의 콘솔 API를 구현합니다ServiceNow®. 이 API는 기본 시스템의 일부 ServiceNow 로 제공되며 전역적으로 액세스하기 위해 플러그인이 필요하지 않습니다. 범위가 지정된 애플리케이션에서 이 클래스를 사용하려면 sn_console 네임스페이스 식별자를 사용하십시오. 콘솔(com.glide.console) 플러그인을 활성화하여 콘솔 API에 액세스합니다.
로깅 기능
assert(), error(), debug(), warn(), info() 및 log()와 같은 콘솔 API 메서드를 사용하여 생성된 로그는 시스템 로그에 기록됩니다. 특히 다음으로 이동하여 UI에서 시스템 로그를 찾을 수 있습니다. . 이 메뉴 항목에서 모든 로그 또는 애플리케이션 로그, 오류, 스크립트 로그문 등의 특정 로그 유형을 보도록 선택할 수 있습니다. 모든 로그 뷰에서 소스 열을 필터링하면 항목을 더 빨리 찾는 데 도움이 될 수 있습니다.
문자열 대체
많은 콘솔 API 메서드, 특히 assert(), error(), debug(), warn(), info() 및 log()와 같은 메시지를 기록할 수 있는 메서드에서 0개 이상의 대체 문자열을 첫 번째 매개변수로 사용할 수 있습니다.
콘솔 API의 대체 문자열은 문자열이나 숫자와 같은 값을 동적으로 삽입하기 위해 로그 메시지에 사용하는 자리 표시자입니다. 코드가 실행되면 이러한 자리 표시자는 제공된 순서대로 추가 인수로 전달하는 실제 값으로 바뀝니다. 문자열을 수동으로 연결할 필요 없이 로그를 보다 유연하고 읽기 쉽게 만듭니다.
%s: 문자열을 삽입합니다.%d또는%i: 숫자(정수 또는 10진수)를 삽입합니다.%f: 부동 소수점 숫자를 삽입합니다.%o: 객체를 삽입합니다.%c: 로그에 CSS 스타일을 적용합니다(콘솔 출력 스타일을 지정하는 데 유용함).
다음은 대체 문자열을 사용하는 간단한 예시 스크립트입니다.
const name = "Alex";
const age = 25;
console.log("Hello, my name is %s and I am %d years old.", name, age);출력 예:
Hello, my name is Alex and I am 25 years old.다음은 CSS 스타일링과 함께 대체 문자열을 사용하는 예입니다.
const user = { name: "Alex", role: "Developer" };
console.log("User info: %o", user); // Logs the object
console.log("%cStyled message", "color: blue; font-weight: bold;"); // Adds styles
출력은 User info: { name: "Alex", role: "Developer" } 메시지를 파란색과 굵게 표시하는 스타일을 지정합니다.타이머 사용
콘솔 API 타이머를 사용하여 특정 작업의 기간을 계산할 수 있습니다. 타이머를 시작하려면 매개변수를 사용하여 타이머를 호출 콘솔 - 시간(문자열 레이블) 하고 이름을 할당합니다.label 페이지당 최대 10,000개의 타이머를 사용할 수 있습니다. 타이머를 중지하고 경과 시간(밀리초)을 가져오려면 타이머의 이름을 매개변수로 전달하여 호출 콘솔 - timeEnd(String label) 합니다.
예를 들어 time("Process Duration")을 호출하여 경과한 시간을 측정하기 위해 타이머를 시작한 다음 timeEnd("Process Duration")를 호출할 수 있습니다. 또한 코드는 타이머 시작 이후 경과된 시간과 스크립트를 전달 콘솔 - timeLog(String label, Object valN) 하여 첫 번째 및 두 번째 작업이 완료된 시간을 계산하고 출력합니다.
console.time("Process Duration");
alert("Step 1: Click to continue."); // Simulates the first action
console.timeLog("Process Duration", "After Step 1");
alert("Step 2: Do other actions"); // Simulates additional actions
console.timeLog("Process Duration", "After Step 2");
console.timeEnd("Process Duration");
- 첫 번째 경보 이후:
Process Duration: 2.345ms After Step 1 - 두 번째 경보 이후:
Process Duration: 7.890ms After Step 2 - 타이머가 끝나면 다음을 수행합니다.
Process Duration: 10.123ms
콘솔 - assert(부울 어설션, 객체 val1... valN, 문자열 메시지, 문자열 subst1... substN)
어설션이 false인 경우 오류 메시지를 시스템 로그에 기록합니다. 이 메서드는 어설션이 true인 경우 아무 작업도 수행하지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 어설션 | 부울 | 옵션입니다. 어설션 실패를 나타내는 일반 메시지를 시스템 로그에 기록할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| msg | 문자열 | 사용되지 않는 경우 val1...valN 필수입니다. 어설션이 실패할 때 시스템 로그에 표시할 메시지입니다. 매개변수를 사용하여 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 subst1 through substN 허용합니다. 자세한 내용은 '문자열 대체' 콘솔 - 범위 지정, 전역를 참조하십시오. |
| subst1... substN | 문자열 | 옵션입니다. 내에서 대체 문자열을 대체할 JavaScript 값입니다 msg. 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 대체 값이 더 많은 경우, 추가 값 자체가 작성되고 형식 문자열이 없을 때와 같은 방식으로 메시지 (msg) 뒤에 추가됩니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| val1... valN | 객체 | 전달되지 않은 경우 msg 필수입니다. 메인 메시지(msg) 뒤에 추가할 추가 JavaScript 값의 목록으로, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 형식을 허용하고 지정된 순서대로 출력합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
기본 어설션
다음 예제에서는 어설션(1 + 1 === 3)이 false일 때 assert( )를 사용하여 "Math is broken!" 오류 메시지를 기록하고 어설션(1 + 1 === 2)이 true일 때 아무 작업도 수행하지 않는 방법을 보여줍니다.
console.assert(1 + 1 === 2, "This won't be logged."); // Assertion is true, nothing happens.
console.assert(1 + 1 === 3, "Math is broken!");
출력:
"Math is broken!"
추가 값 로깅
다음 예제에서는 assert()에 추가 값을 전달합니다.
let x = 5, y = 10;
console.assert(x + y === 20, "Expected 20, got", x + y);
출력:
"Expected 20, got 15" // (because x + y is 15)
메시지 대체
다음 예제에서는 assert()에 문자열 대체 값을 전달합니다.
let expected = 20, actual = 15;
console.assert(expected === actual, "Expected %d but got %d", expected, actual);
출력:
"Expected 20 but got 15"
콘솔 - 카운트(문자열 레이블)
지정된 레이블과 함께 count() 가 호출된 횟수를 계산하고 기록합니다.
count() 메서드는 코드 블록이 실행되는 횟수 또는 애플리케이션에서 발생하는 이벤트 수와 같이 어떤 일이 발생하는 횟수를 추적하는 데 유용합니다. 특정 레이블로 카운터를 재설정하는 데 사용합니다 콘솔 - countReset(String label) .
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 | 옵션입니다. 카운터에 지정할 이름입니다. 레이블은 대/소문자를 구분하며 대/소문자가 일치하지 않는 경우 출력에 다른 카운터를 생성합니다. 기본값: 제공되지 않은 경우 레이블을 "기본"으로 설정합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 count() 메서드가 레이블(예: 'apple' 또는 'banana')으로 호출될 때마다 출력이 어떻게 표시되는지 보여줍니다. 개수는 레이블별로 별도로 추적됩니다.
console.count('apple');
console.count('banana');
console.count('apple');
console.count('apple');
console.count('banana');
출력:
apple: 1
banana: 1
apple: 2
apple: 3
banana: 2
다음 count() 예제는 카운터 레이블이 제공되지 않고 "default"라는 레이블을 상속할 때 출력이 어떻게 표시되는지 보여줍니다.
console.count();
console.count();
console.count();
출력:
default: 1
default: 2
default: 3
콘솔 - countReset(String label)
지정된 카운터를 0으로 재설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 | 옵션입니다. 0으로 재설정하려는 메서드에서 콘솔 - 카운트(문자열 레이블) 원래 설정된 카운터의 이름입니다. 대/소문자 구분 기본값: 기본 카운터를 0으로 재설정합니다. 주: |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예는 기본 레이블의 다섯 번째 반복과 관련된 카운터를 재설정하는 방법을 보여줍니다.
function greet(user) {
console.count();
return 'hi ${user}'
}
greet("bob");
greet("alice");
greet("alice");
console.count();
console.countReset();
출력:
"default: 1"
"default: 2"
"default: 3"
"default: 4"
"default: 0"
다음 예제에서 사용자 변수를 console.count()의 첫 번째 호출에 "bob" 문자열을 전달하고 두 번째 호출에 "alice" 문자열을 사용하여 레이블 인수로 전달하는 경우:
function greet(user) {
console.count(user);
return'hi ${user}'
}
greet("bob");
greet("alice");
greet("alice");
console.countReset("bob");
console.count("alice");
출력. 카운터 "bob"의 값을 재설정하면 해당 카운터의 값만 변경된다는 점에 유의하십시오. "alice"의 값은 변경되지 않습니다.
"bob: 1"
"alice: 1"
"alice: 2"
"bob: 0"
"alice: 3"
콘솔 - debug(Object val1... valN, 문자열 메시지, 문자열 subst1... substN)
디버그 수준에서 시스템 로그에 디버깅 메시지를 기록하거나 출력합니다.
debug() 메서드는 자세한 메시징을 허용하며 우선순위가 낮거나 덜 중요한 디버깅 메시지에 권장됩니다. 더 높은 우선순위 디버그 메시징 콘솔 - log(Object val1... val2, 문자열 메시지, 문자열 subst1... subst2)의 경우 . 예를 들어 이 메서드를 사용하여 내부 상태 또는 플로우에 대한 내부 개발자를 위한 더 긴 디버깅 메시지를 작성할 수 있습니다. debug() 메서드 메시지는 특정 브라우저마다 다르게 작동할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| msg | 문자열 | 전달되지 않은 경우 val1...valN 필수입니다. 시스템 로그 또는 출력에 기록할 메인 메시지 또는 객체입니다. 매개변수를 사용하여 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 subst1 through substN 허용합니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| subst1... substN | 문자열 | 옵션입니다. 내에서 대체 문자열을 대체할 JavaScript 값입니다 msg. 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 대체 값이 더 많은 경우, 추가 값 자체가 작성되고 형식 문자열이 없을 때와 같은 방식으로 메시지 (msg) 뒤에 추가됩니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| val1... valN | 객체 | 전달되지 않은 경우 msg 필수입니다. 메인 메시지(msg) 뒤에 추가할 추가 JavaScript 값의 목록으로, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 형식을 허용하고 지정된 순서대로 출력합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서 console.debug()는 인스턴스의 ServiceNow® 시스템 로그에 메시지를 기록합니다.
(function executeRule(current, previous /*null when async*/) {
// Logging at different levels for debugging
console.debug("Business rule triggered for record: " + current.getDisplayValue());
// Example: Check and log a field value
if (current.priority == 1) {
console.debug("High-priority incident detected: " + current.number);
} else {
console.debug("Incident priority is not high. Priority: " + current.priority);
}
// Perform some logic
if (current.state == 1) {
current.state = 2;
gs.debug("State updated from 'New' to 'In Progress' for record: " + current.number);
}
})(current, previous);
콘솔 - error(Object val1... valN, 문자열 메시지, 문자열 subst1... subsN)
오류 수준에서 시스템 로그에 메시지를 기록합니다.
잘못된 입력, 실패한 작업 또는 예기치 않은 동작 디버깅과 같이 중요하고 즉각적인 주의가 필요한 문제를 기록하려면 error() 를 사용합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| msg | 문자열 | 전달되지 않은 경우 val1...valN 필수입니다. 시스템 로그 또는 출력에 기록할 메인 메시지 또는 객체입니다. 매개변수를 사용하여 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 subst1 through substN 허용합니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| subst1... substN | 문자열 | 옵션입니다. 내에서 대체 문자열을 대체할 JavaScript 값입니다 msg. 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 대체 값이 더 많은 경우, 추가 값 자체가 작성되고 형식 문자열이 없을 때와 같은 방식으로 메시지 (msg) 뒤에 추가됩니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| val1... valN | 객체 | 전달되지 않은 경우 msg 필수입니다. 메인 메시지(msg) 뒤에 추가할 추가 JavaScript 값의 목록으로, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 형식을 허용하고 지정된 순서대로 출력합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
- 첫 번째 예는 단순히 "오류가 발생했습니다!"를 오류 스타일 형식으로 표시합니다.
- 두 번째에는 "모듈 오류: ModuleName"이 표시됩니다.
- 세 번째는 "예기치 않은 값: 42"라고 표시됩니다.
console.error("An error occurred!");
console.error("Error in module:", "ModuleName");
console.error("Unexpected value: %d", 42);
콘솔 - 그룹(문자열 레이블)
시스템 로그에 새 인라인 그룹을 작성하며, 여기서 groupEnd() 가 호출될 때까지 모든 후속 메시지가 추가 수준에서 들여쓰기됩니다. 이 방법을 사용하여 출력 및 시스템 로그에서 관련 메시지를 시각적으로 구성하고 그룹화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 | 옵션입니다. 출력에 표시할 그룹의 레이블 이름입니다. 기본값: 레이블을 전달하지 않으면 group() 은 텍스트를 출력하지 않지만 새 빈 줄을 한 수준씩 들여씁니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 log() 를 전달하여 새 중첩 블록을 만든 다음 group() 을 전달하여 들여쓴 그룹을 기록합니다. group()에 대한 각 후속 호출은 새 수준에서 줄을 들여씁니다. 또한 스크립트는 groupEnd() 를 호출하여 각 그룹을 종료하고 들여쓰기를 한 수준씩 줄입니다.
console.log("Start logging...");
console.group("Group 1");
console.log("Inside Group 1 - Message 1");
console.log("Inside Group 1 - Message 2");
console.group("Nested Group");
console.log("Inside Nested Group - Message 1");
console.groupEnd();
console.log("Back to Group 1 - Message 3");
console.groupEnd();
console.log("End logging...");
표시/출력:
Start logging...
Group 1
Inside Group 1 - Message 1
Inside Group 1 - Message 2
Nested Group
Inside Nested Group - Message 1
Back to Group 1 - Message 3
End logging...
다음 예제에서는 그룹 레이블이 설정될 때 그룹을 들여쓰는 방법을 보여줍니다.
console.group("Group 1");
console.log("in group 1");
console.group();
console.log("in group 2");
출력:
Group 1
in group 1
in group 2
다음 예제에서는 그룹 레이블이 설정되지 않은 경우 그룹을 들여쓰는 방법을 보여줍니다.
console.group(); // no label passed
console.log("in group 1");
console.group();
console.log("in group 2");
출력:
in group 1
in group 2
콘솔 - groupEnd()
group()으로 만든 현재 인라인 그룹을 종료하고 들여쓰기를 한 수준씩 줄입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 group() 을 호출하여 들여쓴 수준을 기록하여 새 중첩 블록을 만듭니다. 스크립트는 groupEnd()를 전달하여 그룹을 종료하고 들여쓰기를 한 수준씩 줄입니다.
console.log("This is the outer level");
console.group();
console.log("Level 2");
console.group();
console.log("Level 3");
console.warn("More of level 3");
console.groupEnd();
console.log("Back to level 2");
console.groupEnd();
console.log("Back to the outer level");
출력:
This is the outer level
Level 2
Level 3
⚠️ More of level 3
Back to level 2
Back to the outer level
콘솔 - 정보(객체 val1... valN, 문자열 메시지, 문자열 subst1... substN)
정보 수준에서 시스템 로그에 메시지를 기록합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| msg | 문자열 | 전달되지 않은 경우 val1...valN 필수입니다. 시스템 로그 또는 출력에 기록할 메인 메시지 또는 객체입니다. 매개변수를 사용하여 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 subst1 through substN 허용합니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| subst1... substN | 문자열 | 옵션입니다. 내에서 대체 문자열을 대체할 JavaScript 값입니다 msg. 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 대체 값이 더 많은 경우, 추가 값 자체가 작성되고 형식 문자열이 없을 때와 같은 방식으로 메시지 (msg) 뒤에 추가됩니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| val1... valN | 객체 | 전달되지 않은 경우 msg 필수입니다. 메인 메시지(msg) 뒤에 추가할 추가 JavaScript 값의 목록으로, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 형식을 허용하고 지정된 순서대로 출력합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 info() 메서드를 사용하여 기록 번호와 현재 양식의 우선순위라는 두 가지 정보를 기록합니다. 이 방법은 양식의 데이터를 디버깅하거나 확인할 때 빠른 검사에 유용합니다.
function onLoad() {
console.info("Form loaded for record:", g_form.getValue("number")); // Log the record number
console.info("Current priority is:", g_form.getValue("priority")); // Log the priority
}
콘솔 - log(Object val1... val2, 문자열 메시지, 문자열 subst1... subst2)
시스템 로그에 메시지를 기록합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| msg | 문자열 | 전달되지 않은 경우 val1...valN 필수입니다. 시스템 로그 또는 출력에 기록할 메인 메시지 또는 객체입니다. 매개변수를 사용하여 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 subst1 through substN 허용합니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| subst1... substN | 문자열 | 옵션입니다. 내에서 대체 문자열을 대체할 JavaScript 값입니다 msg. 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 대체 값이 더 많은 경우, 추가 값 자체가 작성되고 형식 문자열이 없을 때와 같은 방식으로 메시지 (msg) 뒤에 추가됩니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| val1... valN | 객체 | 전달되지 않은 경우 msg 필수입니다. 메인 메시지(msg) 뒤에 추가할 추가 JavaScript 값의 목록으로, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 형식을 허용하고 지정된 순서대로 출력합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예는 log() 를 사용하여 기록 번호와 양식의 현재 상태를 시스템 로그에 기록하는 방법을 보여줍니다.
function onLoad() {
console.log("Form loaded for record:", g_form.getValue("number")); // Log the record number
console.log("Current state is:", g_form.getValue("state")); // Log the state
}
콘솔 - 시간(문자열 레이블)
작업에 소요되는 시간을 추적하는 데 사용할 수 있는 타이머를 시작합니다.
각 타이머에 고유한 이름을 지정할 수 있으며 지정된 페이지에서 최대 10,000개의 타이머를 실행할 수 있습니다. 동일한 레이블 이름으로 콘솔 timeEnd() 메서드를 호출하면 카운터는 타이머가 시작된 이후 경과된 시간(밀리초)을 출력합니다. 콘솔 timeLog() 메서드를 사용하여 타이머의 시작 시간과 중지 시간 사이에 캡처된 경과 시간을 기록합니다.
이 메서드를 다른 시간 기반 콘솔 API 메서드와 함께 사용하는 방법에 대한 예제는 의 "타이머 사용" 콘솔 - 범위 지정, 전역을 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 | 옵션입니다. 새 타이머에 지정할 이름입니다. 타이머를 중지하고 콘솔에 경과 시간을 출력하려면 호출 콘솔 - timeEnd(String label) 할 때 같은 이름을 사용합니다. 최대 타이머 수: 10,000 기본값: 생략된 경우 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음은 time("label") 을 사용하여 "label" 레이블로 타이머를 시작하는 방법을 보여줍니다. console.timeEnd("label") 메서드는 동일한 레이블로 타이머를 중지하고 경과 시간을 기록합니다. 이 예시에서는 기록의 번호와 우선순위를 검색하고 로깅하는 데 걸리는 시간을 측정합니다.
function onLoad() {
console.time("Form load processing time"); // Start timing
// Example: Simulate some processing
var recordNumber = g_form.getValue("number");
console.log("Record number is:", recordNumber);
var priority = g_form.getValue("priority");
console.log("Priority is:", priority);
console.timeEnd("Form load processing time"); // End timing and log duration
}
콘솔 - timeEnd(String label)
이전에 time()을 호출하여 시작된 지정된 타이머를 중지합니다.
이 메서드를 다른 시간 기반 콘솔 API 메서드와 함께 사용하는 방법에 대한 예제는 의 "타이머 사용" 콘솔 - 범위 지정, 전역을 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 | 옵션입니다. 중지할 타이머의 이름입니다. 중지되면 시간이 끝났음을 나타내는 표시기와 함께 경과 시간이 콘솔에 자동으로 표시됩니다. 이 레이블은 매개변수에 콘솔 - 시간(문자열 레이블) label 지정된 타이머와 일치해야 하며 대/소문자를 구분합니다. 기본값: 생략되면 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 time("label") 을 사용하여 레이블이 "label"인 타이머를 시작하는 방법을 보여줍니다. console.timeEnd("label") 메서드는 동일한 레이블로 타이머를 중지합니다. console.log()는 경과 시간을 기록합니다. 이 예에서는 기록의 수와 우선순위를 검색하고 시스템 로그에 기록하는 데 걸리는 시간을 측정합니다.
function onLoad() {
console.time("Form load processing time"); // Start timing
// Example: Simulate some processing
var recordNumber = g_form.getValue("number");
console.log("Record number is:", recordNumber);
var priority = g_form.getValue("priority");
console.log("Priority is:", priority);
console.timeEnd("Form load processing time"); // End timing and log duration
}
콘솔 - timeLog(String label, Object valN)
지정된 타이머의 현재 값을 시스템 로그에 기록합니다.
이 메서드를 다른 시간 기반 콘솔 API 메서드와 함께 사용하는 방법에 대한 예제는 의 "타이머 사용" 콘솔 - 범위 지정, 전역을 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 레이블 | 문자열 | 옵션입니다. 콘솔에 기록할 타이머의 이름입니다. 매개변수에 콘솔 - 시간(문자열 레이블) label 지정된 타이머와 일치해야 하며 대/소문자를 구분합니다. 기본값: 생략된 경우 |
| valN | 객체 | 옵션입니다. 타이머 출력 후 기록할 추가 값입니다. 문자열에 대한 특수 처리가 있는 모든 데이터 유형을 지원하는 구조화되지 않은 객체를 허용합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제는 time() 메서드를 사용하여 이전에 시작한 타이머의 레이블 값을 사용하여 timeLog()를 호출하는 방법을 보여줍니다. timeLog() 메서드는 타이머의 현재 값을 기록합니다.
console.time("reticulating splines");
reticulateSplines();
console.timeLog("reticulating splines");
// reticulating splines: 650ms
타이머 이름이 누락된 경우 타이머의 이름은 "기본"으로 지정됩니다.
console.time();reticulateSplines();
console.timeLog();// default: 780ms
해당 타이머가 없는 경우 console.timeLog()는 다음과 같은 경고를 기록합니다.
Timer "timer name" doesn't exist.
타이머 출력 후 콘솔에 추가 값을 기록할 수 있습니다.
console.time();reticulateSplines();
console.timeLog("default","Hello","world");// default: 780ms Hello world
또 다른 예에서 console.time('Timer')은 "Timer" 레이블로 타이머를 시작합니다. console.timeLog('Timer')는 선택적 추가 메시지와 함께 경과 시간을 기록합니다. console.timeEnd('Timer')는 타이머를 중지하고 총 경과 시간을 기록합니다.
console.time('Timer');
setTimeout(() => {
console.timeLog('Timer', 'Halfway done');
}, 1000);
setTimeout(() => {
console.timeLog('Timer', 'Almost done');
console.timeEnd('Timer');
}, 2000);
로그 출력:
Timer: 1000ms Halfway done
Timer: 2000ms Almost done
Timer: 2000ms
콘솔 - trace(객체 객체)
정보 수준에서 시스템 로그에 스택 추적을 기록합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 객체 | 객체 | 옵션입니다. 추적과 함께 콘솔에 출력할 0개 이상의 객체입니다. 개체는 메서드에 전달되는 경우와 동일한 방식으로 어셈블되고 형식이 지정됩니다 콘솔 - log(Object val1... val2, 문자열 메시지, 문자열 subst1... subst2) . 기본값: 출력에 전체 스택을 반환합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제는 trace() 가 스택 추적과 함께 메시지 추적 예제 를 기록하는 방법을 보여줍니다.
function firstFunction() {
secondFunction();
}
function secondFunction() {
thirdFunction();
}
function thirdFunction() {
console.trace('Trace example');
}
firstFunction();
스택 추적은 호출 시퀀스를 보여줍니다. thirdFunction 은 secondFunction에 의해 호출되었고, firstFunction에 의해 호출되었습니다. console.trace('Trace example') 는 스택 추적과 함께 Trace 예제 메시지를 기록합니다.
출력:
Trace example
at thirdFunction (<filename>:8:13)
at secondFunction (<filename>:4:5)
at firstFunction (<filename>:2:5)
콘솔 - warn(Object val1... valN, 문자열 메시지, 문자열 subst1... subst2)
경고 수준에서 시스템 로그에 경고 메시지를 기록합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| msg | 문자열 | 전달되지 않은 경우 val1...valN 필수입니다. 시스템 로그 또는 출력에 기록할 메인 메시지 또는 객체입니다. 매개변수를 사용하여 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 subst1 through substN 허용합니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| subst1... substN | 문자열 | 옵션입니다. 내에서 대체 문자열을 대체할 JavaScript 값입니다 msg. 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 대체 값이 더 많은 경우, 추가 값 자체가 작성되고 형식 문자열이 없을 때와 같은 방식으로 메시지 (msg) 뒤에 추가됩니다. 자세한 내용은 '대체 문자열 사용'을 콘솔 - 범위 지정, 전역 참조하십시오. |
| val1... valN | 객체 | 전달되지 않은 경우 msg 필수입니다. 메인 메시지(msg) 뒤에 추가할 추가 JavaScript 값의 목록으로, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 형식을 허용하고 지정된 순서대로 출력합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 warn() 을 사용하여 일반적으로 눈에 띄도록 스타일이 지정된(예: 경고 아이콘 또는 노란색 텍스트) 경고 메시지를 기록합니다. 이 예에서는 기록의 우선순위를 확인합니다. 높으면(우선순위 ==="1" ) 경고 메시지를 기록합니다. 높지 않으면 현재 우선순위 값으로 덜 긴급한 메모를 기록합니다.
function onLoad() {
var priority = g_form.getValue("priority");
if (priority === "1") {
console.warn("Warning: This is a high-priority incident! Immediate attention required.");
} else {
console.warn("Note: Priority is not high. Current priority:", priority);
}
}
- 높은 우선순위의 경우:
⚠️ 경고: 이는 높은 우선순위의 인시던트입니다! 즉각적인 조치가 필요합니다. - 기타 우선순위의 경우:
⚠️ 참고: 우선순위가 높지 않습니다. 현재 우선순위: 3