Details
-
Enhancement
-
Resolution: Cannot Reproduce
-
Major
-
None
-
None
-
None
-
None
-
%
Description
There is an improvement request from user to add a syslog appender to log4j broker configuration. However, directly adding a syslog appender to the "org.ops4j.pax.logging.cfg" file as following would not work:
- Adding "syslog" to the rootLogger:
log4j.rootLogger=INFO, out, syslog, osgi:*
- Configuring "syslog" appender:
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender log4j.appender.syslog.Facility=USER log4j.appender.syslog.FacilityPrinting=true log4j.appender.syslog.SyslogHost=serv_syslog log4j.appender.syslog.layout=org.apache.log4j.PatternLayout log4j.appender.syslog.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n log4j.appender.syslog.threshold=INFO
Since the pax logging api bundle does not export org.apache.log4j.net package although it exports some of org.apache.log4j packages. Therefore, it would require to attach a bundle that contains "org.apache.log4j.net" package as a fragment bundle to the pax logging api bundle so the pax logging can load relevant classes such as syslog appender class from the fragment bundle.
However, repackaging the JARs included with A-MQ is not an acceptable way for the user to approach sending A-MQ logs to Syslog. An improvement request for JBoss A-MQ to provide the "syslog" appender out of box is required.