What might be easiest is to use separate log4j configurations for each
web app, specifying unique names in each web app's log4j configuration
file.  See http://logging.apache.org/log4j/2.x/manual/logsep.html for
more information.

http://logging.apache.org/log4j/2.x/manual/webapp.html mentions that
the ServletContext's context name is used as the LoggerContext name,
but the LoggerContext name isn't exposed anywhere that I can see as
something you could use in the naming of your rolling file.

You may be able to do this by implementing your own Lookup - see
http://logging.apache.org/log4j/2.x/manual/extending.html

Hope that helps.

Scott

On 10/30/13, Mahesh Dilhan <[email protected]> wrote:
> Hi Scott
>
> thanks for the reply.
>
> Actually I wanted to know that how to get the *web-application-context-path
> dynamically, without hard-code in the log4j2.xml.*
> *
> *
> *Sorry for the inconvenience, if i did not make my self clear .*
> *
> *
> " is there a way to output log file name as :
> "*web-application-context-path
> *-date.log" ? [configuration of log4j2,xml]"
>
> Yes I did append the *"date"* by looking at RollingAppender.
>
> Thanks
>
>
>
> On Thu, Oct 31, 2013 at 6:48 AM, Scott Deboy <[email protected]> wrote:
>
>> I'm not clear myself on when an async logger is useful - I am more
>> familiar with the (previously existing) concept of async appenders.
>>
>> I think the documentation in this area needs to be enhanced to explain
>> why you would use async loggers or async appenders, particularly for
>> file IO.
>>
>> As for generating log files with dates, yes, you can specify your own
>> date-related pattern with a RollingFileAppender.  See the
>> documentation on RollingFileAppender and examples here:
>> http://logging.apache.org/log4j/2.x/manual/appenders.html
>>
>> Scott
>>
>> On 10/30/13, Mahesh Dilhan <[email protected]> wrote:
>> > Hi Scott
>> >
>> > I already configured it , yes it works for fileAppeders.
>> > I have seen the perftest of async logger. will there be performance hit
>> > with fileAppender compared to async logger? I already noticed time
>> > taken
>> > for initialization process is varying for file and random access file.
>> > is
>> > it because of "distruptor"?
>> >
>> > is there a way to output log file name as :
>> > "*web-application-context-path*-date.log"
>> > ? [configuration of log4j2,xml]
>> >
>> > Thanks
>> >
>> >
>> >
>> >
>> > On Thu, Oct 31, 2013 at 3:16 AM, Scott Deboy <[email protected]>
>> wrote:
>> >
>> >> Mi Mahesh,
>> >>
>> >> If you'd like to use Chainsaw with log4j2, you need to use the latest
>> >> Chainsaw developer snapshot, available here:
>> >> http://people.apache.org/~sdeboy
>> >>
>> >> If you use a file appender in your log4j configuration, add the JmDns
>> >> jar to your application classpath (http://jmdns.sourceforge.net), and
>> >> update your log4j configuration as described in the documentation
>> >> (including specifying a URI to your log file), Chainsaw should be able
>> >> to parse and tail your log file.
>> >>
>> >> Feel free to ask additional questions here on the user list.
>> >>
>> >> Scott
>> >>
>> >> On 10/28/13, Mahesh Dilhan <[email protected]> wrote:
>> >> > Thanks for the clarification Remko
>> >> >
>> >> >
>> >> > On Tue, Oct 29, 2013 at 8:52 AM, Remko Popma <[email protected]>
>> >> wrote:
>> >> >
>> >> >> Hi Mahesh,
>> >> >>
>> >> >> Thank you for re-posting your question to the user mailing list.
>> >> >>
>> >> >> The Status Logger is a special logger used by log4j internally.
>> >> >> If you set it to "debug" or "trace" (by starting your config xml
>> >> >> file
>> >> >> with <Configuration
>> >> >> status="debug">...),
>> >> >> it will output things like which appenders and loggers were
>> >> >> initialized,
>> >> >> which log4j plugins were found, etc.
>> >> >> Any configuration problems will show up in the status log.
>> >> >> The status log output will appear on the console (System.out).
>> >> >>
>> >> >> In JConsole, this internal logging is what you see in the
>> StatusLogger
>> >> >> tab.
>> >> >>
>> >> >> I'm guessing from your question that you would like to see the log
>> >> >> statements produced by your application in the JConsole viewer.
>> >> >> Unfortunately, JMX currently does not provide a way to show the
>> >> >> content
>> >> >> of
>> >> >> application log files.
>> >> >>
>> >> >> If you are looking for a tool that allows you to view the log file
>> >> >> from
>> >> a
>> >> >> remote machine you may want to take a look at Chainsaw.
>> >> >> http://logging.apache.org/chainsaw/
>> >> >>
>> >> >> Scott Deboy has been doing work to make Chainsaw's zeroconf feature
>> >> >> work
>> >> >> well with log4j2.
>> >> >> I am not that familiar with Chainsaw, but perhaps this
>> >> >> documentation
>> >> >> can
>> >> >> get you started:
>> >> >>
>> >> >>
>> >>
>> http://logging.apache.org/log4j/2.x/manual/configuration.html#AdvertisingAppenderConfigurations
>> >> >>
>> >> >> Best regards,
>> >> >> Remko
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Tue, Oct 29, 2013 at 9:58 AM, Mahesh Dilhan <
>> >> [email protected]
>> >> >> >wrote:
>> >> >>
>> >> >> > Hi All,
>> >> >> >
>> >> >> > i'm interested in learning on JMX monitoring in log4j2.
>> >> >> >
>> >> >> > As explained I was able to get the log4j2 'tab' > statusLogger
>> child
>> >> >> > tab
>> >> >> in
>> >> >> > JConsole with the initial logging statements.
>> >> >> >
>> >> >> > Note:version : 2.0.9beta
>> >> >> >
>> >> >> > log4j2.xml
>> >> >> >
>> >> >> > <?xml version="1.0" encoding="UTF-8"?>
>> >> >> >
>> >> >> > <!-- No need to set system property "Log4jContextSelector" to any
>> >> value
>> >> >> >      when using <asyncLogger> or <asyncRoot>. -->
>> >> >> >
>> >> >> > <Configuration status="debug">
>> >> >> >   <Appenders>
>> >> >> >     <!-- Async Loggers will auto-flush in batches, so switch off
>> >> >> > immediateFlush. -->
>> >> >> >     <RandomAccessFile name="RandomAccessFile"
>> >> >> > fileName="asyncWithLocation.log"
>> >> >> >               immediateFlush="false" append="false">
>> >> >> >       <PatternLayout>
>> >> >> >         <Pattern>%d %p %class{1.} [%t] %location %m
>> >> >> > %ex%n</Pattern>
>> >> >> >       </PatternLayout>
>> >> >> >     </RandomAccessFile>
>> >> >> >
>> >> >> >   </Appenders>
>> >> >> >   <Loggers >
>> >> >> >     <!-- pattern layout actually uses location, so we need to
>> >> >> > include
>> >> >> > it
>> >> >> > -->
>> >> >> >     <AsyncLogger  name="notificationLogger" level="trace"
>> >> >> > includeLocation="true">
>> >> >> >       <AppenderRef ref="RandomAccessFile"/>
>> >> >> >     </AsyncLogger>
>> >> >> >     <Root level="debug" includeLocation="true">
>> >> >> >       <AppenderRef ref="notificationLogger"/>
>> >> >> >     </Root>
>> >> >> >   </Loggers>
>> >> >> > </Configuration>
>> >> >> >
>> >> >> > <!-- notificationLogger -->
>> >> >> > private static Logger logger =
>> >> >> LogManager.getLogger("notificationLogger");
>> >> >> >
>> >> >> >
>> >> >> > When web Application(java/servlet/spring) runs I can see the
>> >> >> > file[asyncWithLocation.log] get appended with the logging
>> >> >> > statements,
>> >> >> > I like to see Jconsole get appended too, But It did not.
>> >> >> >
>> >> >> >
>> >> >> > I wonder, what configuration I should use to enable jmx logging,
>> >> >> > so
>> >> >> > that
>> >> >> I
>> >> >> > can see them in JConsole?
>> >> >> >
>> >> >> > is there any documentation other than this
>> >> >> > http://logging.apache.org/log4j/2.x/manual/jmx.html,
>> >> >> >
>> >> >> > it would be great if above documentation is updated with a sample
>> of
>> >> >> > log4j2.xml configuration.
>> >> >> >
>> >> >> > Thanks
>> >> >> >
>> >> >> > Mahesh
>> >> >> >
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > Mahesh
>> >> >
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >>
>> >>
>> >
>> >
>> > --
>> > Mahesh
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>
>
> --
> Mahesh
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to