You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Mike Dickson <mi...@yahoo.com> on 2006/01/12 23:55:33 UTC

No log targets configured for the root logger

Any ideas on what is up given the following error and logkit.xconf?  

 

Error:

 

org.apache.avalon.framework.configuration.ConfigurationException: No log
targets configured for the root logger.
    at
org.apache.avalon.excalibur.logger.LogKitLoggerManager.setupLoggers(LogKitLo
ggerManager.java:531)
    at
org.apache.avalon.excalibur.logger.LogKitLoggerManager.configure(LogKitLogge
rManager.java:407)
    at
org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.
java:240)
    at
org.apache.cocoon.servlet.CocoonServlet.initLogger(CocoonServlet.java:826)
    at org.apache.cocoon.servlet.CocoonServlet.init(CocoonServlet.java:311)
    at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:88
8)
    at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:776)
    at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:
3363)
    at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3586)
    at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7
74)
    at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:548)
    at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.j
ava:260)
    at org.apache.catalina.core.StandardHost.install(StandardHost.java:741)
    at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:512
)
    at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:354)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:671)
    at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1149)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:707)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1141)
    at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:316)
    at
org.apache.catalina.core.StandardService.start(StandardService.java:450)
    at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2143)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:463)
    at org.apache.catalina.startup.Catalina.execute(Catalina.java:350)
    at org.apache.catalina.startup.Catalina.process(Catalina.java:129)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156)

 

 

logkit.xconf

 

<?xml version="1.0"?>

<logkit>
  <factories>
    <factory type="priority-filter"
class="org.apache.avalon.excalibur.logger.factory.PriorityFilterTargetFactor
y"/>
    <factory type="servlet"
class="org.apache.avalon.excalibur.logger.factory.ServletTargetFactory"/>
    <factory type="cocoon"
class="org.apache.cocoon.util.log.CocoonTargetFactory"/>
    <factory type="lf5"
class="org.apache.avalon.excalibur.logger.factory.LF5TargetFactory"/>
  </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>

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

    <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.
    -->
    <priority-filter id="error" log-level="ERROR">
      <cocoon>
        <filename>${context-root}/WEB-INF/logs/error.log</filename>
        <format type="cocoon">
          %7.7{priority} %{time}   [%{category}] (%{uri})
%{thread}/%{class:short}: %{message}\n%{throwable}
        </format>
        <append>false</append>
      </cocoon>
    </priority-filter>
  </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 name="core" log-level="INFO">
      <!-- Startup component manager logger -->
      <category name="startup" log-level="INFO">
        <log-target id-ref="core"/>
        <log-target id-ref="error"/>
      </category>

      <category name="roles" log-level="INFO">
        <log-target id-ref="core"/>
        <log-target id-ref="error"/>
      </category>

      <category name="instrument" log-level="INFO">
        <category name="values" log-level="INFO">
          <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 name="manager" log-level="INFO">
        <log-target id-ref="core"/>
        <log-target id-ref="error"/>
      </category>

      <!-- Cocoon cache and stores logger -->
      <category name="store" log-level="INFO">
        <category name="janitor" log-level="INFO">
          <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 name="sitemap" log-level="INFO">
      <log-target id-ref="sitemap"/>
      <log-target id-ref="error"/>

      <category name="handled-errors" log-level="INFO">
        <!-- Exceptions that will be handled by a sitemap errorhandler are
             logged to this target. -->
        <log-target id-ref="handled-errors"/>
      </category>
    </category>

    <category name="access" log-level="INFO">
      <log-target id-ref="access"/>
      <log-target id-ref="error"/>
    </category>

    <category name="flow" log-level="INFO">
      <log-target id-ref="flow"/>
      <log-target id-ref="error"/>
    </category>
  </categories>
</logkit>


Re: No log targets configured for the root logger

Posted by Ellis Pritchard <el...@nukinetics.com>.
Hi,

Mike Dickson wrote:

> Any ideas on what is up given the following error and logkit.xconf? 
>
>  
>
> Error:
>
>  
>
> org.apache.avalon.framework.configuration.ConfigurationException: No 
> log targets configured for the root logger.
>     at 
> org.apache.avalon.excalibur.logger.LogKitLoggerManager.setupLoggers(LogKitLoggerManager.java:531)
>     at 
> org.apache.avalon.excalibur.logger.LogKitLoggerManager.configure(LogKitLoggerManager.java:407)
>     at 
> org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:240)
>     at 
> org.apache.cocoon.servlet.CocoonServlet.initLogger(CocoonServlet.java:826)
>     at 
> org.apache.cocoon.servlet.CocoonServlet.init(CocoonServlet.java:311)
>  
>
You need to have a category with name=""

    <category log-level="INFO" name="">
      <log-target id-ref="core"/>
      <log-target id-ref="error"/>
    </category>

This is the root logger category; it's in there in the shipping 
logkit.xconf, I suggest you restore it...

Ellis.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org