查看队列作业条目的 ULS 日志

 

上一次修改主题: 2015-03-09

您可以使用您的服务器的统一日志记录服务 (ULS) 日志来解决 Microsoft Office Project Server 2007 中的队列问题。ULS 日志中的队列条目信息在与 Project Web Access 中的“管理队列”页中的信息或与 Windows Server 事件查看器一同使用时,将特别有用。

本文介绍以下内容:

  • 如何配置 ULS 日志文件设置

  • 如何配置 Microsoft Office Excel 2007 以查看 ULS 日志文件

  • 如何搜索 ULS 日志中的特定队列作业

  • ULS 日志中的队列作业条目类型

  • 队列条目参数

  • 解决队列问题的最佳方案

配置 ULS 日志文件设置

您可以使用 SharePoint 管理中心网站来配置 ULS 日志文件设置。在此页面上,您可以执行以下操作:

  • 指定存储日志文件的默认位置。

  • 指定要存储在服务器上的日志文件的最大数目。

  • 指定使用每个日志文件的持续时间(以分钟为单位)。

提示

日志文件设置将应用于服务器场中的所有服务器。

配置 ULS 日志文件设置

  1. 在管理中心,单击“操作”。在“日志记录和报告”部分,单击诊断日志记录

  2. 在“诊断日志记录”页的“跟踪日志”部分,验证“路径”字段中指定的位置。默认位置为 C:\Program Files\Common Files\Microsoft Shared\Web server extensions\12\LOGS。若要更改该位置,请在“路径”字段中键入一个新位置。

  3. 在“日志文件数”字段中,指定保存到服务器场中的每个服务器的最大日志文件数。默认值为 96。

  4. 在“使用日志文件的时间(分钟)”字段中,输入您需要使用每个日志文件的持续时间(分钟)。默认值为 30。

  5. 单击“确定”。

新的日志文件将使用以下格式命名:servername-year/month/day-time.log

例如,2008 年 6 月 8 日下午 1:20 在名为“Contoso”的服务器上创建的日志文件将命名为 contoso-20080608-1320.log。如果将“使用日志文件的时间(分钟)”字段设置为 30,随后将会看到创建的以下文件:contoso-20080608-1320.log、contoso-20080608-1350.log、contoso-20080608-1420.log 和 contoso-20080608-1450.log 等。

配置 Office Excel 2007 以查看 ULS 日志文件

可以在大部分文本编辑器或 Microsoft Office Excel 中轻松查看日志文件。Excel 允许日志文件按列进行排序,同时还提供更好的可读性(对于包含长字符串数据的行尤其如此)。

配置 Office Excel 2007 以查看跟踪日志文件

  1. 在 Office Excel 2007 中,单击“Office”按钮,然后单击“打开”。

  2. 在“打开”对话框中,浏览至日志文件的位置。

  3. 在“文件类型”列表(位于“文件名称”字段的右侧),选择“所有文件(*.*)”以便您能够看到日志文件。

    提示

    若要按日期排列文件列表,请右键单击文件列表中的空闲区域,单击“排序方式”,然后单击“修改日期”。

  4. 从文件列表中,选择要查看的日志文件。

  5. 出现日志文件后,在“主页”选项卡上,单击“排序和筛选”,然后单击“筛选”,这将允许您按特定的条件筛选所有行。例如,如果您只需要查看 Project Server 条目,则可以单击“区域”列中的“筛选”菜单,然后,清除除 Project Server 之外的所有其他选项。

  6. 选择“消息”列。在“主页”选项卡上,单击“格式”,然后单击“单元格格式”。在“单元格格式”页上,单击“对齐”,然后在“文本控制”部分,选择“自动换行”。单击“确定”。消息数据可能会非常长,因此将列配置为自动换行便于查看数据。

搜索特定的队列作业

若要查看日志文件中的特定条目,必须结合 ULS 日志使用 Project Web Access 中的“管理队列作业”页。

每个队列作业都具有一个作业组标识号。您可以使用此数据来搜索日志文件。若要开始搜索,必须将“作业组标识号”列添加到作业网格中。完成该操作后,就可以检查 ULS 日志文件中的特定值。

