log 함수

log 함수

log 함수는 로그 파일이나 stdout에 한 줄을 기록해요.

인자(Args):

  • msg: 기록할 메시지(문자열)
  • info: False면 로그 파일에만 쓰고, True면 로그 파일과 stdout 양쪽에 써요 (기본값=False)

출처: 문서

본문

코드 소스는 GitHub나 아래 코드를 참고해요:

    def log(msg: str, info: bool = False) -> str: 
        """Logs a line to either the log file or stdout.

        :param msg: The message to log
        :param info: If `False`, write to the log file. If `True`, write to
            both the log file and stdout.

        > macros/my_log_macro.sql

            {% macro some_macro(arg1, arg2) %}
              {{ log("Running some_macro: " ~ arg1 ~ ", " ~ arg2) }}
            {% endmacro %}"
        """
        if info:
            fire_event(JinjaLogInfo(msg=msg, node_info=get_node_info()))
        else:
            fire_event(JinjaLogDebug(msg=msg, node_info=get_node_info()))
        return ""

{% macro some_macro(arg1, arg2) %}

	{{ log("Running some_macro: " ~ arg1 ~ ", " ~ arg2) }}

{% endmacro %}

더 알아보기 (Learn more)

  • log는 디버깅할 때 자주 쓰여요. info=True로 하면 콘솔에도 보여요.
  • 관련 개념: print 함수, exceptions.