Practice
1. What is the main purpose of logging in a Rails application?
easy
Solution
Step 1: Understand logging purpose
Logging captures events and errors that happen in the app so developers can check them later.Step 2: Differentiate from monitoring
Monitoring is about watching app health live, not storing past events.Final Answer:
To record events and errors for later review -> Option AQuick Check:
Logging = record events/errors [OK]
Hint: Logging saves past events; monitoring watches live [OK]
Common Mistakes:
- Confusing logging with monitoring
- Thinking logging deploys apps
- Mixing logging with database tasks
2. Which of the following is the correct way to write a log message in Rails?
easy
Solution
Step 1: Recall Rails logging syntax
Rails uses Rails.logger with methods like info, error, debug to write logs.Step 2: Check each option
Only Rails.logger.info "User signed in" uses correct Rails.logger.info syntax.Final Answer:
Rails.logger.info "User signed in" -> Option DQuick Check:
Rails.logger.info is correct syntax [OK]
Hint: Use Rails.logger.method("message") for logging [OK]
Common Mistakes:
- Using undefined logger object
- Wrong method names like write or log
- Incorrect method call syntax
3. Given this Rails code snippet, what will be the log level of the message?
Rails.logger.warn "Disk space low"
medium
Solution
Step 1: Identify the logging method used
The method called is warn, which sets the log level to warning.Step 2: Match method to log level
Rails.logger.warn writes a warning level message.Final Answer:
Warn -> Option BQuick Check:
Rails.logger.warn = Warn level [OK]
Hint: Method name matches log level (warn = Warn) [OK]
Common Mistakes:
- Confusing warn with info or error
- Assuming default log level is info
- Mixing debug and warn levels
4. You added this line in a Rails controller but no log appears:
logger.error "Payment failed"What is the most likely reason?
medium
Solution
Step 1: Understand logger availability in controllers
In Rails controllers, logger is available as a shortcut to Rails.logger.Step 2: Check log level settings
If the log level is set higher than error (like fatal), error messages won't show.Final Answer:
The log level is set higher than error -> Option AQuick Check:
Log level filters out lower severity logs [OK]
Hint: Check log level filters if logs don't appear [OK]
Common Mistakes:
- Assuming logger is undefined in controllers
- Thinking Rails.logger must be used always
- Believing logging is off by default
5. You want to monitor your Rails app's performance in production. Which approach is best?
hard
Solution
Step 1: Understand Rails logging limits
Rails logging records events but does not provide detailed real-time performance monitoring.Step 2: Identify best monitoring practice
External tools like New Relic or Datadog specialize in monitoring app health and performance live.Final Answer:
Integrate an external monitoring tool like New Relic or Datadog -> Option CQuick Check:
Use external tools for monitoring, not just logs [OK]
Hint: Use specialized tools for monitoring, not just logs [OK]
Common Mistakes:
- Expecting Rails logger to monitor performance live
- Using puts for monitoring which is not scalable
- Ignoring external monitoring solutions
