1 2 Previous Next 20 Replies Latest reply: Dec 19, 2011 3:34 PM by Sueleyman Vurucu Go to original post RSS
  • 15. Custom logger on AS 6
    jaikiran pai Master

    Turns out, we already have a JIRA for that https://issues.jboss.org/browse/JBAS-8819

  • 16. Re: Custom logger on AS 6
    Gary Quinn Newbie

    I used a custom appender with previous jboss which worked fine. The appender was added programmatically. In jboss 6 it stopped working. I debugged the code and the appender is added fine, but append() is never called like before. Still use log4j and the rest of the logging logs fine to the logg file even though the switch to jboss-logging.

     

    My code is below:

     

    The class:

     

       class LocalAppender extends AppenderSkeleton {

     

          LocalAppender() {

             setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n"));

             setThreshold(Level.INFO);

          }

     

          @SuppressWarnings({"unchecked"})

          protected void append(LoggingEvent event) {

             String formattedEvent = getLayout().format(event);

             synchronized(eventBuffer) {

                eventBuffer.add(formattedEvent);

             }

          }

     

          public boolean requiresLayout() {

             return true;

          }

     

          public void close() {

          }

       }

     

    Instantiate the class and added to the root appender:

     

    LocalAppender appender = new LocalAppender();

    Logger.getRootLogger().addAppender(appender);

  • 17. Re: Custom logger on AS 6
    Gary Quinn Newbie

    So you are telling me I should upgrade to JBoss 6.1.0?

  • 18. Re: Custom logger on AS 6
    Radoslav Husar Master

    So you are telling me I should upgrade to JBoss 6.1.0?

    Its typically a good idea to update to the latest version, there is really not much to lose as 6.1 mostly brought component upgrades and fixes. See the complete list of changes here http://community.jboss.org/wiki/AS610FinalReleaseNotes.

  • 19. Re: Custom logger on AS 6
    Gary Quinn Newbie

    Ok, i upgraded to JBOSS 6.1.0

     

    Added a log4j appender like so:

     

       <log4j-appender name="BUFFER_APPENDER" class="za.co.quinn.BufferAppender">

          <error-manager>

             <only-once/>

          </error-manager>

          <level name="INFO"/>

           <formatter>

             <pattern-formatter pattern="%d %-5p [%c{1}] %m%n"/>

          </formatter>

       </log4j-appender>

     

       <root-logger>

          <!-- Set the root logger priority via a system property, with a default value. -->

          <level name="${jboss.server.log.threshold:INFO}"/>

          <handlers>

             <handler-ref name="CONSOLE"/>

             <handler-ref name="FILE"/>

                      <handler-ref name="BUFFER_APPENDER"/>

          </handlers>

       </root-logger>

     

    Compiled and build a jar with my BufferAppender and added it to "jboss-6.1.0.Final/server/myinstance/lib"

     

    Started and debugged the BufferAppender and it works fine.

     

    GREAT PROBLEM SOLVED FOR JBOSS 6.0.0

     

    Now I deploy my application and try to access the BufferAppender like so:

     

          ArrayList<String> result = new ArrayList<String>();

     

          Logger logger = Logger.getLogger("BUFFER_APPENDER");

          Enumeration enumeration = logger.getAllAppenders();

          while (enumeration.hasMoreElements()) {

             Appender appender = (Appender) enumeration.nextElement();

             if ("BufferAppender".equals(appender.getName())) {

                BufferAppender bufferAppender = (BufferAppender) appender;

                result.addAll(bufferAppender.getEventBuffer());

             }

          }

     

    NO LUCK

     

    The Logger (BUFFER_APPENDER) is valid, but it contains no appenders (logger.getAllAppenders().hasMoreElements() = false).

     

    WHERE HAS MY BufferAppender GONE???

  • 20. Re: Custom logger on AS 6
    Sueleyman Vurucu Expert

     

    The Logger (BUFFER_APPENDER) is valid, but it contains no appenders (logger.getAllAppenders().hasMoreElements() = false).

     

    WHERE HAS MY BufferAppender GONE???

    I can say where you Appender gone. If try use my Log4jAppender I see that I get a BirdgeAppender.

     

     

    /**

    * A log4j logger which bridges to a LogManager logger.

    */

    public final class BridgeLogger extends org.apache.log4j.Logger {

     

       private static final String FQCN = BridgeLogger.class.getName();

     

       private final Logger logger;

     

       public BridgeLogger(final Logger logger) {

           super(logger.getName());

           this.logger = logger;

       }

     

       public void addAppender(final Appender newAppender) {

           // ignored

       }

     

       public void callAppenders(final LoggingEvent event) {

           // ignored for now (TODO?)

       }

    ...

    public Appender getAppender(final String name) {

            // ignored

            return null;

        }

    ...

    public void setAdditivity(final boolean additive) {

            // ignored

        }

    ...

    }

     

    I start a thread about the same issue. http://community.jboss.org/message/642287#642287

     

    So let's pool forces .

     

    I hope someone solved it

1 2 Previous Next