MetricSign
EN|NLRequest Access
Low severityconfiguration

Power BI Refresh Error:
INVALID_LOG_LEVEL

What does this error mean?

An ALTER statement attempted to set the LOG_LEVEL parameter on a Snowflake object to an unrecognized value, causing Snowflake to reject the configuration change.

Common causes

  • 1The LOG_LEVEL value was misspelled or capitalized differently than expected (Snowflake accepts TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF)
  • 2An infrastructure-as-code script set LOG_LEVEL from an environment variable that was empty or had a non-standard value
  • 3A procedure used a dynamic SET LOG_LEVEL call with a variable that resolved to an invalid string
  • 4The object type does not support the LOG_LEVEL parameter at the scope being set

How to fix it

  1. 1Step 1: Check the valid LOG_LEVEL values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF (case-insensitive in SQL but must match the enum).
  2. 2Step 2: Correct the ALTER statement: ALTER FUNCTION <name> SET LOG_LEVEL = 'WARN' (for example).
  3. 3Step 3: For IaC scripts, validate the environment variable value before it is interpolated into SQL.
  4. 4Step 4: After correcting, run SHOW PARAMETERS LIKE 'LOG_LEVEL' IN FUNCTION <name> to confirm the value was applied.
  5. 5Step 5: If changing at account scope, use ALTER ACCOUNT SET LOG_LEVEL = '<value>' and verify with SHOW PARAMETERS LIKE 'LOG_LEVEL' IN ACCOUNT.

Frequently asked questions

Does changing LOG_LEVEL affect query performance in Snowflake?

High-verbosity levels like TRACE and DEBUG can add overhead because Snowflake writes more records to the event table per function invocation. For production functions handling high query volumes, INFO or WARN is recommended.

Can LOG_LEVEL be set at the account level to affect all objects?

Yes. Setting LOG_LEVEL at the account level provides a default for all objects that do not have an explicit override. Object-level settings take precedence over account-level defaults.

Other configuration errors