snow spcs service logs¶

Note

You can use Snowpark Container Services from Snowflake CLI only if you have the necessary permissions to use Snowpark Container Services.

Retrieves local logs from a service container.

Syntax¶

snow spcs service logs
  <name>
  --container-name <container_name>
  --instance-id <instance_id>
  --num-lines <num_lines>
  --previous-logs
  --since <since_timestamp>
  --include-timestamps
  --follow
  --follow-interval <follow_interval>
  --connection <connection>
  --host <host>
  --port <port>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --private-key-file <private_key_file>
  --token-file-path <token_file_path>
  --database <database>
  --schema <schema>
  --role <role>
  --warehouse <warehouse>
  --temporary-connection
  --mfa-passcode <mfa_passcode>
  --enable-diag
  --diag-log-path <diag_log_path>
  --diag-allowlist-path <diag_allowlist_path>
  --format <format>
  --verbose
  --debug
  --silent
Copy

Arguments¶

name

Identifier of the service; for example: my_service.

Options¶

--container-name TEXT

Name of the container.

--instance-id TEXT

ID of the service instance, starting with 0.

--num-lines INTEGER

Number of lines to retrieve. Default: 500.

--previous-logs

Retrieve logs from the last terminated container. Default: False.

--since TEXT

Start log retrieval from a specified UTC timestamp.

--include-timestamps

Include timestamps in logs. Default: False.

--follow

Stream logs in real-time. Default: False.

--follow-interval INTEGER

Set custom polling intervals for log streaming (–follow flag) in seconds. Default: 2.

--connection, -c, --environment TEXT

Name of the connection, as defined in your config.toml file. Default: default.

--host TEXT

Host address for the connection. Overrides the value specified for the connection.

--port INTEGER

Port for the connection. Overrides the value specified for the connection.

--account, --accountname TEXT

Name assigned to your Snowflake account. Overrides the value specified for the connection.

--user, --username TEXT

Username to connect to Snowflake. Overrides the value specified for the connection.

--password TEXT

Snowflake password. Overrides the value specified for the connection.

--authenticator TEXT

Snowflake authenticator. Overrides the value specified for the connection.

--private-key-file, --private-key-path TEXT

Snowflake private key file path. Overrides the value specified for the connection.

--token-file-path TEXT

Path to file with an OAuth token that should be used when connecting to Snowflake.

--database, --dbname TEXT

Database to use. Overrides the value specified for the connection.

--schema, --schemaname TEXT

Database schema to use. Overrides the value specified for the connection.

--role, --rolename TEXT

Role to use. Overrides the value specified for the connection.

--warehouse TEXT

Warehouse to use. Overrides the value specified for the connection.

--temporary-connection, -x

Uses connection defined with command line parameters, instead of one defined in config. Default: False.

--mfa-passcode TEXT

Token to use for multi-factor authentication (MFA).

--enable-diag

Run Python connector diagnostic test. Default: False.

--diag-log-path TEXT

Diagnostic report path. Default: <temporary_directory>.

--diag-allowlist-path TEXT

Diagnostic report path to optional allowlist.

--format [TABLE|JSON]

Specifies the output format. Default: TABLE.

--verbose, -v

Displays log entries for log levels info and higher. Default: False.

--debug

Displays log entries for log levels debug and higher; debug logs contain additional information. Default: False.

--silent

Turns off intermediate output to console. Default: False.

--help

Displays the help text for this command.

Usage notes¶

  • The current role must have the MONITOR privilege on the service to access the container logs.

  • The function returns a container log as a string.

  • When using the --follow option for real-time log streaming, the --num-lines and --previous-logs options are not supported.

Examples¶

  • The following example displays the last three lines of the echo_service logs:

    snow spcs service logs echo_service --container-name echo --instance-id 0 --num-lines 3
    
    Copy
    10.18.94.31 - - [22/Nov/2024 09:16:47] "GET /healthcheck HTTP/1.1" 200 -
    10.18.94.31 - - [22/Nov/2024 09:16:52] "GET /healthcheck HTTP/1.1" 200 -
    10.18.94.31 - - [22/Nov/2024 09:16:57] "GET /healthcheck HTTP/1.1" 200 -
    
  • This example streams the logs for the echo_service service and updates them every 10 seconds:

    snow spcs service logs echo_service --container-name echo --instance-id 0 --follow --follow-interval 10
    
    Copy
  • The following example displays the log entries since 9:30 UTC, 21 Nov 2024:

    snow spcs service logs echo_service --container-name echo --instance-id 0 --since 2024-11-21T09:30:00Z
    
    Copy
  • The following example retrieves logs from the last-terminated container:

    snow spcs service logs example_job_service --container-name main --instance-id 0 --previous-logs
    
    Copy