适用于: 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 控制台窗口中写入一条警告。
建议使用 StartTime 和 EndTime 参数进行筛选,以优化此 cmdlet 的性能。某些筛选参数(如 Process、Area、Category、EventID 和 Message)支持通配符。
有关 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 |
管理对象以便正确进行处理。使用 SPWeb 或 SPSite 等对象可能会耗用大量内存,而且在 Windows PowerShell 脚本中使用这些对象需要正确管理内存。通过使用 SPAssignment 对象,可以将对象分配给变量,然后在不需要这些对象时对它们进行处理,以释放内存。在使用 SPWeb、SPSite 或 SPSiteAdministration 对象时,如果不使用分配集合或 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 Foundation 和 Web 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 格式的所有用户名合并日志数据。
Note