java.util.logging


1. Basic Logging:

import java.util.logging.Logger;

public class BasicLogging {
    private static final Logger logger = Logger.getLogger(BasicLogging.class.getName());

    public static void main(String[] args) {
        logger.info("This is an informational message.");
        logger.warning("This is a warning message.");
        logger.severe("This is an error message.");
    }
}

2. Logging to Different Handlers:

import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Logger;

public class DifferentHandlers {
    private static final Logger logger = Logger.getLogger(DifferentHandlers.class.getName());

    public static void main(String[] args) {
        try {
            // Create console handler and set level to INFO
            ConsoleHandler consoleHandler = new ConsoleHandler();
            consoleHandler.setLevel(Level.INFO);
            logger.addHandler(consoleHandler);

            // Create file handler and set level to WARNING
            FileHandler fileHandler = new FileHandler("mylog.log");
            fileHandler.setLevel(Level.WARNING);
            logger.addHandler(fileHandler);

            // Log messages
            logger.info("This is an informational message.");
            logger.warning("This is a warning message.");
            logger.severe("This is an error message.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. Custom Formatter:

4. Filters:

5. Logging from Exceptions:

6. Logging to a Database:

7. Logging to a Web Service:

8. Level Inheritance:

9. Loggers by Class Name:

10. Loggers by Name:

11. File Logging with Rotation: