avalon-phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Short" <ssh...@postx.com>
Subject RE: How to enable console logging in Phoenix
Date Fri, 22 Nov 2002 17:56:53 GMT
I use <priority-filter> to achieve what you want.  Bascially the targets
are nested inside the priority filter tags and you can put both
log-targets under the same category. This may not be the only way or the
best way, but it works.

See below.

Cheers
Steve


<factories>
    <factory type="file"
class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/>
    <factory type="stream"
class="org.apache.avalon.excalibur.logger.factory.StreamTargetFactory"/>
</factories>

<categories>

<category name="model-runner" log-level="DEBUG">
    <log-target id-ref="model-runner-target"/>
    <log-target id-ref="model-runner-target-info"/>
</category>

</categories>

<targets>
    <priority-filter id="model-runner-target" log-level="INFO">
        <file>
            <filename>${app.home}/logs/model-runner.log</filename>
            <format>%{time:dd/MM/yy HH:mm:ss} %5.5{priority}
%{category}:%{message}\n%{throwable}</format>
            <append>true</append>
        </file>
    </priority-filter>

    <priority-filter id="model-runner-target-info" log-level="INFO">
        <stream>
            <stream>System.out</stream>
            <format type="avalon">%{time: HH:mm.ss:SSS} %{class:short}:
%{message} \n</format>
        </stream>
    </priority-filter>
</targets>


> -----Original Message-----
> From: mati [mailto:mati@ncdc.pl] 
> Sent: Friday, November 22, 2002 9:22 AM
> To: Avalon-Phoenix Developers List
> Subject: Re: How to enable console logging in Phoenix
> 
> 
> 
> 
> > <logs version="1.1">
> > <!--+ FACTORIES
> >       +   Factories define various types of output targets for log
> > messages
> >       +-->
> > <factories>
> > <factory type="stream" 
> > 
> class="org.apache.avalon.excalibur.logger.factory.StreamTargetFactory"
> > / > </factories> <!--+ TARGETS
> >       +   Targets are named destinations of log events. Tag 
> names for
> > child
> >       +   elements, such as 'file' or 'screen', correspond 
> to factory
> > types above.
> >       +-->
> > <targets>
> > <!-- Outputs events to the screen. -->
> > <stream id="sout">
> >                  <stream>System.out</stream>
> > <format type="avalon">%8.8{priority} %{time:(yyyy-MM-dd)
> > HH:mm.ss:SSS} [%8.8{category}] (%{thread}) %{class:short}:
> > %{message}\n%{throwable}</format>
> > </stream>
> > </targets>
> > <!--+ CATEGORIES
> >       +   Categories are named sinks for the application to output
> > events to.
> >       +   First level category names correspond to block names in
> > assembly.xml.
> >       +
> >       +   Each category has an attribute named log-level that
> > controls the severity
> >       +   of messages to records. Valid severities are:
> >       +     DEBUG, INFO, WARN, ERROR, FATAL_ERROR
> >       +
> >       +   Each category can have children of other categories, and
> > log-target elements
> >       +   log-target elements have an id-ref attribute that
> > references the id of a target
> >       +   in the targets section.
> >       +-->
> > <categories>
> > <!-- anything that doesn't fit into the above categories falls into
> > here -->
> > <category name="" log-level="DEBUG">
> >                  <log-target id-ref="sout"/>
> > </category>
> > </categories>
> > </logs>
> 
> 
> I am trying to log to two targets at the same time and it 
> fails. It just logs to one or another. Here is sample conf:
> 
> <factories>
>     <factory type="file" 
> class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/>
>     <factory type="stream" 
> class="org.apache.avalon.excalibur.logger.factory.StreamTarget
> Factory"/>
> </factories>
> 
> <categories>
> 
> <category name="model-runner" log-level="DEBUG">
>     <log-target id-ref="model-runner-target"/>
> </category>
> 
> <category name="model-runner" log-level="INFO">
> <log-target id-ref="model-runner-target-info"/>
> </category>
> 
> </categories>
> 
> 
> <targets>
> 
> <file id="model-runner-target">
>     <filename>${app.home}/logs/model-runner.log</filename>
>     <format>%{time:dd/MM/yy HH:mm:ss} %5.5{priority} %{category}:
> %{message}\n%{throwable}    </format>
>     <append>true</append>
> </file>
> 
> <stream id="model-runner-target-info">
>     <stream>System.out</stream>
>     <format type="avalon">%{time: HH:mm.ss:SSS} 
> %{class:short}: %{message} \n</format> </stream> </targets>
> 
> 
> And it doesn't seem to work out
> 
> Could somebody help me solve this so that it is logged to 
> console and to file.
> 
> Is it even possible to use two targets at the same time
> 
> Mateusz Szczap
> mati@ncdc.pl
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:avalon-phoenix-dev-> unsubscribe@jakarta.apache.org>
> 
> For additional commands, 
> e-mail: <mailto:avalon-phoenix-dev-help@jakarta.apache.org>
> 
> 

--
To unsubscribe, e-mail:   <mailto:avalon-phoenix-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-phoenix-dev-help@jakarta.apache.org>


Mime
View raw message