Bird
Raised Fist0
Spring Bootframework~10 mins

Package-level log configuration in Spring Boot - Interactive Code Practice

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

Complete the code to set the log level for a package in application.properties.

Spring Boot
logging.level.[1]=DEBUG
Drag options to blanks, or click blank then click option'
Aspring.datasource
Broot
Cserver.port
Dcom.example.myapp
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'root' instead of the package name for package-level logging.
Confusing server or datasource properties with logging configuration.
2fill in blank
medium

Complete the code to set the log level to WARN for the package 'org.springframework.web'.

Spring Boot
logging.level.[1]=WARN
Drag options to blanks, or click blank then click option'
Aorg.springframework.boot
Borg.springframework.web
Corg.hibernate
Dorg.apache.catalina
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing unrelated packages like org.hibernate or org.apache.catalina.
Using the boot package instead of the web package.
3fill in blank
hard

Fix the error in the YAML configuration to set DEBUG level for 'com.example.service'.

Spring Boot
logging:
  level:
    [1]: DEBUG
Drag options to blanks, or click blank then click option'
Acom.example.service
Bcom.example.controller
Ccom.example.repository
Dcom.example
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong package name that does not match the service layer.
Incorrect indentation or key names in YAML.
4fill in blank
hard

Fill both blanks to configure package-level logging in application.properties for 'com.app' at INFO and 'com.app.db' at ERROR.

Spring Boot
logging.level.[1]=INFO
logging.level.[2]=ERROR
Drag options to blanks, or click blank then click option'
Acom.app
Bcom.app.db
Ccom.application
Dcom.database
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up package names or using incorrect names.
Setting the same level for both packages instead of different levels.
5fill in blank
hard

Fill all three blanks to create a YAML snippet setting log levels: 'com.app' to DEBUG, 'com.app.api' to INFO, and 'com.app.api.v1' to WARN.

Spring Boot
logging:
  level:
    [1]: DEBUG
    [2]: INFO
    [3]: WARN
Drag options to blanks, or click blank then click option'
Acom.app
Bcom.app.api
Ccom.app.api.v1
Dcom.application.api
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect package names or wrong order.
Confusing the indentation or YAML syntax.

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