如何在Tridion 2011 sp1中启用内容交付日志记录。我们有.net版本的内容交付。安装内容交付后,我们更改了应用程序文件夹(D:\ Inetpub \ MyPortal \ bin \ config)中的logback文件,下面是logback xml中的设置
<property name="log.history" value="7"/>
<property name="log.folder" value="D:\tridion\log"/>
<property name="log.level" value="DEBUG"/>
完成更改后,我们重置了IIS。但我们在上面的位置看不到任何日志文件。
我们要检查日志文件的原因是。
我们已实施内容过滤机制。我们使用各种查询标准,如ItemSchemaCriteria,CustomMetaKeyCriteria,KeywordCriteria。
虽然我们在代理数据库中存在组件,但某些过滤器的结果不会显示。如何在页面上执行过滤机制时确切地检查要触发的查询。
注意:在位置d:\ Tridion \ log \我们可以看到cd_core.2012-10-25,cd_monitor.2012-10-25,cd_deployer.2012-10-25,cd_transport.2012-10-25等文件但是这些文件已经过时了我们今天需要的日志。 (2012年4月11日)
有关问题的更多输入: 我们发现当我们为类别添加cirteria时,结果不会到来。
KeywordCriteria FilterCategory5303Criteria0 = new KeywordCriteria(&#34; FilterCategory&#34;,&#34; Administrative&#34;); Criteria [] filterCatCriteria5303 = {FilterCategory5303Criteria0}; Criteria filterCatOrCriteria5303 = CriteriaFactory.Or(filterCatCriteria5303); mainCriteria5303 = CriteriaFactory.And(mainCriteria5303,filterCatOrCriteria5303);
在代理db中的CUSTOM_META表中,我们有2个组件的条目。 KEY_NAME =&#34; FilterCategory&#34;和KEY_STRING_VALUE =&#34;管理&#34;
答案 0 :(得分:8)
如果你正在使用:
<property name="log.folder" value="D:\tridion\log"/>
然后预计你不会记录。 Logback需要双反斜杠或简单(fwd)斜杠。例如:
<property name="log.folder" value="D:\\tridion\\log"/>
或
<property name="log.folder" value="D:/tridion/log"/>
此外,如果您想查看Tridion从您的Broker查询中为您创建的(JPQL)查询,那么您需要将日志记录设置为TRACE并在日志中搜索以下内容:
TRACE JPAQueryDAO - Broker Query generated:
这将给您一个关于最终生成的最终SQL查询的印象。
我的最后一句话是关于KeywordCriteria以及你如何使用它。您应该知道KeywordCriteria与CUSTOM_META表没有任何关系。对于与该表相关的查询,您应该使用名为“CustomMeta *** Criteria”的标准
或许,在您的情况下,您需要使用:
new CustomMetaValueCriteria(new CustomMetaKeyCriteria("FilterCategory"), "Administrative");
希望这有帮助。
干杯, 丹尼尔。
答案 1 :(得分:2)
每当Broker Query没有给出我期望的结果时,我会前往MSSQL Query Profiler查看数据库级别实际发生的情况。
我在一篇关于Tridion practice wiki的文章中记录了这个过程:http://code.google.com/p/tridion-practice/wiki/TroubleshootBrokerQueryGeneration。
步骤的快速摘要:
一旦达到第6步,通常会清楚为什么没有结果。我经常最后修改SQL以给出我正在寻找的结果。从那时起我修改Criteria以生成SQL,这有时可能是一个挑战。