0

I'm trying to create a custom appender using log4j after looking at the given example -

Link:- How to create my own Appender in log4j?

I did as follows:-

import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.LoggingEvent;

public class MyCustomAppender extends AppenderSkeleton
{


   private MailServiceImpl mail = new MailServiceImpl();

   @Override
   public void close() {            
   }

   @Override
   public boolean requiresLayout() {
       return false;
   }    
   @Override
   protected void append(LoggingEvent event) {

       mail.sendMail(event.toString());
   }
}

It gives me error because of the overridden methods - The method append(LoggingEvent) of type MyCustomAppender must override or implement a supertype method. I tried to search for solution but found none. And nobody seem to have faced the problem. Where am I going wrong? Please help me.

Chetan Oswal
  • 430
  • 9
  • 21

1 Answers1

0

I believe you are looking for a solution for Log4j2 but the stackoverflow page you are linking to is over 3 years old ( might be an older version of Log4j )

Looking at javadoc of older version it does show AppenderSkeleton could be used to override the appender() method however you mention you get a compile error

The method append(LoggingEvent) of type MyCustomAppender must override or implement a supertype method

This is because there is no such method to override in Log4j2

Please provide version of what Log4j you are using, meanwhile have a look at this answer incase you are using Log4j2

EmielRD
  • 21
  • 1
  • 5