Practice
1. Why is logging important in a production Express app?
easy
Solution
Step 1: Understand the purpose of logging
Logging records events and errors happening inside the app, which helps developers see what is going wrong or right.Step 2: Identify the benefit in production
In production, logging helps track issues as they happen, making it easier to fix problems quickly and keep the app reliable.Final Answer:
It helps track errors and understand app behavior in real time. -> Option BQuick Check:
Logging = Track errors and behavior [OK]
Hint: Logging = watching app actions live to catch problems [OK]
Common Mistakes:
- Thinking logging fixes bugs automatically
- Believing logging slows down the app intentionally
- Confusing logging with testing
2. Which of the following is the correct way to add a simple log message in an Express app?
easy
Solution
Step 1: Recall the standard logging method in Node.js/Express
The standard way to log messages to the console is usingconsole.log().Step 2: Check each option's syntax
Only console.log('Server started on port 3000'); uses the correct methodconsole.log(). Others use invalid or non-existent methods.Final Answer:
console.log('Server started on port 3000'); -> Option AQuick Check:
Standard log method = console.log() [OK]
Hint: Use console.log() to print logs in Express [OK]
Common Mistakes:
- Using non-existent methods like console.print
- Swapping method and object names incorrectly
- Forgetting parentheses in function calls
3. Given this Express middleware code snippet, what will be logged when a request is made?
app.use((req, res, next) => {
console.log(`Request method: ${req.method}`);
next();
});
app.get('/', (req, res) => res.send('Hello'));medium
Solution
Step 1: Understand the middleware logging
The middleware logs the HTTP method of the incoming request usingreq.method.Step 2: Identify the request type for the given route
The route isapp.get('/', ...), so the request method is GET.Final Answer:
Request method: GET -> Option CQuick Check:
req.method for GET request = GET [OK]
Hint: req.method shows HTTP method like GET or POST [OK]
Common Mistakes:
- Confusing URL path with method
- Expecting POST when route is GET
- Thinking middleware doesn't log anything
4. You added this logging middleware but see no logs in production:
app.use((req, res, next) => {
console.log('Request received');
next();
});
What is the most likely reason?medium
Solution
Step 1: Check middleware order importance
Middleware must be added before route handlers to run on requests. If added after, it won't log requests.Step 2: Verify other options
console.log is enabled by default, next() is present, and logging works without extra packages.Final Answer:
The middleware is added after the route handlers. -> Option AQuick Check:
Middleware order affects logging execution [OK]
Hint: Add logging middleware before routes to see logs [OK]
Common Mistakes:
- Assuming console.log is disabled
- Forgetting middleware order matters
- Thinking next() is optional
5. In production, why should you avoid logging sensitive user data directly in Express logs?
hard
Solution
Step 1: Understand privacy concerns in logging
Logging sensitive data like passwords or personal info can expose it if logs are accessed by unauthorized people.Step 2: Recognize security best practices
Good logging avoids sensitive data to protect user privacy and comply with laws like GDPR.Final Answer:
It risks exposing private information and violates privacy rules. -> Option DQuick Check:
Logging sensitive data = privacy risk [OK]
Hint: Never log passwords or private info in production logs [OK]
Common Mistakes:
- Thinking Node.js blocks sensitive data logging
- Believing logs encrypt data automatically
- Assuming large logs are the main issue