将“作业组标识号”列添加到作业网格中

  1. 在 Project Web Access 中的“服务器设置”页的“队列”部分,单击“管理队列”。

  2. 在“管理队列作业”页上,单击“列”。

  3. 在“可用列”列表中,选择“作业组标识号”。单击“添加”将作业组标识号移到“选定的列”列表中。

  4. 在“作业网格”工具栏中,单击“刷新状态”并验证是否已添加了该列。

添加“作业组标识号”列后,可以根据您在“管理队列作业”页上看到的作业所对应的作业组标识号值,来检查 ULS 日志中的作业队列条目。例如,在“管理队列作业”页上的“作业网格”中,您已注意到在 2008 年 6 月 8 日的下午 1:22,项目发布作业失败。根据失败的时间,您确定可以找到包含失败信息的相应日志文件。例如,如果日志文件持续时间(使用日志文件参数的分钟数)被设置为 30 分钟,则 contoso-20080608-1320.log 将包含失败信息,这是因为该时间范围为下午 1:20 到下午 1:50。

打开日志文件后,您可以使用列筛选器搜索与特定队列作业相关的所有条目。例如,“关联”列将允许您根据作业组标识号进行筛选。您还可以通过筛选“时间戳”列(依据失败时间)、“区域”列(筛选“Project Server”)或“类别”列(筛选“Project Server 队列”)来缩小您的搜索范围。

查看队列条目组件

在查看 ULS 日志中的队列条目时,请注意,这些条目可以划分为两种作用类型:

  • **发送到队列中的作业:**该作业将从 Project Server 发送到队列中等待处理。

  • **选取以待处理的作业:**将作业成功发送到队列后,队列工作线程尝试处理该作业。

发送到队列中的作业

当作业成功发送到队列时,通常会在 ULS 日志中看到队列作业的三种条目类型:

  • begin-message-group 条目

  • 将与作业相关的数据发送到队列的条目

  • end-message-group 条目

**Begin-message-group 条目:**ULS 日志中的队列作业的初始条目,表示作业开始的标记。该条目会通知队列:其他与作业相关的数据将随后发送给它。下面是 begin-message-group 队列作业条目示例:

05/13/2008 11:24:09.05 w3wp.exe(0x0E38) 0x0160 ProjectServer ProjectServerQueue 8the Medium PWA:hppt://contoso/PWA, SSP:SharedService1, User:Contoso\EvaCorets, PSI: Project.QueueCreateProjectAndCheckOut [QUEUE][SENDER] ProjectQ: BeginMessageGroup(95e48e6e-71ad-4a6b-b997-86693cac4f66,41398775-d4a6-4c10-a523-4d0251d192c1,ProjectCreate,StandardPriority): JobUID: 6c2c97af-06b4-4038-8ee8-d83de92e59a9 ca5ca0b6-1dce-4d76-aefb-fec966aa8fe1

**将与作业相关的数据发送到队列的条目:**队列作业发送 begin-message-group 条目后,您会看到发送给队列的多个与作业相关的条目。您可以通过标识号参数值来跟踪些条目的顺序。这些条目可能会按顺序依次出现在日志中,也可能分散在各个时间段中,与其他日志条目混杂在一起。您可以使用作业的组 UID 号来跟踪日志文件中的作业条目。此时,作业处于“正在排入队列”状态。下面是与作业相关的条目示例:

05/13/2008 11:24:09.07 w3wp.exe (0x0E38) 0x0160 ProjectServer ProjectServerQueue 8thf Medium PWA:http://contoso/PWA, SSP:SharedServices1, User:Contoso\EvaCorets, PSI: Project.QueueCreateProjectAndCheckOut  [QUEUE][SENDER] ProjectQ: Send( Microsoft.Office.Project.Server.BusinessLayer.QueueMsg.ProjectAddToMessage ): ID: 1 GroupUID: 95e48e6e-71ad-4a6b-b997-86693cac4f66  ca5ca0b6-1dce-4d76-aefb-fec966aa8fe1

**End-message-group 条目:**当队列收到队列作业的所有数据后,end-message-group 条目将会发送到队列中。但在收到该条目之前,队列作业将处于“正在排入队列”状态。如果成功收到了 end-message-group 条目,则作业将转换成“正在等待处理”状态。下面是 end-message-group 条目示例:

