按照以下页面上的说明操作后:
http://wiki.orbeon.com/forms/doc/developer-guide/xforms-logging
http://wiki.orbeon.com/forms/doc/developer-guide/configuration-properties
我已根据上面的说明生成了我的log4j.xml和properties-local.xml文件,并将它们插入 $ TOMCAT_HOME / webapps / orbeon / WEB-INF / resources / config 目录。
重新启动tomcat并使用构建器构建一些表单后,我无法找到任何日志信息。我的系统上没有orbeon.log文件,我的tomcat日志文件中也没有orbeon信息。另外,我在调试模式下运行tomcat以在IntelliJ中使用远程调试,并且不向控制台接收输出。
我正在使用IntelliJ构建webapp,最新的https://github.com/orbeon/orbeon-forms/tree/4.0.0.m10-ce 目前提交51f0e8f1b396336c612c16655e39abe6b807214b
我正在使用Ubuntu 12.04并在Tomcat6中运行orbeon。
我对orbeon开发很新,所以我希望这个问题很简单。 任何帮助将不胜感激。感谢。
更新
我尝试设置记录器以获得没有结果的绝对路径,这是我当前的配置(除了实际的绝对路径)。
的log4j.xml
<!-- This is the standard log appender to the console (System.out) -->
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<param name="Encoding" value="UTF-8"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %c{1} %x - %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="debug"/>
</filter>
</appender>
<!-- Logging to a single file, typically used in development when you don't want
to be dealing with multiple files generated by the RollingFileAppender.
See: http://logging.apache.org/log4j/docs/api/org/apache/log4j/FileAppender.html -->
<appender name="SingleFileAppender" class="org.apache.log4j.FileAppender">
<param name="File" value="/Absolute_Path_To_$TOMCAT_HOME/logs/orbeon.log"/>
<param name="Append" value="false" />
<param name="Encoding" value="UTF-8"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %c{1} %x - %m%n"/>
</layout>
</appender>
<!-- Logging to a rolling files. Every time the file exceeds a certain size, a backup
is created and the file used for logging is truncated.
See: http://logging.apache.org/log4j/docs/api/org/apache/log4j/RollingFileAppender.html -->
<appender name="RollingFileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="../logs/orbeon.log"/>
<param name="MaxFileSize" value="5MB"/>
<param name="maxBackupIndex" value="200"/>
<param name="Append" value="false" />
<param name="Encoding" value="UTF-8"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %c{1} %x - %m%n"/>
</layout>
</appender>
<!-- XForms engine activity, see http://wiki.orbeon.com/forms/doc/developer-guide/xforms-logging -->
<category name="org.orbeon.oxf.xforms.processor.XFormsServer">
<priority value="debug"/>
</category>
<!-- To enable logging for any of the sub-systems below, copy that section outside of the comment block -->
<category name="org.orbeon.oxf.properties.Properties">
<priority value="debug"/>
</category>
<category name="org.orbeon.oxf.processor.pipeline.TeeProcessor">
<priority value="debug"/>
</category>
<category name="org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor">
<priority value="debug"/>
</category>
<category name="org.orbeon.oxf.processor.generator.URLGenerator">
<priority value="debug"/>
</category>
<category name="org.orbeon.oxf.processor.xmldb.XMLDBProcessor">
<priority value="debug"/>
</category>
<category name="org.orbeon.oxf.processor.sql.SQLProcessor">
<priority value="debug"/>
</category>
<category name="org.orbeon.oxf.processor.PageFlowControllerProcessor">
<priority value="debug"/>
</category>
<category name="org.orbeon.oxf.processor.generator.RequestGenerator">
<priority value="debug"/>
</category>
<category name="org.orbeon.oxf.webapp.OPSSessionListener">
<priority value="info"/>
</category>
<category name="org.orbeon.oxf.webapp.OPSServletContextListener">
<priority value="info"/>
</category>
<!---->
<!-- Prevent extra display of eXist paging activity -->
<category name="org.exist.storage.btree.Paged">
<priority value="warn"/>
</category>
<category name="org.exist.storage.DBBroker">
<priority value="warn"/>
</category>
<category name="org.exist.storage.BrokerPool">
<priority value="warn"/>
</category>
<!-- You decide here which one of the loggers listed above you want to use. -->
<root>
<priority value="info"/>
<!--<appender-ref ref="ConsoleAppender"/>-->
<!--<appender-ref ref="ChainsawAppender"/>-->
<appender-ref ref="SingleFileAppender"/>
<!--<appender-ref ref="RollingFileAppender"/>-->
</root>
属性 - 那个local.xml
<properties xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:oxf="http://www.orbeon.com/oxf/processors">
<property as="xs:NMTOKENS" name="oxf.xforms.logging.debug"
value="document model submission control event action analysis server server-body html submission-details submission-body"/>
</properties>
UPDATE2
根据一些建议,我确保写权限不是问题。我也尝试过使用ConsoleAppender并且仍然没有输出,但几分钟后webapp也崩溃了,我在tomcat日志文件中发现了这个异常。
警告:无法为会话29AE194AA69E0D51C111F5035C219E7B序列化会话属性orbeon.resources.dynamic.cb088a8a347ad72a00012a9d8569b5e9c5dd638
java.io.NotSerializableException: scala.collection.JavaConversions$MapWrapper
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1585)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1015)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:528)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:469)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:678)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4882)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:936)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1359)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1330)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:326)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1110)
at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:468)
at org.apache.catalina.core.StandardService.stop(StandardService.java:604)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:788)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:662)
at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:706)
答案 0 :(得分:1)
如果您将log4j声明为
,则应在Tomcat文件夹中提供logs文件夹<appender name="SingleFileAppender" class="org.apache.log4j.FileAppender">
<param name="File" value="../logs/orbeon.log"/>
<param name="Append" value="false" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %-5p %c{1} %x - %m%n"/>
</layout>
</appender>
和
<!-- You decide here which one of the loggers listed above you want to use. -->
<root>
<priority value="debug"/>
<!--<appender-ref ref="ConsoleAppender"/>-->
<!--<appender-ref ref="ChainsawAppender"/>-->
<appender-ref ref="SingleFileAppender"/>
<!--<appender-ref ref="RollingFileAppender"/>-->
</root>
如果您只是将Orbeon war文件放在webapps文件夹中,那么我建议在服务器启动后删除.war文件。服务器启动后,tomcat解压缩并创建一个文件夹。如果每次重新启动tomcat服务器时都没有删除.war,它将解压缩并重写在同一文件夹中。
答案 1 :(得分:0)
使用默认log4j.xml
时,正在使用SingleFileAppender
,并使用相对路径引用它写入的文件:
<param name="File" value="../logs/orbeon.log"/>
因此,磁盘上文件的位置取决于启动Tomcat的目录。从bin
目录启动Tomcat并不罕见,在这种情况下,日志文件最终会出现在Tomcat的logs
目录中。但是,如果您从其他位置启动Tomcat,或者希望日志文件最终位于不同的目录中,则可以编辑log4j.xml
并在其中放置orbeon.log
的绝对路径。 / p>