Log4j Configuration: Difference between revisions
Jump to navigation
Jump to search
(Created page with "=Internal= * log4j") |
No edit summary |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=External= | |||
* http://logging.apache.org/log4j/2.x/manual/configuration.html | |||
=Internal= | =Internal= | ||
* [[log4j#Subjects|log4j]] | * [[log4j#Subjects|log4j]] | ||
* [[log4j Format Specification]] | |||
=Turning Logging Off Completely for a Category= | |||
<syntaxhighlight lang='xml'> | |||
<category name="io.novaordis.test"> | |||
<priority value="OFF"/> | |||
</category> | |||
</syntaxhighlight> | |||
=Turning Logging Off for an Inner Class= | |||
If we have an inner class with its own Logging instance: | |||
<syntaxhighlight lang='xml'> | |||
package x.y.z; | |||
public class A { | |||
... | |||
public static class B { | |||
private static final Logger log = Logger.getLogger(B.class); | |||
... | |||
} | |||
} | |||
</syntaxhighlight> | |||
then we refer to that category from a log4j.xml file as follows: | |||
<syntaxhighlight lang='xml'> | |||
<log4j:configuration ...> | |||
... | |||
<category name="x.y.z.A$B"> | |||
<priority value="DEBUG"/> | |||
</category> | |||
... | |||
</log4j:configuration> | |||
</syntaxhighlight> | |||
=Programmatic Configuration with Override of Configuration Files from Classpath= | |||
<syntaxhighlight lang='java'> | |||
public class SomeClass { | |||
private static Logger log; // DO NOT initialize here | |||
.... | |||
File log4jConfigFile = ...; | |||
if (log4jConfigFile != null) { | |||
// we want to override the log4j configuration embedded with the jar | |||
URL url = log4jConfigFile.toURI().toURL(); | |||
System.setProperty(LogManager.DEFAULT_CONFIGURATION_KEY, url.toExternalForm()); | |||
} | |||
log = Logger.getLogger(SomeClass.class); | |||
... | |||
} | |||
</syntaxhighlight> | |||
=Configuration with Properties= | |||
{{External|http://logging.apache.org/log4j/2.x/manual/configuration.html#Properties}} |
Latest revision as of 21:32, 20 December 2018
External
Internal
Turning Logging Off Completely for a Category
<category name="io.novaordis.test">
<priority value="OFF"/>
</category>
Turning Logging Off for an Inner Class
If we have an inner class with its own Logging instance:
package x.y.z;
public class A {
...
public static class B {
private static final Logger log = Logger.getLogger(B.class);
...
}
}
then we refer to that category from a log4j.xml file as follows:
<log4j:configuration ...>
...
<category name="x.y.z.A$B">
<priority value="DEBUG"/>
</category>
...
</log4j:configuration>
Programmatic Configuration with Override of Configuration Files from Classpath
public class SomeClass {
private static Logger log; // DO NOT initialize here
....
File log4jConfigFile = ...;
if (log4jConfigFile != null) {
// we want to override the log4j configuration embedded with the jar
URL url = log4jConfigFile.toURI().toURL();
System.setProperty(LogManager.DEFAULT_CONFIGURATION_KEY, url.toExternalForm());
}
log = Logger.getLogger(SomeClass.class);
...
}