Author: vgritsenko Date: Thu Mar 31 13:17:20 2005 New Revision: 159639 URL: http://svn.apache.org/viewcvs?view=rev&rev=159639 Log: fix bug #17771
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/java/log.xsl cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/samples/java/simple.xsp Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/java/log.xsl URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/java/log.xsl?view=diff&r1=159638&r2=159639 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/java/log.xsl (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/java/org/apache/cocoon/components/language/markup/xsp/java/log.xsl Thu Mar 31 13:17:20 2005 @@ -1,6 +1,6 @@ <?xml version="1.0"?> <!-- - Copyright 1999-2004 The Apache Software Foundation + Copyright 1999-2005 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,21 +15,26 @@ limitations under the License. --> -<!-- $Id: log.xsl,v 1.2 2004/03/17 11:28:22 crossley Exp $--> -<!-- - * XSP Logger logicsheet for the Java language - * - * @author <a href="mailto:[EMAIL PROTECTED]>Berin Loritsch</a> - * @version CVS $Revision: 1.2 $ $Date: 2004/03/17 11:28:22 $ ---> - -<xsl:stylesheet - version="1.0" - xmlns:xsp="http://apache.org/xsp" - xmlns:log="http://apache.org/xsp/log/2.0" - - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" -> +<!--+ + | XSP Logger logicsheet for the Java language + | + | @author <a href="mailto:[EMAIL PROTECTED]>Berin Loritsch</a> + | @version $Id$ + +--> +<xsl:stylesheet version="1.0" + xmlns:xsp="http://apache.org/xsp" + xmlns:log="http://apache.org/xsp/log/2.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template match="xsp:page"> + <xsp:page> + <xsl:apply-templates select="@*"/> + <xsp:logic> + org.apache.avalon.framework.logger.Logger _log_defaultLogger; + </xsp:logic> + <xsl:apply-templates/> + </xsp:page> + </xsl:template> <xsl:template match="log:logger"> <xsl:variable name="name"> @@ -40,24 +45,10 @@ <xsl:with-param name="content" select="log:name"/> </xsl:call-template> </xsl:when> - <xsl:otherwise>""</xsl:otherwise> + <xsl:otherwise>null</xsl:otherwise> </xsl:choose> </xsl:variable> -<!-- Files are now under control of LogKitManager - <xsl:variable name="filename"> - <xsl:choose> - <xsl:when test="@filename">"<xsl:value-of select="@filename"/>"</xsl:when> - <xsl:when test="filename"> - <xsl:call-template name="get-nested-content"> - <xsl:with-param name="content" select="log:filename"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise>""</xsl:otherwise> - </xsl:choose> - </xsl:variable> ---> - <xsl:variable name="level"> <xsl:choose> <xsl:when test="@level">"<xsl:value-of select="@level"/>"</xsl:when> @@ -71,63 +62,57 @@ </xsl:variable> <xsp:logic> - if (getLogger() == null) { - try { - String category = <xsl:value-of select="$name"/>; - org.apache.log.Logger logger = org.apache.log.Hierarchy.getDefaultHierarchy().getLoggerFor( category ); -<!-- - if (!"".equals(<xsl:value-of select="$filename"/>)) { - String file = this.avalonContext.get(org.apache.cocoon.Constants.CONTEXT_LOG_DIR) + <xsl:value-of select="$filename"/>; - org.apache.log.LogTarget[] targets = new org.apache.log.LogTarget[] { - new org.apache.log.output.FileOutputLogTarget(file) - }; - logger.setLogTargets(targets); - } ---> - logger.setPriority(org.apache.log.Priority.getPriorityForName(<xsl:value-of select="$level"/>)); - this.enableLogging(new org.apache.avalon.framework.logger.LogKitLogger(logger)); - } catch (Exception e) { - getLogger().error("Could not create logger for \"" + - <xsl:value-of select="$name"/> + "\".", e); - } + if (_log_defaultLogger == null) { + _log_defaultLogger = getLogger(); + } + try { + String category = <xsl:value-of select="$name"/>; + if (category != null) { + enableLogging(_log_defaultLogger.getChildLogger(category)); + } else { + enableLogging(_log_defaultLogger); + } + } catch (Exception e) { + getLogger().error("Could not create logger for \"" + + <xsl:value-of select="$name"/> + "\".", e); } </xsp:logic> </xsl:template> <xsl:template match="log:debug"> <xsp:logic> - if(getLogger() != null) + if (getLogger().isDebugEnabled()) getLogger().debug(<xsl:call-template name="get-log-message"/>); </xsp:logic> </xsl:template> <xsl:template match="log:info"> <xsp:logic> - if(getLogger() != null) + if (getLogger().isInfoEnabled()) getLogger().info(<xsl:call-template name="get-log-message"/>); </xsp:logic> </xsl:template> <xsl:template match="log:warn"> <xsp:logic> - if(getLogger() != null) + if (getLogger().isWarnEnabled()) getLogger().warn(<xsl:call-template name="get-log-message"/>); </xsp:logic> </xsl:template> <xsl:template match="log:error"> <xsp:logic> - if(getLogger() != null) + if (getLogger().isErrorEnabled()) getLogger().error(<xsl:call-template name="get-log-message"/>); </xsp:logic> </xsl:template> <xsl:template match="log:fatal-error"> <xsp:logic> - if(getLogger() != null) - getLogger().fatalError(<xsl:call-template name="get-log-message"/>); + getLogger().fatalError(<xsl:call-template name="get-log-message"/>); </xsp:logic> </xsl:template> + <xsl:template name="get-nested-content"> <xsl:param name="content"/> Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/samples/java/simple.xsp URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/samples/java/simple.xsp?view=diff&r1=159638&r2=159639 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/samples/java/simple.xsp (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/xsp/samples/java/simple.xsp Thu Mar 31 13:17:20 2005 @@ -1,6 +1,6 @@ <?xml version="1.0"?> <!-- - Copyright 1999-2004 The Apache Software Foundation + Copyright 1999-2005 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,8 +15,10 @@ limitations under the License. --> -<!-- CVS $Id$ --> - +<!--+ + | Simple XSP example. + | $Id$ + +--> <xsp:page language="java" xmlns:xsp="http://apache.org/xsp" xmlns:xsp-request="http://apache.org/xsp/request/2.0" @@ -25,88 +27,85 @@ xmlns:input="http://apache.org/cocoon/xsp/input/1.0"> <page> - <log:logger name="xsp-sample" filename="xsp-sample.log"/> - <log:debug>Processing the beginning of the page</log:debug> + <!-- Use own logger sub-category for this logicsheet --> + <log:logger name="simple"/> + <log:debug>Processing the beginning of the page</log:debug> + + <title>A Simple XSP Page</title> + + <content> + <capture:fragment-variable name="page_part"> + <para> + These 2 paragraphs were generated at the start of the XSP, + and captured for insertion at the end. + </para> + <para>Brought to you by Cocoon at <xsp:expr>new Date()</xsp:expr>.</para> + </capture:fragment-variable> + + <para>Hi there! I'm a simple dynamic page generated by XSP (eXtensible Server Pages).</para> + + <para>I was requested as the URI: <b><xsp-request:get-uri as="xml"/></b></para> + + <para>The following list was dynamically generated:</para> + <ul> + <xsp:logic> + for (int i=0; i < 3; i++) { + <li> + Item <xsp:expr>i</xsp:expr> + </li> + } + </xsp:logic> + </ul> + + <xsp:element> + <xsp:param name="name"><xsp:expr>"P".toLowerCase()</xsp:expr></xsp:param> + <xsp:attribute name="align">left</xsp:attribute> + <i> + This paragraph was dynamically generated by logic embedded in the page + </i> + </xsp:element> + + <para> + Request parameter "name" as XML: + <xsp-request:get-parameter name="name" default="Not provided" as="xml"/> + </para> + + <para> + Request parameter "name" as String: + <xsp-request:get-parameter name="name" default="Not provided"/> + </para> + + <para> + Request parameter "name" as iso-8859-2 encoded String (with servlet + container encoding iso-8859-1): + <xsp-request:get-parameter name="name" default="Not provided" + form-encoding="iso-8859-2" container-encoding="iso-8859-1"/> + </para> + + <xsp-request:get-parameter-values name="name"/> + <xsp-request:get-parameter-names/> + + <para> + Header "user-agent" as XML: + <xsp-request:get-header name="user-agent" as="xml"/> + </para> + + <para> + Header "user-agent" as String: + <xsp-request:get-header name="user-agent"/> + </para> + + <para> + Access to input modules configured in cocoon.xconf: + <input:get-attribute module="cocoon-properties" name="fullname"/> + <input:get-attribute module="cocoon-properties" name="version"/> + </para> - <title>A Simple XSP Page</title> + <xsp-request:get-header-names/> - <content> + <xsp:expr>page_part</xsp:expr> + </content> - <capture:fragment-variable name="page_part"> - <para>These 2 paragraphs were generated at the start of the XSP, and captured for insertion at the end.</para> - - <para>Brought to you by Cocoon at <xsp:expr>new Date()</xsp:expr>.</para> - </capture:fragment-variable> - - <para>Hi there! I'm a simple dynamic page generated by XSP (eXtensible Server Pages).</para> - - <para>I was requested as the URI: <b><xsp-request:get-uri as="xml"/></b></para> - - <para>The following list was dynamically generated:</para> - - <ul> - <xsp:logic> - <![CDATA[ - for (int i=0; i<3; i++) { - ]]> - <li> - Item <xsp:expr>i</xsp:expr> - </li> - <![CDATA[ - } - ]]> - </xsp:logic> - </ul> - - <xsp:element> - <xsp:param name="name"><xsp:expr>"P".toLowerCase()</xsp:expr></xsp:param> - <xsp:attribute name="align">left</xsp:attribute> - <i> - This paragraph was dynamically generated by logic embedded in the page - </i> - </xsp:element> - - <para> - Request parameter "name" as XML: - <xsp-request:get-parameter name="name" default="Not provided" as="xml"/> - </para> - - <para> - Request parameter "name" as String: - <xsp-request:get-parameter name="name" default="Not provided"/> - </para> - - <para> - Request parameter "name" as iso-8859-2 encoded String (with servlet - container encoding iso-8859-1): - <xsp-request:get-parameter name="name" default="Not provided" - form-encoding="iso-8859-2" container-encoding="iso-8859-1"/> - </para> - - <xsp-request:get-parameter-values name="name"/> - - <xsp-request:get-parameter-names/> - - <para> - Header "user-agent" as XML: - <xsp-request:get-header name="user-agent" as="xml"/> - </para> - - <para> - Header "user-agent" as String: - <xsp-request:get-header name="user-agent"/> - </para> - - <para> - Access to input modules configured in cocoon.xconf: - <input:get-attribute module="cocoon-properties" name="fullname"/> - <input:get-attribute module="cocoon-properties" name="version"/> - </para> - - <xsp-request:get-header-names/> - - <xsp:expr>page_part</xsp:expr> - </content> - <log:debug>Processing the end of the page</log:debug> + <log:debug>Processing the end of the page</log:debug> </page> </xsp:page>