sitemap:

   <map:components>

       <map:generators default="file">
<map:generator name="jx" src="org.apache.cocoon.generation.JXTemplateGenerator" label="content" logger="sitemap.generator.jx"/>
       </map:generators>

   <map:transformers default="xslt">
<map:transformer name="multi-i18n" logger="sitemap.transformer.i18n" src="org.apache.cocoon.transformation.I18nTransformer">
           <catalogues default="default">
             <catalogue id="forms" name="messages">
               <location>resources/translation</location>
<location>resource://org/apache/cocoon/forms/system/i18n</location>
             </catalogue>
<catalogue id="default" name="messages" location="resources/translation"/>
           </catalogues>
         </map:transformer>
   </map:transformers>
   </map:components>

logkit:

<logkit log-level="DEBUG">

 <!--+
     | Factories are responsible to create the consumers of the log events,
     | the targets. Here we have configured just a few, the main cocoon
| target factory (that prints to a file) and the servlet target factory
     | (that prints back to the servlet container log stream) but  for more
     | info on the available logkit factories, please consult
| http://excalibur.apache.org/apidocs/org/apache/avalon/excalibur/logger/factory/package-summary.html
     +-->
 <factories>
<factory class="org.apache.cocoon.util.log.CocoonTargetFactory" type="cocoon"/> <factory class="org.apache.avalon.excalibur.logger.factory.ServletTargetFactory" type="servlet"/> <factory class="org.apache.avalon.excalibur.logger.factory.StreamTargetFactory" type="stream"/>
 </factories>

 <!--+
| Targets are the instances of the consumers of the log events and various
     | instances can be configured and referenced via their 'id'.
| Note how the element name of the target indicates what type of factory
     | that is created with.
     +-->
 <targets>

   <cocoon id="main">
     <!--+
| <filename> is the absolute location of the log file, note how you can
         | use the ${context-root} variable to indicate the root of the
| cocoon web application (the directory that contains WEB-INF, that is)
         +-->
     <filename>${context-root}/WEB-INF/logs/cocoon.log</filename>

     <!--+
         | <format> indicates how the log event should be serialized.
         | Note that newlines are *not* automatic: you have to specify the
         | newline as '\n' or everything will appear on a single line!
         |
| The first format below is verbose: it includes error stacktraces. | If you want something even more verbose use %{throwable} which will
         | show a full chain of exceptions. Using the second format won't
         | output stacktraces at all.
         |
         | Please mind that the default format logs request uri along with
         | query string. This may log confidential data (passwords etc.).
         +-->
<format type="cocoon">%5.5{priority} %{time} [%{category}] (%{uri}%{query}) %{thread}/%{class:short}: %{message}\n%{rootThrowable}</format> <!--format type="cocoon">%5.5{priority} %{time} [%{category}] (%{uri}%{query}) %{thread}/%{class:short}: %{message}\n%</format-->

     <!--+
         | <append> if set to 'true' will make cocoon append the events
         | to the existing file, if set to 'false' cocoon will override
         | the existing ones at every new start.
         +-->
     <append>false</append>

     <!--+
         | <rotation> allows you to rotate log files one they meet certain
         | criteria. If you uncomment the example below, the log files will
         | be rotated once they are a day old or bigger than 100 Mb.
     <rotation type="unique" pattern="yyyyMMdd" suffix=".log">
       <or>
         <size>100m</size>
         <time>24:00:00</time>
       </or>
     </rotation>
         +-->
   </cocoon>

   <cocoon id="deprecation">
     <filename>${context-root}/WEB-INF/logs/deprecation.log</filename>
<format type="cocoon">%5.5{priority} %{time} [%{category}] (%{uri}%{query}) %{thread}/%{class:short}: %{message}\n</format>
     <append>false</append>
   </cocoon>

   <cocoon id="i18n">
     <filename>${context-root}/WEB-INF/logs/i18n.log</filename>
     <format type="cocoon">
%23.23{time:yyyy-MM-dd' 'HH:mm:ss.SSS} %5.5{priority} %40.40{category} (%{host}%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
     </format>
     <append>false</append>
     <rotation pattern="-yyyy-MM-dd_HH.mm" suffix=".log" type="unique">
       <or>
         <size>10m</size>
         <time>24:00:00</time>
       </or>
     </rotation>
   </cocoon>


   <servlet id="servlet">
<format type="extended">%5.5{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\n</format>
   </servlet>

   <stream id="console">
     <stream>System.out</stream>
<format type="extended">%5.5{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\n</format>
   </stream>
 </targets>

 <!--+
     | Categories 'route' log events to particular targets, filtering
     | on importance level (one of DEBUG, INFO, WARN, ERROR, FATAL_ERROR,
     | ordered from most verbose to least verbose) and on the 'category'
     | used by the producer of the log event to further classify it.
     | Some of these log categories are hardwired in the code and some
     | others are user-selectable, for example for sitemap components
     | where you can specify the category in their sitemap declaration.
     |
| Category names can be dot-separated (example, 'sitemap.generator.file')
     | and the variuos pieces are treated as 'sub-categories'. By nesting
| the <category> element you achieve sub-category filtering and you can | even have different log level filtering per category and subcategory.
     | (See the comments below for an example of this)
     |
     | NOTE: not all subcategories are defined in this file. Not defined
     | subcategories will be created automatically and they will inherit
     | the settings of the parent subcategory. When defining a subcategory
     | manually, it is required that you specify the log target, because
     | they are not inherited in this case.
     +-->
 <categories>

   <!--+
       | This is the main category. The empty name attribute indicates that
       | this rule will match all log events from all categories.
       +-->
   <category log-level="INFO" name="">
     <log-target id-ref="main"/>
   </category>

   <!--+
       | This is the deprecation category. If this category is set to WARN
       | the log will contain messages about deprecated stuff used by
       | your application.
       +-->
   <category log-level="WARN" name="deprecation">
     <log-target id-ref="deprecation"/>
   </category>

     <category log-level="WARN" name="sitemap">
       <category log-level="WARN" name="transformer">
               <category log-level="DEBUG" name="i18n">
                       <log-target id-ref="i18n"/>
               </category>
       </category>
     </category>


   <!--+
| This is a little more elaborate example, where some of the logs are | sent to the log file and some others (the ones related to the sitemap), | are sent to the servlet container (where they could be further relayed
       | to the console, for example)
       |
   <category log-level="ERROR" name="">
     <category log-level="DEBUG" name="sitemap">
       <log-target id-ref="servlet"/>
     </category>
     <category log-level="INFO" name="access">
       <log-target id-ref="console"/>
     </category>
     <log-target id-ref="core"/>
   </category>
       +-->

 </categories>

</logkit>


Ard Schrijvers wrote:

can you mail your logkit.xconf and the sitemap part where you declare your i18n transformer?


>
> There's no log file produced. In the console I see:
>
> PoolThread-4/LoggerSwitch.SwitchingLogger: Logger for category
> sitemap.serializer.html not defined in configuration. New
> Logger created
> and returned
>
> Thanks
>
> Ard Schrijvers wrote:
>
> > I don't think guessing is the way to go when something does
> not work:
> > Make sure you find out what is going wrong through logs:
> >
> > So, add to your i18n:transformer a logger, for example like:
> >
> > <map:transformer name="i18n" logger="sitemap.transformer.i18n"
> > src="org.apache.cocoon.transformation.I18nTransformer">
> >
> > Go to your logkit.xconf
> >
> > Add in targets
> >
> > <cocoon id="i18n">
> >       <filename>${context-root}/WEB-INF/logs/i18n.log</filename>
> >       <format type="cocoon">
> >         %23.23{time:yyyy-MM-dd' 'HH:mm:ss.SSS} %5.5{priority}
> > %40.40{category} (%{host}%{uri}) %{thread}/%{class:short}:
> > %{message}\n%{throwable}
> >       </format>
> >       <append>false</append>
> >       <rotation pattern="-yyyy-MM-dd_HH.mm" suffix=".log"
> type="unique">
> >         <or>
> >           <size>10m</size>
> >           <time>24:00:00</time>
> >         </or>
> >       </rotation>
> > </cocoon>
> >
> > Add in categories  (not the levels that are already in, but
> make sure
> > you have at least the piece below, probably only have to
> add the i18n
> > part )
> >
> > <category log-level="WARN" name="sitemap">
> >         <category log-level="WARN" name="transformer">
> >                 <category log-level="DEBUG" name="i18n">
> >                         <log-target id-ref="i18n"/>
> >                 </category>
> >         </category>
> > </category>
> > > >
> > Restart cocoon, do the request again, and look in the WEB-INF under
> > logs folder in i18n.log: I know I had your problem before,
> and I don't
> > know how I fixed it, but just make sure you know how to debug your
> > cocoon app and you will find the solution (which you will probably
> > will forget as well: important is that you know how to
> handle debugger
> > stuff)
> >
> > AS
> >
> >
> > >
> > > With a different name it still doesn't work.
> > > >
> > > It may sound weird but I get the same error when I put
> the translation
> > > in the folder named 'i18n'. When I rename it to something
> different it
> > > does work.
> > >
> > > Jasha Joachimsthal
> > >
> > > ---------
> > > > > > Hi again,
> > > > >
> > > > >   I have looked up how to override the CForms localization,
> > > > > but it's now
> > > > > working.
> > > > >
> > > > > In my subsitemap I have:
> > > > >
> > > > >     <map:transformers default="xslt">
> > > > >       <map:transformer name="i18n"
> > > > > src="org.apache.cocoon.transformation.I18nTransformer">
> > > > >             <catalogues default="default">
> > > > >               <catalogue id="forms" name="messages">
> > > > >                 <location>resources/i18n</location>
> > > > > > > > > >
> > >
> <location>resource://org/apache/cocoon/forms/system/i18n</location>
> > > > >               </catalogue>
> > > > >               <catalogue id="default" name="messages"
> > > > > location="resources/i18n"/>
> > > > >             </catalogues>
> > > > >           </map:transformer>
> > > > >     </map:transformers>
> > > > >
> > > > >
> > > > > In resources/i18n/messages.xml I have:
> > > > >
> > > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > > <catalogue xml:lang="en">
> > > > > <message key="general.field-required">This is a required
> > > > > field</message>
> > > > > </catalogue>
> > > > >
> > > > >
> > > > > But I keep on getting the untranslated key as the message.
> > > > >
> > > >
> > > > It probably can't find the folder resources/i18n from the
> > > point where
> > > > your sitemap is.
> > > > Keep in mind that calling <location>resources/i18n</location>
> > > > means it's
> > > > relative to where you are. Did you check that?
> > > >
> >
> >
> > --
> >
> > Hippo
> > Oosteinde 11
> > 1017WT Amsterdam
> > The Netherlands
> > Tel  +31 (0)20 5224466
> > -------------------------------------------------------------
> > [EMAIL PROTECTED] / http://www.hippo.nl
> > --------------------------------------------------------------
> >
> > > >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
>
> --
> --
> Fernando D. Mato Mira                         [EMAIL PROTECTED]
> Thomson Corporation Switzerland AG
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
--
Fernando D. Mato Mira                         [EMAIL PROTECTED]
Thomson Corporation Switzerland AG


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to