Trace: • Log4j Instead of Logging API
Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
jvx:common:util:log4j [2018/02/02 09:52] admin |
jvx:common:util:log4j [2020/06/15 14:40] (current) cduncan Edited for English grammar (capitalization, punctuation, correct verb conjugation) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ~~NOTRANS~~ | ~~NOTRANS~~ | ||
| - | ~~Title: Log4j instead of Logging API~~ | + | ~~Title: Log4j Instead of Logging API~~ |
| - | If you want to use log4j or log4j2 instead of standard Java logging API for your application, simply configure the logger via config.xml of your server zone: | + | If you want to use log4j or log4j2 instead of standard Java logging API for your application, simply add the logger factory configuration to your classpath. First, create a file with the name |
| + | |||
| + | **loggerfactory.properties** | ||
| + | |||
| + | in one of your source/resource directories. Don't use a package name!\\ | ||
| + | Put following content in it: | ||
| + | |||
| + | <file properties loggerfactory.properties> | ||
| + | default.class=com.sibvisions.util.log.log4j.Log4jLoggerFactory | ||
| + | </file> | ||
| + | |||
| + | Don't forget to add the dependencies to your project (log4j or log4j2) and to configure: | ||
| + | |||
| + | <file properties log4j.properties> | ||
| + | log4j.rootLogger=ERROR,stdout | ||
| + | |||
| + | log4j.appender.stdout=org.apache.log4j.ConsoleAppender | ||
| + | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout | ||
| + | log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n | ||
| + | </file> | ||
| + | |||
| + | or | ||
| + | |||
| + | <file xml log4j2.xml> | ||
| + | <?xml version="1.0" encoding="UTF-8"?> | ||
| + | |||
| + | <Configuration> | ||
| + | |||
| + | <Appenders> | ||
| + | <Console name="STDOUT" target="SYSTEM_OUT"> | ||
| + | <PatternLayout pattern="%d %-5p [%t] %C{1} (%F:%L) - %m%n"/> | ||
| + | </Console> | ||
| + | </Appenders> | ||
| + | |||
| + | <Loggers> | ||
| + | <Root level="error"> | ||
| + | <AppenderRef ref="STDOUT"/> | ||
| + | </Root> | ||
| + | </Loggers> | ||
| + | |||
| + | </Configuration> | ||
| + | </file> | ||
| + | |||
| + | Another way to configure the logger factory is to set the system property: | ||
| + | |||
| + | <code> | ||
| + | LoggerFactory.default=com.sibvisions.util.log.log4j.Log4jLoggerFactory | ||
| + | </code> | ||
| + | as JVM start parameter (-DLoggerFactory.default=...). | ||
| + | |||
| + | This system property works in all JVx versions.\\ | ||
| + | \\ | ||
| + | JVx **before 2.8.5** also had different configuration options: | ||
| + | |||
| + | == config.xml == | ||
| + | |||
| + | (server zone) | ||
| <file xml config.xml> | <file xml config.xml> | ||
| Line 8: | Line 64: | ||
| <server> | <server> | ||
| + | ... | ||
| | | ||
| <logfactory>com.sibvisions.util.log.log4j.Log4jLoggerFactory</logfactory> | <logfactory>com.sibvisions.util.log.log4j.Log4jLoggerFactory</logfactory> | ||
| - | |||
| - | ... | ||
| </server> | </server> | ||
| </file> | </file> | ||
| - | It's also possible to use log4j(2) for your client application. Simply set the application parameter: | + | == application.xml == |
| - | <file script> | + | <file xml application.xml> |
| - | Launcher.logfactory | + | <application> |
| + | ... | ||
| + | |||
| + | <Launcher.logfactory>com.sibvisions.util.log.log4j.Log4jLoggerFactory</Launcher.logfactory> | ||
| + | </application> | ||
| </file> | </file> | ||
| - | ia command-line parameter or via application.xml. There's also a constant in javax.rad.application.ILauncher with the name PARAM_LOGFACTORY. | + | \\ |
| - | + | These options are not supported in newer JVx versions because you had to configure logging in different places. | |
| - | We don't recommend other log APIs than java logging API if you start your JVx application as an Applet, because it makes deployment more complex. But it's possible if you want. | + | |
| \\ | \\ | ||
