[ 
https://issues.apache.org/jira/browse/LOG4J2-486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13864337#comment-13864337
 ] 

Ralph Goers commented on LOG4J2-486:
------------------------------------

FWIW, the issue with PatternLayout not being dynamic is that 
OutputStreamManager is saving the header and footer string in its constructor. 
If it saved the layout reference instead it could then call getHeader() and 
getFooter() at the appropriate times which would allow you to dynamically 
generate them.

> RollingFile Appender - add custom info at the start of each logfile
> -------------------------------------------------------------------
>
>                 Key: LOG4J2-486
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-486
>             Project: Log4j 2
>          Issue Type: Question
>          Components: Appenders
>    Affects Versions: 2.0-beta9
>         Environment: Java 1.7, Linux
>            Reporter: Joe Merten
>         Attachments: MyRolloverStrategy.java, log4j2.xml
>
>
> I post this question here because of a hint of Remko Popma.
> See also:
> * 
> http://apache-logging.6191.n7.nabble.com/log4j2-getting-started-amp-rolling-files-tt8406.html#a42402
> * 
> http://stackoverflow.com/questions/20819376/log4j2-rollingfile-appender-add-custom-info-at-the-start-of-each-logfile
> I want to add some custom info at the top of each logfile, like the version 
> string of my application, the application uptime and the system uptime. And 
> even writing some »bye, bye / eof« to the bottom of the just closed logfile 
> would also be fine.
> Because there is no appropriate hook or callback to get notified when the 
> RollingFileAppander is creating / has created a new file, so that I can put 
> my things at first into these new logfile, I tried to extend 
> DefaultRolloverStrategy. But currently, I stuck at some points.
> Seems that I have to deal with {{@Plugin}} and {{@PluginFactory}}. My try 
> with the attached log4j2.xml and MyRolloverStrategy.java compiles without 
> errors and warnings. But when I start the application, I get this error 
> message:
> {{2014-01-05 23:22:05,876 ERROR RollingFile contains an invalid element or 
> attribute "MyRolloverStrategy"}}
> And then the next step would be: "how to write to the logfiles within my 
> rollover method?"
> log4j2.xml :
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration>
>   <Properties>
>     <Property name="projectPrefix">Tts</Property>
>     <Property name="rawPattern">%d %-5p [%t] %C{2} (%F:%L) - %m%n</Property>
>     <Property name="coloredPattern">%d %highlight{%-5p}{FATAL=bright red, 
> ERROR=red, WARN=yellow, INFO=cyan, DEBUG=green, TRACE=bright blue} 
> %style{[%t] %C{2} (%F:%L) -}{bright,black} %m%n</Property>
>     <Property name="coloredShortPattern">%d %highlight{%-5p}{FATAL=bright 
> red, ERROR=red, WARN=yellow, INFO=cyan, DEBUG=green, TRACE=bright blue} 
> %style{[%t] -}{bright,black} %m%n</Property>
>     <Property name="fileName">Log/${projectPrefix}.log</Property>
>     <Property name="filePattern">Log/${projectPrefix}-%i.log</Property>
>   </Properties>
>   <Appenders>
>     <Console name="Stdout" target="SYSTEM_OUT">
>       <PatternLayout pattern="${coloredPattern}"/>
>     </Console>
>     <RollingFile name="Logfile" fileName="${fileName}" 
> filePattern="${filePattern}">
>       <PatternLayout pattern="${rawPattern}"/>
>       <Policies>
>         <SizeBasedTriggeringPolicy size="16 MB"/>
>       </Policies>
>       <eeo.toolbox.MyRolloverStrategy fileIndex="min" max="16"/>
>     </RollingFile>
>   </Appenders>
>   <Loggers>
>     <Root level="info">
>       <AppenderRef ref="Stdout"/>
>       <AppenderRef ref="Logfile"/>
>     </Root>
>   </Loggers>
> </Configuration>
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to