Merge-SPLogFile

适用于: SharePoint Foundation 2010, SharePoint Server 2010

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

将所有服务器场计算机中的跟踪日志条目合并到本地计算机上的一个日志文件中。

Syntax

Merge-SPLogFile -Path <String> [-Area <String[]>] [-AssignmentCollection <SPAssignmentCollection>] [-Category <String[]>] [-ContextFilter <String[]>] [-Correlation <Guid[]>] [-EndTime <DateTime>] [-EventID <String[]>] [-ExcludeNestedCorrelation <SwitchParameter>] [-Level <String>] [-Message <String[]>] [-Overwrite <SwitchParameter>] [-Process <String[]>] [-StartTime <DateTime>] [-ThreadID <UInt32[]>]

详细说明

Merge-SPLogFile cmdlet 会从每台服务器场服务器上的统一日志记录服务 (ULS) 跟踪日志文件中返回符合条件的记录,并将结果写入到本地计算机上的新日志文件中。如果没有返回任何结果,则会向 Windows PowerShell 控制台窗口中写入一条警告。

建议使用 StartTimeEndTime 参数进行筛选,以优化此 cmdlet 的性能。某些筛选参数(如 ProcessAreaCategoryEventIDMessage)支持通配符。

有关 Windows PowerShell for SharePoint 产品的权限和最新信息,请参阅联机文档 (https://go.microsoft.com/fwlink/?LinkId=163185)。

Parameters

参数 是否必需 类型 说明

Path

必需

System.String

指定要将合并的日志文件写入其中的文件的路径和文件名。支持相对路径。

Area

可选

System.String[]

指定筛选所依据的区域名。

键入的值必须是有效的名称;例如,SharePoint Foundation。

支持使用通配符。

AssignmentCollection

可选

Microsoft.SharePoint.PowerShell.SPAssignmentCollection

管理对象以便正确进行处理。使用 SPWebSPSite 等对象可能会耗用大量内存,而且在 Windows PowerShell 脚本中使用这些对象需要正确管理内存。通过使用 SPAssignment 对象,可以将对象分配给变量,然后在不需要这些对象时对它们进行处理,以释放内存。在使用 SPWebSPSiteSPSiteAdministration 对象时,如果不使用分配集合或 Global 参数,则会自动处理这些对象。

注意Note
在使用 Global 参数时,所有对象均包含在全局存储中。如果未立即使用对象,或未通过使用 Stop-SPAssignment 命令来处理对象,则可能会发生内存不足的情况。

Category

可选

System.String[]

指定筛选所依据的类别 ID。

键入的值必须是有效的类别名称;例如,category1。

支持使用通配符。

ContextFilter

可选

System.String[]

在特定的上下文中指定跟踪条目的筛选器,格式为 key=value,例如,user=contoso\joeuser。

Correlation

可选

System.Guid[]

指定筛选所依据的互联 ID。该类型必须是有效的 GUID(格式为 F0BB0790-4323-A153-096F-ABCDC80E24D4)。

EndTime

可选

System.DateTime

指定所返回日志条目的结束时间。

该类型必须是管理语言的区域性特定的有效日期时间格式,如美国英语的日期时间格式为 2/16/2007 12:15:12。

EventID

可选

System.String[]

指定筛选所依据的事件 ID。支持使用通配符。

ExcludeNestedCorrelation

可选

System.Management.Automation.SwitchParameter

从结果中排除嵌套的互联值。仅当使用 ContextFilter 参数筛选结果时才使用此参数

默认情况下,ContextFilter 参数返回的记录中除了包含符合筛选条件的记录之外,还包含所有相关记录。指定此选项将只包含符合筛选条件的记录,而排除任何相关记录。

Level

可选

System.String

指定筛选所依据的级别名称。

结果包含指定的级别以及所有更高的级别。

Message

可选

System.String[]

指定筛选所依据的消息文本。

该类型必须是有效的文本。包含空格的文本应该用引号引起;例如,"This is a test."。

支持使用通配符。

Overwrite

System.Management.Automation.SwitchParameter

覆盖日志文件(如果该文件在指定的路径已经存在)。

该类型必须是下列值之一:

- $True

- $False

默认值为 $False

Process

可选

System.String[]

指定筛选所依据的进程名称。

支持使用通配符。

StartTime

可选

System.DateTime

指定返回日志条目的开始时间。

该类型必须是管理语言的区域性特定的有效日期时间格式,如美国英语的日期时间格式为 2/16/2007 12:15:12。

默认值比本地计算机上的当前时间早一个小时。

ThreadID

可选

System.UInt32[]

指定筛选所依据的线程 ID。

键入的值必须是介于 0 至 4,294,967,295 之间的有效整数。

输入类型

返回类型

Example

--------------示例 1-----------------

Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite

此示例将所有服务器场计算机中最后一小时的日志数据进行合并,而不进行筛选。

--------------示例 2-----------------

Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Area Search

此示例将 Search 区域中最后一小时的日志数据进行合并。

--------------示例 3-----------------

Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Area "SharePoint Foundation","Web Analytics Services"

此示例将 SharePoint FoundationWeb Analytics Services 区域中最后一小时的日志数据进行合并。

--------------示例 4-----------------

Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Level High

此示例将 High 级别或更高级别的日志数据进行合并。

--------------示例 5-----------------

Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -StartTime "06/09/2008 16:00" - EndTime "06/09/2008 16:15"

此示例将特定时间范围(美国的区域性特定范围)内事件的日志数据进行合并。

--------------示例 6-----------------

Merge-SPLogFile -Path "C:\Logs\FarmMergedLog.log" -Overwrite -Message "*permission changed*"

此示例将合并消息文本中带有 permission changed 的事件的日志数据。

--------------示例 7-----------------

Merge-SPLogFile -Overwrite -Path d:\1.log -ContextFilter "name=timer job*" -Area "*search*"

此示例合并所有搜索计时器作业的日志数据。

--------------示例 8-----------------

Merge-SPLogFile -Overwrite -Path d:\2.log -ContextFilter "user=contoso?joeuser"

此示例演示如何为具有 contoso\joeuser 或 Contoso/joeuser 格式的所有用户名合并日志数据。

See Also

Reference

New-SPLogFile