Hi all,
I have set up my logkit to email log events via the SMTPTargetFactory, but the emails are only being sent when I have a level of DEBUG set. I am trying to have the system send me only ERROR messages and above. I have attached my log config. and replaced my mail host for security reasons with mymail.com. I am running Cocoon 2.1.2 with Java 5.
Thanks,
Julian
<?xml version="1.0" encoding="UTF-8"?>
<logkit>
<factories>
<factory class="org.apache.avalon.excalibur.logger.factory.PriorityFilterTargetFactory" type="priority-filter"/>
<factory class="org.apache.avalon.excalibur.logger.factory.ServletTargetFactory" type="servlet"/>
<factory class="org.apache.cocoon.util.log.CocoonTargetFactory" type="cocoon"/>
<factory class="org.apache.avalon.excalibur.logger.factory.LF5TargetFactory" type="lf5"/>
<factory class="org.apache.avalon.excalibur.logger.factory.SMTPTargetFactory" type="smtp"/>
</factories>
<targets>
<!-- To enable the LogFactor5 graphical logkit browser, replace the cocoon factory
below with the following.
<lf5 id="core"/>
-->
<cocoon id="core">
<filename>${context-root}/WEB-INF/logs/core.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<!--
append=false: Will override existing log files on Cocoon startup
append=true: Will append to the existing log files
-->
<append>false</append>
<!--
rotation: allows you to rotate log files one they meet certain
criteria. In example below, files are rotated once they
are one hour old or bigger than 100 Mb.
<rotation type="revolving" init="1" max="4">
<or>
<size>100m</size>
<time>01:00:00</time>
</or>
</rotation>
-->
</cocoon>
<cocoon id="sitemap">
<filename>${context-root}/WEB-INF/logs/sitemap.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>false</append>
</cocoon>
< ;smtp id="handled-errors" context-key="session-context">
<smtphost>smtp.mymail.com</smtphost>
<to>[EMAIL PROTECTED]</to>
<from>[EMAIL PROTECTED]</from>
<subject>subject line</subject>
<maximum-size>10</maximum-size>
<session/>
<format type="cocoon">
%7.7{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\\n%{throwable}
</format>
</smtp>
<cocoon id="access">
<filename>${context-root}/WEB-INF/logs/access.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>false</append>
</cocoon>
<!-- The logger for the flow layer -->
<cocoon id="flow">
<filename>${context-root}/WEB-INF/logs/flow.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>false</append>
</cocoon>
<!--
This log file gets only messages with log level ERROR and below.
-->
<smtp id="error" context-key="session-context">
<smtphost>smtp.mymail.com</smtphost>
<to>[EMAIL PROTECTED]</to>
<from>[EMAIL PROTECTED]</from>
<subject>subject line</subject>
<maximum-size>10</maximum-size>
<session>
<parameter name="mail.ho st" value="smtp.mymail.com"/>
</session>
<format type="cocoon">
%7.7{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\\n%{throwable}
</format>
</smtp>
<!-- The logger for the Slide components -->
<cocoon id="slide">
<filename>${context-root}/WEB-INF/logs/slide.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>false</append>
</cocoon>
<!-- The logger for the cron components -->
<cocoon id="cron">
<filename>${context-root}/WEB-INF/logs/cron.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>true</append>
</cocoon>
</targets>
<categories>
<!--
log-level: One of DEBUG, INFO, WARN, ERROR, FATAL_ERROR.
Log level could be different for every category and subcategory.
Not all subcategories are defined in this file. Not defined
subcategories will be created automatically inheriting settings
of the parent subcategory.
When defining subcategory manually, it is required to specify log
targets, because they are not inherited in this case.
-->
<category log-level="ERROR" name="core">
<!-- Startup component manager logger -->
<category log-level="ERROR" name="startup">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="roles">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="instrument">
<category log-level="ERROR" name="values">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<!-- Cocoon component manager logger -->
<category log-level="ERROR" name="manager">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<!-- Cocoon cache and stores logger -->
<category log-level="ERROR" name="store">
<category log-level="ERROR" name="janitor">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="sitemap">
<log-target id-ref="sitemap"/>
<log-target id-ref="error"/>
<category log-level="DEBUG" name="handled-errors">
<!-- Exceptions that will be handled by a sitemap errorhandler are
logged to this target. -->
<log-target id-ref="handled-errors"/>
</category>
</category>
<category log-level="ERROR" name="access">
<log-target id-ref="access"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="flow">
<log-target id-ref="flow"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="slide">
<log-target id-ref="slide"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="cron">
<log-target id-ref="cron"/>
<log-target id-ref="error"/>
</category>
</categories>
</logkit>
I have set up my logkit to email log events via the SMTPTargetFactory, but the emails are only being sent when I have a level of DEBUG set. I am trying to have the system send me only ERROR messages and above. I have attached my log config. and replaced my mail host for security reasons with mymail.com. I am running Cocoon 2.1.2 with Java 5.
Thanks,
Julian
<?xml version="1.0" encoding="UTF-8"?>
<logkit>
<factories>
<factory class="org.apache.avalon.excalibur.logger.factory.PriorityFilterTargetFactory" type="priority-filter"/>
<factory class="org.apache.avalon.excalibur.logger.factory.ServletTargetFactory" type="servlet"/>
<factory class="org.apache.cocoon.util.log.CocoonTargetFactory" type="cocoon"/>
<factory class="org.apache.avalon.excalibur.logger.factory.LF5TargetFactory" type="lf5"/>
<factory class="org.apache.avalon.excalibur.logger.factory.SMTPTargetFactory" type="smtp"/>
</factories>
<targets>
<!-- To enable the LogFactor5 graphical logkit browser, replace the cocoon factory
below with the following.
<lf5 id="core"/>
-->
<cocoon id="core">
<filename>${context-root}/WEB-INF/logs/core.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<!--
append=false: Will override existing log files on Cocoon startup
append=true: Will append to the existing log files
-->
<append>false</append>
<!--
rotation: allows you to rotate log files one they meet certain
criteria. In example below, files are rotated once they
are one hour old or bigger than 100 Mb.
<rotation type="revolving" init="1" max="4">
<or>
<size>100m</size>
<time>01:00:00</time>
</or>
</rotation>
-->
</cocoon>
<cocoon id="sitemap">
<filename>${context-root}/WEB-INF/logs/sitemap.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>false</append>
</cocoon>
< ;smtp id="handled-errors" context-key="session-context">
<smtphost>smtp.mymail.com</smtphost>
<to>[EMAIL PROTECTED]</to>
<from>[EMAIL PROTECTED]</from>
<subject>subject line</subject>
<maximum-size>10</maximum-size>
<session/>
<format type="cocoon">
%7.7{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\\n%{throwable}
</format>
</smtp>
<cocoon id="access">
<filename>${context-root}/WEB-INF/logs/access.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>false</append>
</cocoon>
<!-- The logger for the flow layer -->
<cocoon id="flow">
<filename>${context-root}/WEB-INF/logs/flow.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>false</append>
</cocoon>
<!--
This log file gets only messages with log level ERROR and below.
-->
<smtp id="error" context-key="session-context">
<smtphost>smtp.mymail.com</smtphost>
<to>[EMAIL PROTECTED]</to>
<from>[EMAIL PROTECTED]</from>
<subject>subject line</subject>
<maximum-size>10</maximum-size>
<session>
<parameter name="mail.ho st" value="smtp.mymail.com"/>
</session>
<format type="cocoon">
%7.7{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\\n%{throwable}
</format>
</smtp>
<!-- The logger for the Slide components -->
<cocoon id="slide">
<filename>${context-root}/WEB-INF/logs/slide.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>false</append>
</cocoon>
<!-- The logger for the cron components -->
<cocoon id="cron">
<filename>${context-root}/WEB-INF/logs/cron.log</filename>
<format type="cocoon">
%7.7{priority} %{time} [%{category}] %{thread}/%{class:short}: %{message}\n%{throwable}
</format>
<append>true</append>
</cocoon>
</targets>
<categories>
<!--
log-level: One of DEBUG, INFO, WARN, ERROR, FATAL_ERROR.
Log level could be different for every category and subcategory.
Not all subcategories are defined in this file. Not defined
subcategories will be created automatically inheriting settings
of the parent subcategory.
When defining subcategory manually, it is required to specify log
targets, because they are not inherited in this case.
-->
<category log-level="ERROR" name="core">
<!-- Startup component manager logger -->
<category log-level="ERROR" name="startup">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="roles">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="instrument">
<category log-level="ERROR" name="values">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<!-- Cocoon component manager logger -->
<category log-level="ERROR" name="manager">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<!-- Cocoon cache and stores logger -->
<category log-level="ERROR" name="store">
<category log-level="ERROR" name="janitor">
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<log-target id-ref="core"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="sitemap">
<log-target id-ref="sitemap"/>
<log-target id-ref="error"/>
<category log-level="DEBUG" name="handled-errors">
<!-- Exceptions that will be handled by a sitemap errorhandler are
logged to this target. -->
<log-target id-ref="handled-errors"/>
</category>
</category>
<category log-level="ERROR" name="access">
<log-target id-ref="access"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="flow">
<log-target id-ref="flow"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="slide">
<log-target id-ref="slide"/>
<log-target id-ref="error"/>
</category>
<category log-level="ERROR" name="cron">
<log-target id-ref="cron"/>
<log-target id-ref="error"/>
</category>
</categories>
</logkit>
Yahoo! Photos
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.
