콘솔 - 범위 지정, 전역

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기30분
  • 콘솔 API는 시스템 로그에 메시지를 기록하고, 타이머를 생성 및 중지하고, 카운터를 생성 및 로깅하고, 스택 추적을 기록하고, 관련 콘텐츠를 그룹화/구성하는 메서드를 제공합니다.

    콘솔 API 메서드는 Glide System API (예: gs.info, gs.warn 및 gs.debug)와 동일한 로깅 기능을 제공하지만 콘솔 메서드를 사용하여 메시지를 로깅하는 데 익숙한 개발자가 보다 반사적으로 사용할 수 있습니다. 콘솔 API와 Glide 시스템 API 메서드를 모두 서버에서 사용할 수 있습니다.

    모든 Console API 메소드는 정적이며 ServiceNow® (Microsoft Developer Network) MDN의 Console API를 구현합니다. 이 API는 기본 시스템의 일부로 ServiceNow 제공되며 전역적으로 액세스하는 데 플러그인이 필요하지 않습니다. 범위가 지정된 응용 프로그램에서 이 클래스를 사용하려면 sn_console 네임스페이스 식별자를 사용합니다. 콘솔(com.glide.console) 플러그인을 활성화하여 콘솔 API에 액세스합니다.

    로깅 기능

    assert(),error(),debug(),warn(),info()log()와 같은 콘솔 API 메서드를 사용하여 생성된 로그는 시스템 로그에 로깅됩니다. 특히 다음으로 이동하여 UI에서 시스템 로그를 찾을 수 있습니다. 모두 > 시스템 로그 > 시스템 로그. 이 메뉴 항목에서 모든 로그 또는 애플리케이션 로그, 오류, 스크립트 로그 문 등과 같은 특정 로그 유형을 보도록 선택할 수 있습니다. 모든 로그 뷰에서 소스 열을 필터링하면 항목을 더 빨리 찾을 수 있습니다.

    문자열 대체

    0개 이상의 대체 문자열을 많은 콘솔 API 메서드, 특히 assert(),error(),debug(),warn(),info()log()와 같은 메시지를 기록할 수 있는 메서드에서 첫 번째 매개 변수로 사용할 수 있습니다.

    콘솔 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(Boolean assertion, Object val1... valN, 문자열 메시지, 문자열 subst1... substN)

    어설션이 거짓이면 시스템 로그에 오류 메시지를 기록합니다. 이 메서드는 어설션이 true이면 아무 작업도 수행하지 않습니다.

    표 1. 매개변수
    이름 유형 설명
    주장 부울 옵션입니다. 시스템 로그에 어설션 실패를 나타내는 일반 메시지를 기록할지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 어설션 실패 메시지를 기록하지 않습니다.
    • false: 어설션 실패 메시지를 기록합니다.

    기본값: false

    msg 문자열 사용되지 않는 경우 val1...valN 필수입니다. 어설션이 실패할 때 시스템 로그에 표시할 메시지입니다. 매개변수를 사용하여 subst1 through substN 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 허용합니다.

    자세한 내용은 '문자열 대체' 콘솔 - 범위 지정, 전역를 참조하십시오.

    subst1... substN 문자열 옵션입니다. 에서 대체 문자열을 msg대체할 JavaScript 값 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 더 많은 대체 값이 있는 경우, 포맷 문자열이 없을 때와 같은 방식으로 추가 값이 메시지(msg) 뒤에 추가됩니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    발1... valN 객체 msg 전달되지 않으면 필수입니다. 메인 메시지() 뒤에 추가할 추가 JavaScript 값 목록으로msg, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 유형을 허용하고 지정된 순서대로 출력합니다.
    표 2. 반환
    유형 설명
    안 함

    기본 어설션

    다음 예제에서는 assert( )를 사용하여 어설션(1 + 1 === 3)이 false일 때 오류 메시지 "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) .

    표 3. 매개변수
    이름 유형 설명
    레이블 문자열 옵션입니다. 카운터에 지정할 이름입니다. 레이블은 대/소문자를 구분하며 대/소문자가 일치하지 않을 경우 출력에 다른 카운터를 생성합니다.

    기본값: 제공되지 않은 경우 레이블을 "기본값"으로 설정합니다.

    표 4. 반환
    유형 설명
    안 함

    다음 예제에서는 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으로 다시 설정합니다.

    표 5. 매개변수
    이름 유형 설명
    레이블 문자열 옵션입니다. 0으로 다시 설정하려는 메서드에 콘솔 - 개수(문자열 레이블) 원래 설정된 카운터의 이름입니다. 대/소문자를 구분합니다.
    기본값: 기본 카운터를 0으로 재설정합니다.
    주:
    정의된 레이블 없이 count()를 사용하여 새 카운터가 설정되면 카운터는 default 레이블을 받습니다. 자세한 내용은 콘솔 - 개수(문자열 레이블) 문서를 참조하십시오.
    표 6. 반환
    유형 설명
    안 함

    다음 예제에서는 기본 레이블의 5번째 반복과 연결된 카운터를 다시 설정하는 방법을 보여 줍니다.

    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"

    다음 예제에서 사용자 변수를 label 인수로 전달하고 "bob" 문자열을 console.count()의 첫 번째 호출에 전달하고 "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"

    콘솔 - 디버그(Object val1... valN, 문자열 메시지, 문자열 subst1... substN)

    디버그 수준에서 시스템 로그에 디버깅 메시지를 기록하거나 출력합니다.

    debug() 메서드는 자세한 메시지 처리를 허용하며 우선 순위가 낮거나 덜 중요한 디버깅 메시지에 권장됩니다. 우선순위가 높은 디버그 메시징의 콘솔 - log(Object val1... val2, 문자열 메시지, 문자열 subst1... subst2)경우 . 예를 들어 이 메서드를 사용하여 내부 상태 또는 흐름에 대한 내부 개발자를 위한 더 긴 디버깅 메시지를 작성할 수 있습니다. debug() 메서드 메시지는 특정 브라우저마다 다르게 동작할 수 있습니다.

    console.debug() 메서드는 인스턴스의 시스템 로그에 ServiceNow® 메시지를 기록합니다. 플랫폼에서 이러한 로그는 다음 ServiceNow® 위치에서 볼 수 있습니다. 시스템 로그 > 전체 또는 시스템 로그 > 디버그.
    주:
    콘솔 API 메서드는 Glide System API (예: gs.info, gs.warn 및 gs.debug)와 동일한 로깅 기능을 제공하지만 콘솔 메서드를 사용하여 메시지를 로깅하는 데 익숙한 개발자가 보다 반사적으로 사용할 수 있습니다. 콘솔 API와 Glide 시스템 API 메서드를 모두 서버에서 사용할 수 있습니다.
    표 7. 매개변수
    이름 유형 설명
    msg 문자열 val1...valN 전달되지 않으면 필수입니다. 시스템 로그 또는 출력에 기록할 기본 메시지 또는 객체입니다. 매개변수를 사용하여 subst1 through substN 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 허용합니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    subst1... substN 문자열 옵션입니다. 에서 대체 문자열을 msg대체할 JavaScript 값 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 더 많은 대체 값이 있는 경우, 포맷 문자열이 없을 때와 같은 방식으로 추가 값이 메시지(msg) 뒤에 추가됩니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    발1... valN 객체 msg 전달되지 않으면 필수입니다. 메인 메시지() 뒤에 추가할 추가 JavaScript 값 목록으로msg, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 유형을 허용하고 지정된 순서대로 출력합니다.
    표 8. 반환
    유형 설명
    안 함

    다음 예에서 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()를 사용하면 잘못된 입력, 실패한 작업 등 중요하고 즉각적인 주의가 필요한 문제를 기록하거나 예기치 않은 동작을 디버깅할 수 있습니다.

    주:
    콘솔 API 메서드는 Glide System API (예: gs.info, gs.warn 및 gs.debug)와 동일한 로깅 기능을 제공하지만 콘솔 메서드를 사용하여 메시지를 로깅하는 데 익숙한 개발자가 보다 반사적으로 사용할 수 있습니다. 콘솔 API와 Glide 시스템 API 메서드를 모두 서버에서 사용할 수 있습니다.
    표 9. 매개변수
    이름 유형 설명
    msg 문자열 val1...valN 전달되지 않으면 필수입니다. 시스템 로그 또는 출력에 기록할 기본 메시지 또는 객체입니다. 매개변수를 사용하여 subst1 through substN 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 허용합니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    subst1... substN 문자열 옵션입니다. 에서 대체 문자열을 msg대체할 JavaScript 값 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 더 많은 대체 값이 있는 경우, 포맷 문자열이 없을 때와 같은 방식으로 추가 값이 메시지(msg) 뒤에 추가됩니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    발1... valN 객체 msg 전달되지 않으면 필수입니다. 메인 메시지() 뒤에 추가할 추가 JavaScript 값 목록으로msg, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 유형을 허용하고 지정된 순서대로 출력합니다.
    표 10. 반환
    유형 설명
    안 함
    다음 예제에서 error() 출력에는 각각 다음 코드가 표시됩니다.
    • 첫 번째 예제는 단순히 "오류가 발생했습니다!" 오류 스타일 형식으로 표시됩니다.
    • 두 번째는 "모듈 오류: ModuleName"을 표시합니다.
    • 세 번째는 "예기치 않은 값: 42"를 표시합니다.
    console.error("An error occurred!");
    console.error("Error in module:", "ModuleName");
    console.error("Unexpected value: %d", 42);
    

    콘솔 - 그룹(문자열 레이블)

    시스템 로그에 새 인라인 그룹을 만듭니다. 여기서 모든 후속 메시지는 groupEnd() 가 호출될 때까지 추가 수준에서 들여쓰기됩니다. 이 방법을 사용하여 출력 및 시스템 로그에서 관련 메시지를 시각적으로 구성하고 그룹화합니다.

    그룹화를 종료하려면 메서드를 호출합니다 콘솔 - groupEnd() . groupEnd() 메서드는 또한 그룹의 들여쓰기를 한 단계 줄입니다.

    주:
    group() 은 출력의 모든 그룹화 수준을 표시하며 축소하거나 확장할 수 없습니다.
    표 11. 매개변수
    이름 유형 설명
    레이블 문자열 옵션입니다. 출력에 표시할 그룹의 레이블 이름입니다.

    기본값: 레이블을 전달하지 않으면 group() 은 텍스트를 출력하지 않지만 새 빈 줄을 한 단계 들여씁니다.

    표 12. 반환
    유형 설명
    안 함

    다음 예제에서는 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()으로 만든 현재 인라인 그룹을 종료하고 들여쓰기를 한 단계 줄입니다.

    표 13. 매개변수
    이름 유형 설명
    없음
    표 14. 반환
    유형 설명
    안 함

    다음 예제에서는 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

    콘솔 - info(Object val1... valN, 문자열 메시지, 문자열 subst1... substN)

    정보 수준에서 시스템 로그에 메시지를 기록합니다.

    주:
    콘솔 API 메서드는 Glide System API (예: gs.info, gs.warn 및 gs.debug)와 동일한 로깅 기능을 제공하지만 콘솔 메서드를 사용하여 메시지를 로깅하는 데 익숙한 개발자가 보다 반사적으로 사용할 수 있습니다. 콘솔 API와 Glide 시스템 API 메서드를 모두 서버에서 사용할 수 있습니다.
    표 15. 매개변수
    이름 유형 설명
    msg 문자열 val1...valN 전달되지 않으면 필수입니다. 시스템 로그 또는 출력에 기록할 기본 메시지 또는 객체입니다. 매개변수를 사용하여 subst1 through substN 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 허용합니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    subst1... substN 문자열 옵션입니다. 에서 대체 문자열을 msg대체할 JavaScript 값 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 더 많은 대체 값이 있는 경우, 포맷 문자열이 없을 때와 같은 방식으로 추가 값이 메시지(msg) 뒤에 추가됩니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    발1... valN 객체 msg 전달되지 않으면 필수입니다. 메인 메시지() 뒤에 추가할 추가 JavaScript 값 목록으로msg, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 유형을 허용하고 지정된 순서대로 출력합니다.
    표 16. 반환
    유형 설명
    안 함

    다음 예제에서는 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)

    시스템 로그에 메시지를 기록합니다.

    주:
    콘솔 API 메서드는 Glide System API (예: gs.info, gs.warn 및 gs.debug)와 동일한 로깅 기능을 제공하지만 콘솔 메서드를 사용하여 메시지를 로깅하는 데 익숙한 개발자가 보다 반사적으로 사용할 수 있습니다. 콘솔 API와 Glide 시스템 API 메서드를 모두 서버에서 사용할 수 있습니다.
    표 17. 매개변수
    이름 유형 설명
    msg 문자열 val1...valN 전달되지 않으면 필수입니다. 시스템 로그 또는 출력에 기록할 기본 메시지 또는 객체입니다. 매개변수를 사용하여 subst1 through substN 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 허용합니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    subst1... substN 문자열 옵션입니다. 에서 대체 문자열을 msg대체할 JavaScript 값 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 더 많은 대체 값이 있는 경우, 포맷 문자열이 없을 때와 같은 방식으로 추가 값이 메시지(msg) 뒤에 추가됩니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    발1... valN 객체 msg 전달되지 않으면 필수입니다. 메인 메시지() 뒤에 추가할 추가 JavaScript 값 목록으로msg, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 유형을 허용하고 지정된 순서대로 출력합니다.
    표 18. 반환
    유형 설명
    안 함

    다음 예제에서는 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개의 타이머를 실행할 수 있습니다. 동일한 레이블 이름으로 Console timeEnd() 메서드를 호출하면 카운터는 타이머가 시작된 이후 경과된 시간(밀리초)을 출력합니다. Console timeLog() 메서드를 사용하여 타이머의 시작 시간과 종료 시간 사이에 캡처된 경과 시간을 기록합니다.

    다른 시간 기반 콘솔 API 메서드와 함께 이 메서드를 사용하는 방법에 대한 예제는 의 "타이머 사용"을 콘솔 - 범위 지정, 전역참조하십시오.

    표 19. 매개변수
    이름 유형 설명
    레이블 문자열 옵션입니다. 새 타이머에 지정할 이름입니다. 호출할 콘솔 - timeEnd(String label) 때 동일한 이름을 사용하여 타이머를 중지하고 경과 시간을 콘솔에 출력합니다.

    최대 타이머 수: 10,000

    기본값: 생략하면 레이블 "기본값" 을 사용합니다.

    표 20. 반환
    유형 설명
    안 함

    다음은 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 메서드와 함께 이 메서드를 사용하는 방법에 대한 예제는 의 "타이머 사용"을 콘솔 - 범위 지정, 전역참조하십시오.

    표 21. 매개변수
    이름 유형 설명
    레이블 문자열 옵션입니다. 중지할 타이머의 이름입니다. 중지되면 경과 시간이 종료되었다는 표시기와 함께 콘솔에 자동으로 표시됩니다. 이 레이블은 매개변수에 콘솔 - 시간(문자열 레이블) label 지정된 타이머와 일치해야 하며 대소문자를 구분합니다.

    기본값: 생략하면 "기본값" 레이블을 사용합니다.

    표 22. 반환
    유형 설명
    안 함

    다음 예제에서는 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 메서드와 함께 이 메서드를 사용하는 방법에 대한 예제는 의 "타이머 사용"을 콘솔 - 범위 지정, 전역참조하십시오.

    표 23. 매개변수
    이름 유형 설명
    레이블 문자열 옵션입니다. 콘솔에 기록할 타이머의 이름입니다. 매개변수에 콘솔 - 시간(문자열 레이블) label 지정된 타이머와 일치해야 하며 대/소문자를 구분합니다.

    기본값: 생략하면 레이블 "기본값" 을 사용합니다.

    valN 객체 옵션입니다. 타이머 출력 후 기록할 추가 값입니다. 문자열에 대한 특수 처리를 사용하여 모든 데이터 유형을 지원하는 구조화되지 않은 객체를 허용합니다.
    표 24. 반환
    유형 설명
    안 함

    다음 예제는 이전에 time() 메서드를 사용하여 시작한 타이머의 레이블 값을 사용하여 timeLog()를 호출하는 방법을 보여줍니다. timeLog() 메서드는 타이머의 현재 값을 기록합니다.

    console.time("reticulating splines");
    reticulateSplines();
    console.timeLog("reticulating splines");
    // reticulating splines: 650ms

    타이머 이름이 생략된 경우 타이머의 이름은 "default"로 지정됩니다.

    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(Object 객체)

    정보 수준에서 시스템 로그에 스택 추적을 기록합니다.

    표 25. 매개변수
    이름 유형 설명
    객체 객체 옵션입니다. 추적과 함께 콘솔에 출력할 0개 이상의 객체입니다. 객체는 메서드에 콘솔 - log(Object val1... val2, 문자열 메시지, 문자열 subst1... subst2) 전달되는 경우와 동일한 방식으로 어셈블되고 형식이 지정됩니다.

    기본값: 출력에 전체 스택을 반환합니다.

    표 26. 반환
    유형 설명
    안 함

    다음 예제에서는 trace() 가 스택 추적과 함께 메시지 추적 예제를 기록하는 방법을 보여 줍니다.

    function firstFunction() {
        secondFunction();
    }
    
    function secondFunction() {
        thirdFunction();
    }
    
    function thirdFunction() {
        console.trace('Trace example');
    }
    
    firstFunction();

    스택 추적은 secondFunction 에 의해 호출되고, 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)

    시스템 로그에 주의 수준으로 경고 메시지를 기록합니다.

    주:
    콘솔 API 메서드는 Glide System API (예: gs.info, gs.warn 및 gs.debug)와 동일한 로깅 기능을 제공하지만 콘솔 메서드를 사용하여 메시지를 로깅하는 데 익숙한 개발자가 보다 반사적으로 사용할 수 있습니다. 콘솔 API와 Glide 시스템 API 메서드를 모두 서버에서 사용할 수 있습니다.
    표 27. 매개변수
    이름 유형 설명
    msg 문자열 val1...valN 전달되지 않으면 필수입니다. 시스템 로그 또는 출력에 기록할 기본 메시지 또는 객체입니다. 매개변수를 사용하여 subst1 through substN 설정할 수 있는 0개 이상의 대체 값이 포함된 문자열을 허용합니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    subst1... substN 문자열 옵션입니다. 에서 대체 문자열을 msg대체할 JavaScript 값 이러한 값은 지정된 순서대로 기록되거나 표시됩니다. 대체 문자열보다 더 많은 대체 값이 있는 경우, 포맷 문자열이 없을 때와 같은 방식으로 추가 값이 메시지(msg) 뒤에 추가됩니다.

    자세한 내용은 의 콘솔 - 범위 지정, 전역 '대체 문자열 사용'을 참조하십시오.

    발1... valN 객체 msg 전달되지 않으면 필수입니다. 메인 메시지() 뒤에 추가할 추가 JavaScript 값 목록으로msg, 공백 또는 다른 구분 기호로 구분됩니다. 문자열이나 객체를 포함한 모든 JavaScript 데이터 유형을 허용하고 지정된 순서대로 출력합니다.
    표 28. 반환
    유형 설명
    안 함

    다음 예제에서는 warn() 을 사용하여 일반적으로 눈에 띄도록 스타일이 지정된 경고 메시지를 기록합니다(예: 경고 아이콘이나 노란색 텍스트). 다음은 기록의 우선순위를 확인하는 예시입니다. 우선순위가 높으면(priority ==="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);
        }
    }
    결과적으로 warn() 은 다음과 같이 오류를 기록하거나 표시합니다.
    • 높은 우선순위의 경우: ⚠️ 경고: 우선순위가 높은 인시던트입니다! 즉각적인 조치가 필요합니다.
    • 기타 우선순위의 경우: ⚠️ 참고: 우선순위가 높지 않습니다. 현재 우선순위: 3