Actually there is already a WebLookup, which supports 'contextPath',
'servletContextName', etc.  See:
http://logging.apache.org/log4j/2.x/manual/lookups.html

On 10/30/13, Scott Deboy <[email protected]> wrote:
> 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