Source Code for Apache Log4j Core Implementation

Apache Log4j Core Implementation provides the functional components of the logging system. Users are free to create their own plugins and include them in the logging configuration. Apache Log4j Core is a required module to use Apache Log4j.

Bytecode (Java 8) for Apache Log4j Core Implementation is provided in a separate JAR file like log4j-core-2.14.1.jar.

Source Code files for Apache Log4j API are provided in both binary packge like apache-log4j-2.14.1-bin.zip and source package like apache-log4j-2.14.1-src.zip. You can download them at Apache Log4j Website.

You can also browse Source Code files for Apache Log4j Core Implementation 2.14.1 below.

✍: FYIcenter.com

org/apache/logging/log4j/core/util/Watcher.java

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements. See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache license, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the license for the specific language governing permissions and
 * limitations under the license.
 */
package org.apache.logging.log4j.core.util;

import java.util.List;

import org.apache.logging.log4j.core.config.ConfigurationListener;
import org.apache.logging.log4j.core.config.Reconfigurable;

/**
 * Watches for changes in a Source and performs an action when it is modified.
 *
 * @see WatchManager
 */
public interface Watcher {

    String CATEGORY = "Watcher";
    String ELEMENT_TYPE = "watcher";

    /**
     * Returns the list of listeners for this configuration.
     * @return The list of listeners.
     */
    List<ConfigurationListener> getListeners();

    /**
     * Called when the configuration has been modified.
     */
    void modified();

    /**
     * Periodically called to determine if the configuration has been modified.
     * @return true if the configuration was modified, false otherwise.
     */
    boolean isModified();

    /**
     * Returns the time the source was last modified or 0 if it is not available.
     * @return the time the source was last modified.
     */
    long getLastModified();

    /**
     * Called when the Watcher is registered.
     * @param source the Source that is being watched.
     */
    void watching(Source source);

    /**
     * Returns the Source being monitored.
     * @return the Source.
     */
    Source getSource();

    /**
     * Creates a new Watcher by copying the original and using the new Reconfigurable and listeners.
     * @param reconfigurable The Reconfigurable.
     * @param listeners the listeners.
     * @param lastModifiedMillis The time the resource was last modified in milliseconds.
     * @return A new Watcher.
     */
    Watcher newWatcher(Reconfigurable reconfigurable, List<ConfigurationListener> listeners, long lastModifiedMillis);
}

org/apache/logging/log4j/core/util/Watcher.java

 

Or download all of them as a single archive file:

File name: log4j-core-2.14.1-sources.jar
File size: 1281358 bytes
Release date: 2021-03-06
Download 

 

Source Code for Apache Log4j JDK Logging Adapter

Source Code for Apache Log4j API

Downloading and Reviewing Apache Log4j Packages

⇑⇑ FAQ for Apache Log4j

2015-11-03, 92837👍, 0💬