Bird
Raised Fist0
Supabasecloud~10 mins

Monitoring and logging in Supabase - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to enable basic logging in Supabase.

Supabase
const supabase = createClient(supabaseUrl, supabaseKey, { [1]: 'info' });
Drag options to blanks, or click blank then click option'
AlogLevel
Blogging
CdebugMode
Dlog
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'logging' instead of 'logLevel' causes the client to ignore the setting.
Using 'debugMode' is not a valid option in Supabase client.
2fill in blank
medium

Complete the code to fetch logs from Supabase's built-in logging system.

Supabase
const logs = await supabase.[1]('function_logs').select('*');
Drag options to blanks, or click blank then click option'
Afrom
BgetLogs
Ctable
Dlog
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'getLogs' is not a valid Supabase client method.
Using 'log' or 'table' does not correctly specify the table to query.
3fill in blank
hard

Fix the error in the code to subscribe to real-time logs.

Supabase
supabase.[1]('logs').on('INSERT', payload => console.log(payload)).subscribe();
Drag options to blanks, or click blank then click option'
Alisten
Bsubscribe
Cchannel
Dfrom
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'subscribe' directly without specifying the source causes an error.
Using 'listen' or 'channel' are not valid Supabase client methods.
4fill in blank
hard

Fill both blanks to create a filter for error logs with severity greater than 3.

Supabase
const errorLogs = await supabase.from('logs').select('*').[1]('severity', [2], 3);
Drag options to blanks, or click blank then click option'
Agt
Beq
Clt
Dneq
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'eq' or 'lt' will not filter logs with severity greater than 3.
Using different values for method and operator causes errors.
5fill in blank
hard

Fill all three blanks to create a dictionary of logs with keys as uppercase log levels and values as messages for logs with status 'active'.

Supabase
const activeLogs = Object.fromEntries(
  (await supabase.from('logs').select('level, message').eq('status', [1])).data
    .map(log => [log.[2](), log.[3]])
);
Drag options to blanks, or click blank then click option'
A'active'
Blevel.toUpperCase
Cmessage
Dstatus
Attempts:
3 left
💡 Hint
Common Mistakes
Using status without quotes causes a syntax error.
Using 'level' without calling toUpperCase() results in lowercase keys.
Using wrong property names for message causes undefined values.

Practice

(1/5)
1. What is the main purpose of monitoring and logging in Supabase?
easy
A. To keep your app healthy and fix problems quickly
B. To increase the app's loading speed
C. To add new features automatically
D. To change the app's user interface

Solution

  1. Step 1: Understand monitoring and logging roles

    Monitoring and logging track app behavior and errors to maintain health.
  2. Step 2: Identify the main goal

    The goal is to detect and fix problems quickly to keep the app running well.
  3. Final Answer:

    To keep your app healthy and fix problems quickly -> Option A
  4. Quick Check:

    Monitoring and logging = keep app healthy [OK]
Hint: Monitoring = health check; logging = problem records [OK]
Common Mistakes:
  • Confusing monitoring with adding features
  • Thinking logging changes UI
  • Believing monitoring speeds up app
2. Which of the following is the correct command to view logs for a Supabase project with ref abc123 for the last 1 hour?
easy
A. supabase logs --id abc123 --time 1h
B. supabase log --project abc123 --last 1h
C. supabase logs --project-ref abc123 --since 1h
D. supabase logs -p abc123 -t 1hour

Solution

  1. Step 1: Recall the correct syntax for logs command

    The correct command uses supabase logs with --project-ref and --since flags.
  2. Step 2: Match the options with correct flags

    supabase logs --project-ref abc123 --since 1h matches the correct syntax: supabase logs --project-ref abc123 --since 1h.
  3. Final Answer:

    supabase logs --project-ref abc123 --since 1h -> Option C
  4. Quick Check:

    Correct flags = --project-ref and --since [OK]
Hint: Use --project-ref and --since flags with supabase logs [OK]
Common Mistakes:
  • Using 'log' instead of 'logs'
  • Wrong flag names like --id or --last
  • Incorrect time format like '1hour'
3. What will be the output of the command supabase logs --project-ref xyz789 --since 30m?
medium
A. Shows logs from all projects for the last 30 minutes
B. Shows logs from project xyz789 for the last 30 minutes
C. Shows logs from project xyz789 for the last 30 hours
D. Returns an error because --since requires seconds

Solution

  1. Step 1: Understand the command flags

    The --project-ref xyz789 specifies the project, and --since 30m means last 30 minutes.
  2. Step 2: Interpret the output meaning

    The command outputs logs only for project xyz789 from the last 30 minutes.
  3. Final Answer:

    Shows logs from project xyz789 for the last 30 minutes -> Option B
  4. Quick Check:

    --project-ref + --since 30m = last 30 minutes logs [OK]
Hint: Since 30m means last 30 minutes logs [OK]
Common Mistakes:
  • Thinking it shows logs for all projects
  • Confusing 30m with 30 hours
  • Assuming --since needs seconds only
4. You ran supabase logs --project-ref myproj --since 2h but got no output. What is the most likely reason?
medium
A. The project ref is incorrect or does not exist
B. The command requires --until flag as well
C. Logs are only available for the last 1 hour
D. The --since flag must be in seconds, not hours

Solution

  1. Step 1: Check project ref validity

    If the project ref is wrong or missing, no logs will show.
  2. Step 2: Verify command flags and log availability

    The command syntax is correct; logs are available beyond 1 hour; --since accepts hours.
  3. Final Answer:

    The project ref is incorrect or does not exist -> Option A
  4. Quick Check:

    No output usually means wrong project ref [OK]
Hint: Check project ref first if logs show empty [OK]
Common Mistakes:
  • Thinking --until is mandatory
  • Assuming logs only keep 1 hour
  • Believing --since needs seconds only
5. You want to set up alerts to notify you when errors appear in your Supabase logs. Which approach is best?
hard
A. Regularly run supabase logs manually and check for errors
B. Restart the Supabase project daily to clear logs
C. Ignore logs and fix errors only when users report them
D. Use a third-party monitoring tool connected to Supabase logs with alert rules

Solution

  1. Step 1: Understand alerting needs

    Manual checks are slow and error-prone; ignoring logs delays fixes.
  2. Step 2: Choose best practice for alerts

    Using a monitoring tool with alert rules automates error detection and notification.
  3. Final Answer:

    Use a third-party monitoring tool connected to Supabase logs with alert rules -> Option D
  4. Quick Check:

    Automated alerts = faster fixes [OK]
Hint: Automate alerts with monitoring tools, not manual checks [OK]
Common Mistakes:
  • Relying on manual log checks
  • Ignoring logs until problems grow
  • Restarting project clears logs but not errors
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard