AW: Fwd: Enhydra 5.1 Development Team, still have problems
"Madl Alfred" <[email protected]>
| Newsgroups | gmane.comp.java.enhydra.barracuda.general |
|---|---|
| Message-ID | <[email protected]> |
Hi ! If we get XMLC 2.2.2 and a new Barracuda VERY quickly (just built 5.1 finals again today...) we could manage to switch to new versions before releasing... Alfred -----Ursprüngliche Nachricht----- Von: Jacob Kjome [mailto:[email protected]] Bereitgestellt: Dienstag, 23. September 2003 17:03 Bereitgestellt in: Barracuda Unterhaltung: [Barracuda] Fwd: Enhydra 5.1 Development Team, still have problems Betreff: Re: [Barracuda] Fwd: Enhydra 5.1 Development Team, still have problems Hi Zoran, You can ignore any DOMConfigurator.configure() method calls in any main() methods. They'll never get used when running Barracuda as a webapp. Those are really just for testing functionality of the application assembler and object repository assembler in standalone form. The way Log4j is configured for Barracuda running in a servlet container is via a configuration servlet or servlet context listener; the latter being preferred if the container supports it. As I understand it, Enhydra is still limited to servlet 2.2, right? In that case, you'll have to use the configuration servlet. There is an example of this in the Barracuda sample.web.xml which you can use both there and in BarracudaDiscRack. You can comment out or get rid of any <listener> elements since those only work in servlet-2.3+ containers. BTW, what is your root logger set to? If Barracuda is picking up the server's log4j.xml (which it will unless you define a separate repository selector via the configuration servlet), then you have full control of how chatty Barracuda is by first setting the root logger to something like "warn" and then setting individual loggers to less lenient levels. In this case, you'd control the entire server's logging at one place. Of course, you risk having configuration reset by any application within calling configure(). This is why the server itself should probably use a repository selector to be safe. Anyway, just wanted to mention that. Note that there were a couple changes made since the 1.2.5 release which include the use of a refactored configuration servlet and servlet context listener. Both use the <context-param>'s to obtain log4j configuration information where the older servlet (the one used in 1.2.5) used <servlet-param> elements. There are a few other nice changes. Let me know what your release schedule is because we could get both XMLC-2.2.2 (yet to be released with some important fixes) along with a new Barracuda release ready for Enhydra5.1. Jake At 09:46 AM 9/23/2003 +0200, you wrote: >We still have problems with Barracuda logs. >Mr. Gwyn Ewans has right, Barracuda is too verbose for us. >We have example Barracuda >application in Enhydra which is located in webapps\BaracudaDiscRack. We >have next three .xml configuration files located in >webapps\BarracudaDiscRack\WEB-INF directory : event-gateway.xml, >log4j.xml, object-repository.xml and web.xml. Barracuda does not look >at log4j.xml for configuration.When we erase log4j, it still logs in >our log chanels which are defined in our log4j.xml. >When we look in source of Barracuda we found >DOMConfigurator.configure() method in two classes ( >DefaultApplicationAssembler and ObjectRepositoryAssembler ), and in both of >these calls to DOMConfigurator.configure() is in main() method. >How we can make Barracuda to look in WEB-INF\log4j.xml to configure >it's logger ? > >This is how our web.xml look like : > ><?xml version="1.0" encoding="ISO-8859-1"?> > ><!DOCTYPE web-app > PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" > "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> > ><web-app> > > <display-name>Barracuda Disc Rack Demonstration > Application</display-name> > <description> > Barracuda Disc Rack is an example application using the Open-Source > Barracuda Presentation Framework. It is akin to Java's Petstore > application. Barracuda Disc Rack is useful in displaying many of > the features that Barracuda has to offer. Take a test-drive and then > peruse the code that makes it all happen. We think you will be > pleased > by what you see. > </description> > <distributable/> > > > <!-- ============================================================== --> > <!-- Context Parameters --> > <!-- ============================================================== --> > <!-- Log4j context parameters --> > <context-param> > <!-- preferred repository selector. "preferred" because if one > is already installed, this choice is ignored. --> > <param-name>log4j-selector</param-name> > ><param-value>org.apache.log4j.selector.ContextJNDISelector</param-value> > </context-param> > <context-param> > <!-- relative path to config file within current webapp --> > <param-name>log4j-config</param-name> > <param-value>WEB-INF/log4j.xml</param-value> > </context-param> > <context-param> > <!-- config file re-reading specified in milliseconds... > Note that if the webapp is served directly from a > .war file, configureAndWatch() cannot be used because > it requires a system file path. In that case, this > param will be ignored. Set to 0 or don't specify this > param to do a normal configure(). --> > <param-name>log4j-cron</param-name> > <param-value>0</param-value> > </context-param> > <!-- Below are optional context params for use with a File Appender. > "log4j-log-home" specifies a path to be read from a log4j xml > config file as a system property. The system property name is > dynamically generated, by default, and takes on the following > pattern: > [context path].log.home > If the app has a context path of "/Barracuda", the system > variable name would be "Barracuda.log.home". So, > the FileAppender in log4j.xml would contain a param which looks > like: > <param name="File" > value="${Barracuda.log.home}/arbitraryLogFileName.log" /> > Dynamic generation of a predictable system property name has > only been tested > successfully on Tomcat and may not work in other containers. As > such, > one may specify the desired system property name using the > "log4j-sysprop-name". If specified, this name will be used > in place of the dynamically generated system property name. It is > recommended that naming pattern match that described above. > If the "log4j-log-home" context param is not specified, the > path associated with the generated system variable defaults to > the WEB-INF/logs directory of the current webapp which is created > if it doesn't exist... unless the webapp is running directly > from a .war file. In the latter case, this context param > *must* be specified if using a FileAppender. > Note that, if specified, the value is treated as an absolute > system path which is not relative to the webapp. --> > <!-- <context-param> > <param-name>log4j-log-home</param-name> > <param-value>/usr/local/logs/tomcat</param-value> > </context-param> --> > <!-- <context-param> > <param-name>log4j-sysprop-name</param-name> > <param-value>Barracuda.log.home</param-value> > </context-param> --> > > > <!-- ============================================================== --> > <!-- Filters --> > <!-- > ============================================================== --> > > > <!-- ============================================================== --> > <!-- Filter Mappings --> > <!-- > ============================================================== --> > > > <!-- ============================================================== --> > <!-- Listeners - Note: Optional. May be commented out for those --> > <!-- limited to Servlet-2.2 compliant engines --> > <!-- ============================================================== --> > <!-- Shuts down all loggers and appenders at webapp shutdown --> > <listener> > <listener-class> > org.apache.log4j.servlet.InitContextListener > </listener-class> > </listener> > > > <!-- ============================================================== --> > <!-- ObjectRepositoryAssembler declarations --> > <!-- ============================================================== --> > <!-- GlobalRepository Setup --> > <servlet> > <servlet-name>GlobalRepositoryAssembler</servlet-name> > ><servlet-class>org.enhydra.barracuda.plankton.data.ObjectRepositoryAssembler</servlet-class> > <init-param> > <param-name>AssemblyDescriptor</param-name> > <param-value>WEB-INF/object-repository.xml</param-value> > </init-param> > <init-param> > <param-name>LogHeartbeat</param-name> > <param-value>true</param-value> > </init-param> > <load-on-startup>2</load-on-startup> > </servlet> > > > <!-- ============================================================== --> > <!-- Baracuda declarations --> > <!-- ============================================================== --> > <!-- If you are going to use the event model, you must specify the --> > <!-- ApplicationGateway --> > > <servlet> > <servlet-name>ApplicationGateway</servlet-name> > ><servlet-class>org.enhydra.barracuda.discRack.DiscRackGateway</servlet-class> > <init-param> > <param-name>ConfFile</param-name> > <param-value>/WEB-INF/discRack.conf</param-value> > </init-param> > <init-param> > <param-name>ApplicationAssembler</param-name> > ><param-value>org.enhydra.barracuda.core.event.DefaultApplicationAssembler</param-value> > </init-param> > <init-param> > <param-name>AssemblyDescriptor</param-name> > <param-value>/WEB-INF/event-gateway.xml</param-value> > </init-param> > <init-param> > <param-name>SAXParser</param-name> > <param-value>org.apache.xerces.parsers.SAXParser</param-value> > </init-param> > <load-on-startup>3</load-on-startup> > </servlet> > > <!-- If you are going to use BAction components on HTML Forms, --> > <!-- you must specify the FormGateway --> > <servlet> > <servlet-name>FormGateway</servlet-name> > ><servlet-class>org.enhydra.barracuda.core.comp.helper.FormGateway</servlet-class> > </servlet> > > <!-- If you want to support disabling the back button on HTML Forms --> > <!-- you must specify the ParamGateway --> > <servlet> > <servlet-name>ParamGateway</servlet-name> > ><servlet-class>org.enhydra.barracuda.core.helper.servlet.ParamGateway</servlet-class> > </servlet> > > <!-- Barracuda can load static resources (like images and scripts) --> > <!-- from a jar file in the classpath by using the ResourceGateway. --> > <servlet> > <servlet-name>ResourceGateway</servlet-name> > ><servlet-class>org.enhydra.barracuda.core.helper.servlet.ResourceGateway</servlet-class> > </servlet> > > > <!-- ============================================================== --> > <!-- Custom declarations --> > <!-- > ============================================================== --> > > > <!-- ============================================================== --> > <!-- Baracuda mappings --> > <!-- ============================================================== --> > <!-- This is needed for the ApplicationGateway --> > <servlet-mapping> > <servlet-name>ApplicationGateway</servlet-name> > <url-pattern>*.event</url-pattern> > </servlet-mapping> > > <!-- This is needed for the FormGateway --> > <servlet-mapping> > <servlet-name>FormGateway</servlet-name> > <url-pattern>*.form_forward</url-pattern> > </servlet-mapping> > > <!-- This is needed for the ParamGateway --> > <servlet-mapping> > <servlet-name>ParamGateway</servlet-name> > <url-pattern>*.param_map</url-pattern> > </servlet-mapping> > > <!-- This is needed for the ResourceGateway --> > <servlet-mapping> > <servlet-name>ResourceGateway</servlet-name> > <url-pattern>/xlib/*</url-pattern> > </servlet-mapping> > > > <!-- ============================================================== --> > <!-- Custom mappings --> > <!-- > ============================================================== --> > > > <!-- ============================================================== --> > <!-- Baracuda configuration --> > <!-- ============================================================== --> > <session-config> > <!-- session timeout specified in minutes --> > <session-timeout>10</session-timeout> > </session-config> > > > <!-- ============================================================== --> > <!-- Custom Mime Mappings --> > <!-- ============================================================== --> > <!-- For Tomcat 3.3 compatibility with Mozilla in Strict --> > <!-- parsing mode --> > <mime-mapping> > <extension>css</extension> > <mime-type>text/css</mime-type> > </mime-mapping> > > <!-- Inexplicably, there are no xml/xsl mime mappings in Tomcat-4.1.10. > This is fixed in Tomcat-4.1.11, but add them here for safety. --> > <mime-mapping> > <extension>xml</extension> > <mime-type>text/xml</mime-type> > </mime-mapping> > > <mime-mapping> > <extension>xsl</extension> > <mime-type>text/xml</mime-type> > </mime-mapping> > > > <!-- ============================================================== --> > <!-- Custom Welcome File List --> > <!-- > ============================================================== --> > > > <!-- ============================================================== --> > <!-- Custom Error Page --> > <!-- > ============================================================== --> > > > <!-- ============================================================== --> > <!-- JNDI Resources --> > <!-- ============================================================== --> > <env-entry> > <description>JNDI logging context for this webapp</description> > <env-entry-name>log4j/logging-context</env-entry-name> > <env-entry-value>BarracudaDiscRack</env-entry-value> > <env-entry-type>java.lang.String</env-entry-type> > </env-entry> > > <!-- ============================================================== --> > <!-- Security settings --> > <!-- > ============================================================== --> > > > ></web-app> > > > > Enhydra Development Team, > 23.09.2003 > >_______________________________________________ >Barracuda mailing list >[email protected] >http://barracudamvc.org/lists/listinfo/barracuda _______________________________________________ Barracuda mailing list [email protected] http://barracudamvc.org/lists/listinfo/barracuda