Thanks again! If you don't mind, one *final* follow-up question regarding stop():
Do I need to wire my CatAppender#stop() calls up to any lifecycle hooks/calls called by logback/SLF4J itself, or is the idea that the *application* can stop an appender programmatically if the application desires to stop using it (stop logging) at any point? In my case, I can't think of a reason to expose the AppenderBase#stop() from the outside world (application) and allow the app to stop logging/appending. But should I override an AppenderBase method anyways, and call stop() from inside of it, and logback/SLF4J will call that overridden method at shutdown? Or is it safe in my case to just *not* call stop() at all, from anywhere inside the CatAppender? Thanks again so much! On Tue, Jul 26, 2022 at 5:37 AM Ceki Gülcü <[email protected]> wrote: > > The start() method is akin to a constructor check. > > The start method should check whether all required parameters have been > passed during configuration. If required parameters are missing, the > appender should refuse to start and warn the user. > > The stop() method should release resources if any. > > -- > Ceki Gülcü > > Sponsoring SLF4J/logback/reload4j at https://github.com/sponsors/qos-ch > > > On 7/25/2022 8:27 PM, Zac Harvey wrote: > > Thank you Ceki! I called start() in the CatAppender constructor and > > everything is now working. Are there recommended practices as to when > > (and from where) to call start() and stop()? Thanks again so much! > > > > Best, > > Zac > > > > On Mon, Jul 25, 2022 at 2:14 PM Ceki Gülcü <[email protected] > > <mailto:[email protected]>> wrote: > > > > Hello Zac, > > > > AppenderBase will not invoke the append() method less the appender > has > > the started flag set to true. > > > > > > -- > > Ceki Gülcü > > > > Sponsoring SLF4J/logback/reload4j at > > https://github.com/sponsors/qos-ch < > https://github.com/sponsors/qos-ch> > > > > On 7/25/2022 6:38 PM, Zac Harvey wrote: > > > Java 11 and logback-classic-1.2.11 here. I'm trying to write my own > > > custom appender and am following this Baeldung article > > > <https://www.baeldung.com/custom-logback-appender > > <https://www.baeldung.com/custom-logback-appender>> to test it out. > > > > > > My *src/main/java/myapp/logging/CatAppender* appender (on the > runtime > > > classpath): > > > > > > public class CatAppender extends AppenderBase<ILoggingEvent> { > > > @Override > > > protected void append(ILoggingEvent eventObject) { > > > System.out.println("meow"); > > > } > > > } > > > > > > My *src/main/resources/logback.xml*: > > > > > > <?xml version="1.0" encoding="UTF-8"?> > > > <configuration debug="true"> > > > > > > <appender name="cat" class="myapp.logging.CatAppender"/> > > > > > > <root level="info"> > > > <appender-ref ref="cat" /> > > > </root> > > > > > > </configuration> > > > > > > In my *build.gradle* I specify to use logback and Lombok: > > > > > > plugins { > > > id "io.freefair.lombok" version '6.4.0' > > > } > > > > > > dependencies { > > > implementation ( > > > 'ch.qos.logback:logback-classic:1.2.11' > > > ,'org.projectlombok:lombok:1.18.16' > > > ) > > > } > > > > > > And then in my Java code I use Lombok to inject an SLF4J logger > > like so: > > > > > > @Slf4j > > > public class SomethingDoer { > > > > > > public void doSomething() { > > > log.info <http://log.info> <http://log.info > > <http://log.info>>("this should invoke the CatAppender..."); > > > } > > > > > > } > > > > > > But when *SomethingDoer#doSomething()* runs, I don't see a meow > > printed > > > to my STDOUT console. Have I wired anything up incorrectly here? > > > > > _______________________________________________ > > logback-user mailing list > > [email protected] <mailto:[email protected]> > > http://mailman.qos.ch/mailman/listinfo/logback-user > > <http://mailman.qos.ch/mailman/listinfo/logback-user> > > > > > > _______________________________________________ > > logback-user mailing list > > [email protected] > > http://mailman.qos.ch/mailman/listinfo/logback-user > > -- > Ceki Gülcü > > Sponsoring SLF4J/logback/reload4j at https://github.com/sponsors/qos-ch > _______________________________________________ > logback-user mailing list > [email protected] > http://mailman.qos.ch/mailman/listinfo/logback-user
_______________________________________________ logback-user mailing list [email protected] http://mailman.qos.ch/mailman/listinfo/logback-user
