use*_*076 6 javascript log4j alfresco
我试图在对应于Alfresco模板页面的javascript文件中使用logger.log("Hello").
我已设置以下内容: - 在custom-log4j.properties中(覆盖log4j.properties)
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=alfresco.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
log4j.logger.org.alfresco.repo.web.scripts=warn
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
log4j.logger.org.alfresco.repo.jscript=debug
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=debug
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
Run Code Online (Sandbox Code Playgroud)
但是当我在js文件中使用logger.log时,我得到的logger没有定义.
解决方案是在custom-slingshot-application-context.xml中设置以下内容
<bean id="webframework.rendition.processor.webtemplate" class="org.springframework.extensions.webscripts.WebTemplateProcessor">
<property name="templateProcessorRegistry" ref="webframework.templates.registry.templateprocessor" />
<property name="scriptProcessorRegistry" ref="webframework.templates.registry.scriptprocessor" />
<property name="processorModelHelper" ref="processor.model.helper"></property>
<property name="webFrameworkConfigElement" ref="webframework.config.element"></property>
<property name="scriptObjects">
<map>
<entry key="remote" value-ref="webframework.webscripts.scriptremote" />
<entry key="stringUtils">
<bean class="org.springframework.extensions.webscripts.ScriptableUtils"/>
</entry>
<entry key="logger">
<bean class="org.springframework.extensions.webscripts.ScriptLogger"/>
</entry>
</map>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
现在使用logger.log不会给出任何错误,但似乎它没有写入位于Tomcat/bin中的alfresco.log
有人有线索吗?
And*_*fan 15
看起来您对适用于存储库的内容以及适用于共享的内容感到困惑.
在存储库中:
logger.logorg.alfresco.repo.jscript.ScriptLogger在级别调试中使用类别,所以你所拥有的custom-log4j.properties是正确的(虽然appender被忽略).确保它位于类路径中alfresco/extension.该目录tomcat/shared/classes/alfresco/extension是您通常想要的.
在分享中:
logger.log使用类别org.springframework.extensions.webscripts.ScriptLogger.据我记得,那里没有"custom-log4j属性配置机制",所以你必须追加
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=debug
Run Code Online (Sandbox Code Playgroud)
到share/WEB-INF/classes/log4j.properties.
小智 6
如果您不想重新启动alfresco并在存储库中执行脚本,那么还有另一种解决方法.尝试使用除logger.log之外的logger.system.out,您仍然可以在catalina.out中找到日志消息.
| 归档时间: |
|
| 查看次数: |
7372 次 |
| 最近记录: |