logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anshu Garg1" <anshug...@in.ibm.com>
Subject Re: Using log4j1.2.17 foter is not getting added to each log file in rollingfileappender
Date Wed, 06 Jan 2016 14:00:29 GMT
-Thanks & Regards,
Anshu Garg
Platform Technology Center, India

Phone: 8800096760
E-mail: anshugarg@in.ibm.com 

From:   Remko Popma <remko.popma@gmail.com>
To:     Log4J Users List <log4j-user@logging.apache.org>
Date:   01/06/2016 04:22 AM
Subject:        Re: Using log4j1.2.17 foter is not getting added to each 
log file in rollingfileappender

Thanks for raising these issues. In addition to Gary's response, can I ask
some more questions to clarify?

1. Does LOG4J2-1101 <https://issues.apache.org/jira/browse/LOG4J2-1101> 
your first requirement for a date in the pre-rollover file name?

<Anshu Garg> : This seems like what we need.

3. I believe you are already verifying the fix for LOG4J2-908
<https://issues.apache.org/jira/browse/LOG4J2-908>, so that's in progress.

<Anshu Garg> : yes, ASAP and I'll update thread.

4. I commented on your ticket LOG4J2-1244
<https://issues.apache.org/jira/browse/LOG4J2-1244> for the custom
header/footer, let us know if that won't work.

<Anshu Garg> : ASAP, and I'll update thread.

5. Decoupling file pattern from rollover frequency can be achieved with
since 2.5. Does this do what you have in mind? (You mention LOG4J2-573
<https://issues.apache.org/jira/browse/LOG4J2-573>, but it looks like that
ticket is about something else, unless I misunderstand).

<Anshu Garg> : The ticket does talk about "disassociating the time trigger 
with the file pattern " and from what I understood from it, it looks like 
it also requests decoupling frequency and file pattern. On 
CronTriggerPolicy , we never got to 2.5.

6. Custom log fields, are these items that cannot be covered with Lookups
<http://logging.apache.org/log4j/2.x/manual/lookups.html> or ThreadContext
(MDC) <http://logging.apache.org/log4j/2.x/manual/thread-context.html>
values? Like Gary, I'd like to understand better.

<Anshu Garg> : This is a non issue now , we achieved it by implementing 
our own message and message factory.

On Tue, Jan 5, 2016 at 4:04 PM, Anshu Garg1 <anshugarg@in.ibm.com> wrote:

> Hi Ralph,
> We  have actually tried log4j2, but unfortunately with that also we 
> not meet our requirements
>  We are trying a JSON log using rolling file appender based on both time
> and size but we are facing below challenges
> 1. Apache log4j2 default roll over implementation adds time stamp to log
> file name  while saving and closing, while our requirement is to add 
> stamp to file name at the time of file creation. For this we implemented
> our own rollover strategy. But that was not a complete solution since
> first file name was saved in rolling file appender without time stamp 
> to change that we extended "AbstractOutputStreamAppender" to create our
> own RollingFileAppender (but most of code in it is from Apache, except
> what we had to modify to set first file name with time stamp).


> 2. Above lead to mismatch between  the type of parameters in various 
> classes' methods where default Apache classes' types  were expected  but
> we were using our own implementation. So we had to use source code for
> such classes as is and just replace parameters' types from default to 
> implemented classes.
> 3. By default JSON Layout from Apache log4j2 has a non resolved defect
> which does not write a valid JSON. Log entries do not have a comma 
> then which results in invalid JSON. To rectify this we implemented our 
> layout. This again has most of the code from Apache but few changes here
> and there to get comma at start of each entry except first.
> https://issues.apache.org/jira/browse/LOG4J2-908
> 4. We had to customize header and footer values as per our requirement,
> since default in Apache default header is "[" and footer is "]". While 
> needed more information in header section.
> 5. With Apache log4j2's default behavior for time based rollover
>  duration's unit was determined by file pattern. We had to make duration
> time unit independent of file pattern because with default behavior  if 
> user wanted time stamp in file name till mili seconds then even file
> rollover would happen in mili seconds which is not desired. And if user
> wanted hourly or daily roll over then file stamp could only be used till
> date or hour. To be able to specify duration in a definite unit (minutes
> in our case) we had to implement our own PatternProcessor.
> https://issues.apache.org/jira/browse/LOG4J2-573
> 6. We needed to add some custom log fields in JSON logs for which we had
> to write our own LogEntry and MessageFactory.
> All above needed to write own classes with most functionality copied 
> Apache which means we could not achieve above with just extending the
> Apache classes. We had to make source code changes which we want to 
> Do you have any suggestion to overcome above without having to fork code
> of Log4j2 ?
> We did not find any solution to above so we came back to Log4j1. Is 
> a way round to get footer in Log4j1 or Log4j2,  with above requirements,
> without having to change source code ?
> -Thanks & Regards,
> Anshu Garg
> Platform Technology Center, India
> From:   Ralph Goers <ralph.goers@dslextreme.com>
> To:     Log4J Users List <log4j-user@logging.apache.org>
> Date:   01/05/2016 12:04 PM
> Subject:        Re: Using log4j1.2.17 foter is not getting added to each
> log file in rollingfileappender
> Please see

> <

> >.
> Ralph
> > On Jan 4, 2016, at 11:14 PM, Anshu Garg1 <anshugarg@in.ibm.com> wrote:
> >
> > Hi,
> >
> > We have extended patternlayout to set custom footer and header. Now 
> > we use this pattern in rolling file appender footer is only added to
> last
> > log file generated while header is added to all files. Our requirement
> is
> > to have footer also added to files created. Any suggestion? Here is 
> > snippet.
> >
> > Logger logger = Logger.getLogger("myLogger");
> > CustomPattern pattern = new CustomPattern();
> > pattern.setHeader("HeaderText");
> > pattern.setFooter("FooterText");
> > rollingFileAppender.setLayout(pattern);
> >
> > -Thanks & Regards,
> > Anshu Garg
> > Platform Technology Center, India
> >

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message