Bird
Raised Fist0
Spring Bootframework~20 mins

Package-level log configuration in Spring Boot - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Spring Boot Logging Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
Understanding package-level log output in Spring Boot
Given the following Spring Boot logging configuration, what will be the log level for classes in the package com.example.service?
Spring Boot
logging.level.com.example=INFO
logging.level.com.example.service=DEBUG
logging.level.com.example.repository=ERROR
AERROR
BINFO
CDEBUG
DWARN
Attempts:
2 left
💡 Hint
Remember that more specific package settings override broader ones.
📝 Syntax
intermediate
2:00remaining
Identify the correct YAML syntax for package-level logging
Which of the following YAML snippets correctly sets the log level to WARN for the package org.project.module in Spring Boot?
Alogging.level.org.project.module = WARN
B
NRAW :eludom.tcejorp.gro    
:level  
:gniggol
C
logging:
  level:
    org.project.module: "WARN"
D
logging:
  level:
    org.project.module: WARN
Attempts:
2 left
💡 Hint
YAML uses indentation and colons, not equal signs.
🔧 Debug
advanced
2:00remaining
Why does the package-level log configuration not apply?
You set logging.level.com.example=DEBUG in application.properties, but logs from com.example.controller still show at INFO level. What is the most likely cause?
AThere is a more specific log level set for <code>com.example.controller</code> overriding DEBUG
BThe logging framework does not support package-level configuration
CThe log level DEBUG is not a valid level and defaults to INFO
DThe <code>application.properties</code> file is not loaded by Spring Boot
Attempts:
2 left
💡 Hint
Check if any other configuration overrides the package level.
❓ state_output
advanced
2:00remaining
Resulting log level after multiple package-level settings
Given these settings in application.properties:
logging.level.com=ERROR
logging.level.com.example=INFO
logging.level.com.example.sub=DEBUG
What is the effective log level for a class in com.example.sub.module?
AINFO
BDEBUG
CWARN
DERROR
Attempts:
2 left
💡 Hint
The most specific package-level setting applies.
🧠 Conceptual
expert
2:00remaining
Why use package-level log configuration in Spring Boot?
Which of the following is the best reason to use package-level log configuration instead of class-level logging in Spring Boot?
AIt allows controlling log verbosity for groups of classes easily without changing each class individually
BIt improves application performance by disabling logging completely
CIt automatically formats log messages with package names
DIt enables logging to external systems without code changes
Attempts:
2 left
💡 Hint
Think about managing many classes at once.

Practice

(1/5)
1. What is the purpose of setting logging.level.<package>=<level> in Spring Boot's application.properties?
easy
A. To control the logging detail for a specific Java package
B. To define the database connection URL
C. To set the server port number
D. To configure the application's timezone

Solution

  1. Step 1: Understand the configuration key

    The key logging.level.<package> is used to specify logging levels for Java packages in Spring Boot.
  2. Step 2: Identify the purpose of this setting

    This setting controls how detailed the logs are for that package, helping to focus on important logs and reduce noise.
  3. Final Answer:

    To control the logging detail for a specific Java package -> Option A
  4. Quick Check:

    Package-level log control = A [OK]
Hint: Remember: logging.level.package sets log detail per package [OK]
Common Mistakes:
  • Confusing logging level with server or database settings
  • Trying to set logging level without specifying a package
  • Using incorrect property keys like logging.package.level
2. Which of the following is the correct syntax to set the log level to DEBUG for the package com.example.service in application.properties?
easy
A. logging.level=com.example.service=DEBUG
B. log.level.com.example.service=DEBUG
C. logging.com.example.service.level=DEBUG
D. logging.level.com.example.service=DEBUG

Solution

  1. Step 1: Recall the correct property format

    The correct format is logging.level.<package>=<level>, so the package name comes immediately after logging.level..
  2. Step 2: Match the option to the format

    logging.level.com.example.service=DEBUG matches this format exactly: logging.level.com.example.service=DEBUG.
  3. Final Answer:

    logging.level.com.example.service=DEBUG -> Option D
  4. Quick Check:

    Correct syntax = B [OK]
Hint: Use logging.level.package=LEVEL exactly as shown [OK]
Common Mistakes:
  • Adding extra '=' signs in the property
  • Swapping order of package and level
  • Using 'log.level' instead of 'logging.level'
3. Given the following application.properties settings:
logging.level.com.example=INFO
logging.level.com.example.service=DEBUG
What will be the log level for classes in com.example.service package?
medium
A. INFO
B. DEBUG
C. ERROR
D. WARN

Solution

  1. Step 1: Understand package-level log hierarchy

    More specific package settings override broader ones. Here, com.example.service is more specific than com.example.
  2. Step 2: Determine effective log level

    The com.example.service package is set to DEBUG, which overrides the INFO level set for com.example.
  3. Final Answer:

    DEBUG -> Option B
  4. Quick Check:

    Specific package level overrides general = C [OK]
Hint: More specific package log level overrides parent package [OK]
Common Mistakes:
  • Assuming parent package level applies to all subpackages
  • Ignoring more specific package settings
  • Confusing INFO and DEBUG levels
4. You set logging.level.com.example=TRACE in application.properties but still see only INFO logs from com.example classes. What is the most likely cause?
medium
A. Logging is disabled globally
B. TRACE level is not supported in Spring Boot
C. Another configuration overrides the log level to INFO
D. The package name is misspelled in the properties file

Solution

  1. Step 1: Verify if TRACE is supported

    TRACE is a valid log level in Spring Boot, so this is not the issue.
  2. Step 2: Consider configuration overrides

    If logs show INFO instead of TRACE, likely another config (like environment variables or YAML) overrides the level to INFO.
  3. Final Answer:

    Another configuration overrides the log level to INFO -> Option C
  4. Quick Check:

    Config override causes unexpected log level = D [OK]
Hint: Check for conflicting configs if log level seems ignored [OK]
Common Mistakes:
  • Assuming TRACE is unsupported
  • Not checking for typos in package name
  • Ignoring global logging settings
5. You want to reduce log noise by setting ERROR level for com.example.repository but keep DEBUG for com.example.service. Which application.properties configuration achieves this?
hard
A. logging.level.com.example.repository=ERROR logging.level.com.example.service=DEBUG
B. logging.level.com.example=ERROR logging.level.com.example.service=DEBUG
C. logging.level.com.example.repository=DEBUG logging.level.com.example.service=ERROR
D. logging.level.com.example.repository=INFO logging.level.com.example.service=DEBUG

Solution

  1. Step 1: Set ERROR level specifically for repository package

    Use logging.level.com.example.repository=ERROR to reduce noise from repository logs.
  2. Step 2: Set DEBUG level specifically for service package

    Use logging.level.com.example.service=DEBUG to keep detailed logs for service package.
  3. Step 3: Combine both settings correctly

    logging.level.com.example.repository=ERROR logging.level.com.example.service=DEBUG correctly sets both packages with their respective levels in application.properties.
  4. Final Answer:

    logging.level.com.example.repository=ERROR logging.level.com.example.service=DEBUG -> Option A
  5. Quick Check:

    Separate package levels set correctly = A [OK]
Hint: Set each package level separately for precise control [OK]
Common Mistakes:
  • Setting parent package level instead of specific packages
  • Swapping log levels between packages
  • Using incorrect property keys or syntax
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