Class ConfigurationSource
- java.lang.Object
-
- org.apache.logging.log4j.core.config.ConfigurationSource
-
public class ConfigurationSource extends java.lang.ObjectRepresents the source for the logging configuration.
-
-
Field Summary
Fields Modifier and Type Field Description static ConfigurationSourceCOMPOSITE_SOURCEConfigurationSource to use withCompositeConfiguration.private byte[]dataprivate longlastModifiedprivate longmodifiedMillisstatic ConfigurationSourceNULL_SOURCEConfigurationSource to use with Configurations that do not require a "real" configuration source.private Sourcesourceprivate java.io.InputStreamstream
-
Constructor Summary
Constructors Modifier Constructor Description privateConfigurationSource(byte[] data, java.net.URL url, long lastModified)ConfigurationSource(java.io.InputStream stream)Constructs a newConfigurationSourcewith the specified input stream.ConfigurationSource(java.io.InputStream stream, java.io.File file)Constructs a newConfigurationSourcewith the specified input stream that originated from the specified file.ConfigurationSource(java.io.InputStream stream, java.net.URL url)Constructs a newConfigurationSourcewith the specified input stream that originated from the specified URL.ConfigurationSource(java.io.InputStream stream, java.net.URL url, long lastModified)Constructs a newConfigurationSourcewith the specified input stream that originated from the specified URL.ConfigurationSource(java.io.InputStream stream, java.nio.file.Path path)Constructs a newConfigurationSourcewith the specified input stream that originated from the specified path.ConfigurationSource(Source source, byte[] data, long lastModified)Constructs a newConfigurationSourcewith the specified source.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static ConfigurationSourcefromResource(java.lang.String resource, java.lang.ClassLoader loader)Retrieves the configuration via the ClassLoader.static ConfigurationSourcefromUri(java.net.URI configLocation)Loads the configuration from a URI.private static ConfigurationSourcegetConfigurationSource(java.net.URL url)java.io.FilegetFile()Returns the file configuration source, ornullif this configuration source is based on an URL or has neither a file nor an URL.java.io.InputStreamgetInputStream()Returns the input stream that this configuration source was constructed with.longgetLastModified()Returns the time the resource was last modified or 0 if it is not available.java.lang.StringgetLocation()Returns a string describing the configuration source file or URL, ornullif this configuration source has neither a file nor an URL.java.net.URIgetURI()Returns a URI representing the configuration resource or null if it cannot be determined.java.net.URLgetURL()Returns the configuration source URL, ornullif this configuration source is based on a file or has neither a file nor an URL.private booleanisFile()private booleanisLocation()private booleanisURL()ConfigurationSourceresetInputStream()Returns a newConfigurationSourcewhose input stream is reset to the beginning.voidsetData(byte[] data)voidsetModifiedMillis(long modifiedMillis)voidsetSource(Source source)Deprecated.Not used internally, no replacement.private static byte[]toByteArray(java.io.InputStream inputStream)Returns the contents of the specifiedInputStreamas a byte array.java.lang.StringtoString()
-
-
-
Field Detail
-
NULL_SOURCE
public static final ConfigurationSource NULL_SOURCE
ConfigurationSource to use with Configurations that do not require a "real" configuration source.
-
COMPOSITE_SOURCE
public static final ConfigurationSource COMPOSITE_SOURCE
ConfigurationSource to use withCompositeConfiguration.
-
stream
private final java.io.InputStream stream
-
data
private volatile byte[] data
-
source
private volatile Source source
-
lastModified
private final long lastModified
-
modifiedMillis
private volatile long modifiedMillis
-
-
Constructor Detail
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream, java.io.File file)Constructs a newConfigurationSourcewith the specified input stream that originated from the specified file.- Parameters:
stream- the input stream, the caller is responsible for closing this resource.file- the file where the input stream originated
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream, java.nio.file.Path path)Constructs a newConfigurationSourcewith the specified input stream that originated from the specified path.- Parameters:
stream- the input stream, the caller is responsible for closing this resource.path- the path where the input stream originated.
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream, java.net.URL url)Constructs a newConfigurationSourcewith the specified input stream that originated from the specified URL.- Parameters:
stream- the input stream, the caller is responsible for closing this resource.url- the URL where the input stream originated
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream, java.net.URL url, long lastModified)Constructs a newConfigurationSourcewith the specified input stream that originated from the specified URL.- Parameters:
stream- the input stream, the caller is responsible for closing this resource.url- the URL where the input stream originatedlastModified- when the source was last modified.
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream) throws java.io.IOExceptionConstructs a newConfigurationSourcewith the specified input stream. Since the stream is the only source of data, this constructor makes a copy of the stream contents.- Parameters:
stream- the input stream, the caller is responsible for closing this resource.- Throws:
java.io.IOException- if an exception occurred reading from the specified stream
-
ConfigurationSource
public ConfigurationSource(Source source, byte[] data, long lastModified)
Constructs a newConfigurationSourcewith the specified source.- Parameters:
source- a Source.data- data from the sourcelastModified- when the source was last modified.
-
ConfigurationSource
private ConfigurationSource(byte[] data, java.net.URL url, long lastModified)
-
-
Method Detail
-
toByteArray
private static byte[] toByteArray(java.io.InputStream inputStream) throws java.io.IOExceptionReturns the contents of the specifiedInputStreamas a byte array.- Parameters:
inputStream- the stream to read- Returns:
- the contents of the specified stream
- Throws:
java.io.IOException- if a problem occurred reading from the stream
-
getFile
public java.io.File getFile()
Returns the file configuration source, ornullif this configuration source is based on an URL or has neither a file nor an URL.- Returns:
- the configuration source file, or
null
-
isFile
private boolean isFile()
-
isURL
private boolean isURL()
-
isLocation
private boolean isLocation()
-
getURL
public java.net.URL getURL()
Returns the configuration source URL, ornullif this configuration source is based on a file or has neither a file nor an URL.- Returns:
- the configuration source URL, or
null
-
setSource
@Deprecated public void setSource(Source source)
Deprecated.Not used internally, no replacement. TODO remove and make source final.
-
setData
public void setData(byte[] data)
-
setModifiedMillis
public void setModifiedMillis(long modifiedMillis)
-
getURI
public java.net.URI getURI()
Returns a URI representing the configuration resource or null if it cannot be determined.- Returns:
- The URI.
-
getLastModified
public long getLastModified()
Returns the time the resource was last modified or 0 if it is not available.- Returns:
- the last modified time of the resource.
-
getLocation
public java.lang.String getLocation()
Returns a string describing the configuration source file or URL, ornullif this configuration source has neither a file nor an URL.- Returns:
- a string describing the configuration source file or URL, or
null
-
getInputStream
public java.io.InputStream getInputStream()
Returns the input stream that this configuration source was constructed with.- Returns:
- the input stream that this configuration source was constructed with.
-
resetInputStream
public ConfigurationSource resetInputStream() throws java.io.IOException
Returns a newConfigurationSourcewhose input stream is reset to the beginning.- Returns:
- a new
ConfigurationSource - Throws:
java.io.IOException- if a problem occurred while opening the new input stream
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
fromUri
public static ConfigurationSource fromUri(java.net.URI configLocation)
Loads the configuration from a URI.- Parameters:
configLocation- A URI representing the location of the configuration.- Returns:
- The ConfigurationSource for the configuration.
-
fromResource
public static ConfigurationSource fromResource(java.lang.String resource, java.lang.ClassLoader loader)
Retrieves the configuration via the ClassLoader.- Parameters:
resource- The resource to load.loader- The default ClassLoader to use.- Returns:
- The ConfigurationSource for the configuration.
-
getConfigurationSource
private static ConfigurationSource getConfigurationSource(java.net.URL url)
-
-