Stopping the Appender is not going to cause a rollover. You need a rollover policy that you can call that will then return true the next time it is accessed. You then have to log between 1-16 events as the policy is only checked every 16 events. Eliminating the need to have events be logged to cause the rollover is the main issue I have faced in trying to implement this.
Ralph On Jul 16, 2013, at 10:42 PM, Sudharma Puranik <[email protected]> wrote: > Is there any way of having a workaround for a forcerollover. ? What I was > thinking that instead of having a force roll over , I can just stop the > appender . But I have a problem like when I restart the appender I am getting > error like , ERROR Attempted to append to non-started appender dumpAppender > > > If I am correct , If I reconfigure the context then I think I would be losing > my events? Is there any way that I stop and start appenders as and when > needed, of course without reconfiguring the context? > > Please correct me if my understanding is wrong in any case. > > -sudharma > > > On Tue, Jul 16, 2013 at 9:39 AM, Sudharma Puranik > <[email protected]> wrote: >> Hi Ralph, >> >> Thank you for your detailed explanation It was really helpful. Definitely I >> will go through this one >> >> -Sudharma >> >> >> On Mon, Jul 15, 2013 at 9:21 PM, Ralph Goers <[email protected]> >> wrote: >>> First, yes it is probably more complicated creating Appenders in Log4j 2 >>> than in Logback. One of the differences between the two is that when >>> Logback detects changes to its configuration it first clears the existing >>> configuration before it starts to reconfigure. So while it is processing >>> the new configuration log events are being lost. Log4j 2 treats the >>> configuration as an atomic unit. Managers are used so that OutputStreams >>> and Sockets do not have to be closed across reconfigurations if they don't >>> need to be. >>> >>> Creating a policy should be rather easy and straightforward. >>> >>> The best way to add Appenders is to create your own Configuration class, >>> either by extending one of the existing implementations or by extending >>> BaseConfiguration. The benefit with this is when a reconfiguration occurs >>> (if you choose to support it) your appenders, etc will be recreated. As an >>> alternative you can do >>> >>> Appender appender = createMyAppender(); >>> appender.start(); >>> LoggerContext ctx = (LoggerContext) LogManager.getContext(false); >>> Configuration config = ctx.getConfiguration(); >>> config.addLoggerAppender(logger, appender); >>> >>> Note though, that if the configuration is modified and reloaded this >>> appender will be removed an not re-added. >>> >>> I should also point out that if you don't want the benefits using a Manager >>> you don't have to. In addition, if you only want your components to be >>> added programmatically you don't have to use the Plugin mechanism. In this >>> case you would simply create a class that implements the Appender interface. >>> >>> The request for a programmatic way to force a rollover is captured in >>> https://issues.apache.org/jira/browse/LOG4J2-89. I started to investigate >>> this several months ago but didn't complete it as I was having trouble >>> figuring out how to do the rollover in a safe manner. I'd like to get back >>> to this soon as a number of people have asked about it. >>> >>> Ralph >>> >>> >>> On Jul 15, 2013, at 4:13 AM, Sudharma Puranik wrote: >>> >>>> Hi Ralph, >>>> >>>> I have a scenario to create Appenders programmatically and so also the >>>> Policies. I am finding it difficult to create each entity since Appender >>>> delegates everything with RollingFileManager, and which is not hooked with >>>> Appender. I have 2 questions like, >>>> >>>> 1. Does log4j support declarative and refrain from programmatically >>>> creating the log configurations? >>>> 2. Logback gives the flexibility to extend Appenders and also the >>>> TriggeringPolicies with which I can customise my logging. >>>> >>>> Previously I had a scenario where I had to do a forceRollover in program >>>> for monitoring reasons . This was easily achievable by logback by calling >>>> the rollover of RollingFileAppender which is delegated to Policy. This I >>>> am unable to do with Log4j 2, or rather I feel it is much more complex. >>>> >>>> Could you please help me in finding a better way, I had enough search on >>>> google but couldnt find a suitable usecase. >>>> >>>> -Sudharma >>>> >>>> >>>> On Mon, Jul 15, 2013 at 8:34 AM, Sudharma Puranik >>>> <[email protected]> wrote: >>>>> OK fine . I will meanwhile evaluate the same as well . >>>>> >>>>> On 14 Jul 2013 20:52, "Ralph Goers" <[email protected]> wrote: >>>>>> OK - I can't make any promises because it is really up to the community. >>>>>> But we have been saying for some time that our target was to get a 2.0 >>>>>> GA release this summer. >>>>>> >>>>>> Ralph >>>>>> >>>>>> >>>>>> On Jul 14, 2013, at 7:20 AM, Sudharma Puranik wrote: >>>>>> >>>>>>> To be frank , I havent tested Log4j 2 rather I havent used it anytime. >>>>>>> I have been long working with log4j but off late we want to move to >>>>>>> abstract logging frameworks and precisely native SLF4J hence shifted >>>>>>> to Logback but I see fewer solutions for problems and less crowd >>>>>>> sourcing .Nonetheless looking at the log4j2 features and developments I >>>>>>> am fascinated to use it with new features which we need but we are not >>>>>>> willing to head because its still in beta . We are so hardly pressed >>>>>>> with time that we have no time for experimentation with frameworks >>>>>>> since we are already lagging the deadline for our beta. >>>>>>> >>>>>>> Now you have to suggest with your best experience that how >>>>>>> safe/efficient is using beta versions. Looking at the current usage of >>>>>>> log4j2 and your rapid beta releases I feel you guys are on right track >>>>>>> and you should be able to make it :-) >>>>>>> >>>>>>> I am very positive on log4j2 and hoping to see the stable release. I >>>>>>> will also definitely find some time and test log4j2. >>>>>>> >>>>>>> Thank you >>>>>>> -Sudharma >>>>>>> >>>>>>> >>>>>>> On Sun, Jul 14, 2013 at 12:48 PM, Ralph Goers >>>>>>> <[email protected]> wrote: >>>>>>>> We have been trying to do releases about once a month. With each new >>>>>>>> release it is reasonable to ask if the next release should be 2.0 or >>>>>>>> another beta. Have you been testing Log4j 2 and do you consider it to >>>>>>>> be of GA quality? >>>>>>>> >>>>>>>> Ralph >>>>>>>> >>>>>>>> On Jul 13, 2013, at 10:15 PM, Sudharma Puranik wrote: >>>>>>>> >>>>>>>>> Hello Team, >>>>>>>>> >>>>>>>>> with the new beta release of log4j2 , I would like to know if there >>>>>>>>> is going to be a stable release of log4j2 this year anytime?. We are >>>>>>>>> planning to migrate from logback to log4j2. >>>>>>>>> >>>>>>>>> I had posted about the release date on SO >>>>>>>>> >>>>>>>>> http://stackoverflow.com/questions/17627672/stable-release-date-for-log4j2 >>>>>>>>> >>>>>>>>> Could you please let me know what is the planned date for this >>>>>>>>> release >>>>>>>>> >>>>>>>>> >>>>>>>>> -Sudharma >
