Home / Class/ LoggingDnsQueryLifeCycleObserverFactory Class — netty Architecture

LoggingDnsQueryLifeCycleObserverFactory Class — netty Architecture

Architecture documentation for the LoggingDnsQueryLifeCycleObserverFactory class in LoggingDnsQueryLifeCycleObserverFactory.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  5d10a92f_6b2d_817f_93ad_fcd7b45a6a61["LoggingDnsQueryLifeCycleObserverFactory"]
  fb1446a8_1342_dc2e_8cb0_89b3eb8b96e1["LoggingDnsQueryLifeCycleObserverFactory.java"]
  5d10a92f_6b2d_817f_93ad_fcd7b45a6a61 -->|defined in| fb1446a8_1342_dc2e_8cb0_89b3eb8b96e1
  57721f69_aabc_2812_f736_daf995686f2f["LoggingDnsQueryLifeCycleObserverFactory()"]
  5d10a92f_6b2d_817f_93ad_fcd7b45a6a61 -->|method| 57721f69_aabc_2812_f736_daf995686f2f
  db56e983_5df1_2de5_4fb0_bc8c37b8651a["InternalLogLevel()"]
  5d10a92f_6b2d_817f_93ad_fcd7b45a6a61 -->|method| db56e983_5df1_2de5_4fb0_bc8c37b8651a
  7e85f735_96ae_972b_a0c4_95c97079c838["DnsQueryLifecycleObserver()"]
  5d10a92f_6b2d_817f_93ad_fcd7b45a6a61 -->|method| 7e85f735_96ae_972b_a0c4_95c97079c838

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/LoggingDnsQueryLifeCycleObserverFactory.java lines 33–85

public final class LoggingDnsQueryLifeCycleObserverFactory implements DnsQueryLifecycleObserverFactory {
    private static final InternalLogger DEFAULT_LOGGER =
            InternalLoggerFactory.getInstance(LoggingDnsQueryLifeCycleObserverFactory.class);
    private final InternalLogger logger;
    private final InternalLogLevel level;

    /**
     * Create {@link DnsQueryLifecycleObserver} instances that log events at the default {@link LogLevel#DEBUG} level.
     */
    public LoggingDnsQueryLifeCycleObserverFactory() {
        this(LogLevel.DEBUG);
    }

    /**
     * Create {@link DnsQueryLifecycleObserver} instances that log events at the given log level.
     * @param level The log level to use for logging resolver events.
     */
    public LoggingDnsQueryLifeCycleObserverFactory(LogLevel level) {
        this.level = checkAndConvertLevel(level);
        logger = DEFAULT_LOGGER;
    }

    /**
     * Create {@link DnsQueryLifecycleObserver} instances that log events to a logger with the given class context,
     * at the given log level.
     * @param classContext The class context for the logger to use.
     * @param level The log level to use for logging resolver events.
     */
    public LoggingDnsQueryLifeCycleObserverFactory(Class<?> classContext, LogLevel level) {
        this.level = checkAndConvertLevel(level);
        logger = InternalLoggerFactory.getInstance(checkNotNull(classContext, "classContext"));
    }

    /**
     * Create {@link DnsQueryLifecycleObserver} instances that log events to a logger with the given name context,
     * at the given log level.
     * @param name The name for the logger to use.
     * @param level The log level to use for logging resolver events.
     */
    public LoggingDnsQueryLifeCycleObserverFactory(String name, LogLevel level) {
        this.level = checkAndConvertLevel(level);
        logger = InternalLoggerFactory.getInstance(checkNotNull(name, "name"));
    }

    private static InternalLogLevel checkAndConvertLevel(LogLevel level) {
        return checkNotNull(level, "level").toInternalLevel();
    }

    @Override
    public DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(DnsQuestion question) {
        return new LoggingDnsQueryLifecycleObserver(question, logger, level);
    }
}

Frequently Asked Questions

What is the LoggingDnsQueryLifeCycleObserverFactory class?
LoggingDnsQueryLifeCycleObserverFactory is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/LoggingDnsQueryLifeCycleObserverFactory.java.
Where is LoggingDnsQueryLifeCycleObserverFactory defined?
LoggingDnsQueryLifeCycleObserverFactory is defined in resolver-dns/src/main/java/io/netty/resolver/dns/LoggingDnsQueryLifeCycleObserverFactory.java at line 33.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free