05/13/2008 11:24:09.09 w3wp.exe(0x0E38) 0x0160 ProjectServer ProjectServerQueue 8the Medium PWA:hppt://contoso/PWA, SSP:SharedService1, User:Contoso\EvaCorets, PSI: Project.QueueCreateProjectAndCheckOut [QUEUE][SENDER] ProjectQ: EndMessageGroup(): GroupUID: 6c2c97af-06b4-4038-8ee8-d83de92e59a9 ca5ca0b6-1dce-4d76-aefb-fec966aa8fe1

选取以待处理的作业

当作业成功提交给队列后,最终会被作业工作线程选取以待处理。有两种与此相关的作业类型:

  • Starting-group 条目

  • Group-completed-successfully 条目

**Starting-group 条目:**ULS 日志中的 starting-group 条目表示已选取作业以便进行处理,此时,该作业的状态为“正在处理”。下面是 starting-group 条目示例:

05/13/2008 11:24:09.55 Microsoft.Office.Project.Server (0x0E9C) 0x1378  ProjectServer   ProjectServerQueue 7h52 Medium PWA:http://Contoso/PWA, SSP:SharedServices1, User:Contoso\EvaCorets, PSI:[QUEUE] ProjectQ: Starting group 95e48e6e-71ad-4a6b-b997-86693cac4f66 type = ProjectCreate priority = StandardPriority   59d07fb9-158f-42b6-ac09-824d592c06c7

**Group-completed-successfully 条目:**当作业成功处理完后,ULS 日志中的 group-completed-successfully 条目将会发出通知。该作业的状态将为“成功”。下面是 group-completed-successfully 条目示例:

05/13/2008 11:24:11.52 Microsoft.Office.Project.Server (0x0E9C) 0x1378  ProjectServer  ProjectServerQueue 7h5o Medium PWA:http://Contoso/PWA, SSP:SharedServices1, User:Contoso\EvaCorets, PSI:[QUEUE] ProjectQ: Group completed successfully: 95e48e6e-71ad-4a6b-b997-86693cac4f66 type = ProjectCreate 59d07fb9-158f-42b6-ac09-824d592c06c7

队列条目参数

您可以在 ULS 日志中的所有各种队列作业条目中找到以下参数:

参数 说明

PWA:http://contoso/PWA

说明队列作业正在处理时所在的 Project Server 实例。在本例中为“http://contoso/PWA”。

SSP:ShareService1

说明作业发生时所在的 Project Server 实例的共享服务提供程序。在本例中为“SharedService1”。

User:Contoso\EvaCorets

说明队列作业的所有者。在本例中为以 EvaCorets 别名命名的 Windows 用户。

PSI: WinProj.PreSaveProject

说明通过作业正在执行的 Project Server 接口 (PSI) 调用。在本例中,WinProj.PreSaveProject 表示 PSI 调用是通过 Project Professional 执行的项目保存操作。

[SENDER]

表示消息正在发送至队列。

[QUEUE]

定义队列主线程和队列工作线程。

[SERVICE]

定义队列监视进程。

[QSERVICE]

定义队列工作进程。

ProjectQ:

定义项目队列(与时间表队列相对)。

ProjectSave

指定作业类型是从项目客户端执行的保存操作。作业类型将被附加 Type = in Starting GroupGroup Completed Successfully 条目。

StandardPriority

表示作业优先级。在选取高优先级的作业后,会选取低优先级的作业(如写入到通过项目发布作业产生的报告数据库)进行处理。优先级将会附加 Priority = in Starting GroupGroup Completed Successfully 条目。

JobUID: de2f…

定义队列作业的 UID。作业 UID 值将对应于 Project Web Access 服务器设置中“管理队列作业”页中的队列作业的作业标识号值。

提示

ULS 日志中的队列作业条目最后一列中的 UID 值通常会与 Project Web Access 服务器设置中的“管理队列作业”页中的作业组 UID 值相关联。

有关队列线程和进程的详细信息,请参阅 Microsoft Office Project Server 2007 队列系统

另请参阅

概念

Microsoft Office Project Server 2007 队列系统
解决 Project Server 队列问题的最佳方案
为 Project Server 队列服务配置最大作业处理器线程数
解决队列作业处于排队状态的问题