4

如何在 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 这样的文件老了,我们需要今天的日志。(04-11-2012)

关于问题的更多输入:我们发现当我们为类别添加标准时,时间结果不会出现。

KeywordCriteria FilterCategory5303Criteria0= new KeywordCriteria("FilterCategory","Administrative"); 条件[] filterCatCriteria5303 = {FilterCategory5303Criteria0}; 条件 filterCatOrCriteria5303 = CriteriaFactory.Or(filterCatCriteria5303); mainCriteria5303 = CriteriaFactory.And(mainCriteria5303, filterCatOrCriteria5303);

在代理数据库的 CUSTOM_META 表中,我们有 2 个组件的条目。KEY_NAME = "FilterCategory" 和 KEY_STRING_VALUE="Administrative"

4

2 回答 2

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");

希望这可以帮助。

干杯,丹尼尔。

于 2012-11-05T10:23:51.973 回答
2

每当 Broker Query 没有给我预期的结果时,我都会前往 MSSQL Query Profiler 看看在数据库级别上实际发生了什么。

我在 Tridion 实践 wiki 上的一篇文章中记录了这个过程:http ://code.google.com/p/tridion-practice/wiki/TroubleshootBrokerQueryGeneration 。

步骤的快速摘要:

  1. 启动 MSSQL 查询探查器
  2. 开始一个新的跟踪
  3. 过滤数据库名称的跟踪
  4. 重新加载您的页面,因此查询会触发
  5. 在 Profiler 中查找查询
  6. 将查询复制到更好的工具中并重新格式化

一旦您到达第 6 步,通常会有些清楚为什么没有结果。我经常最终修改 SQL 以提供我正在寻找的结果。然后我修改标准以生成该 SQL,这有时可能是一个挑战。

于 2012-11-04T13:07:47.107 回答