关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复260或者20170713可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me 。

系统出问题时候排错,很多时候需要启用跟踪,生产环境我们一般也会启用 Error 级别的跟踪,每天产生跟踪文件,数量太多不但占用磁盘寻找起来也麻烦,怎么定期清理?Follow me.

为服务器启用跟踪请参考官方文档: 监视和排查 Microsoft Dynamics 365 ,这个有简体中文版的资料,翻译得不错,我就直接贴出来啦,唯一有个遗憾的地方就是参数那里应该附上英文,不然操作者可能不知道怎么设置,参数名称肯定是英文的嘛。我这里补充上了。

我这篇文章也不展开讲其他级别的监控,就只说明部署级的:

部署级别跟踪用于监视所有 Microsoft Dynamics 365 服务器角色和服务,不论服务器角色是否安装在本地计算机上。 启用部署级别跟踪后,所有服务器角色都会受到监视,例如 异步服务、沙盒处理服务、解压缩服务、Web 应用程序 (w3wp) 和 部署工具 (mmc-Tools)。 系统会创建相应的跟踪文件。
部署级别跟踪通过 Windows PowerShell 命令进行设置且在 MSCRM_CONFIG 数据库中进行维护。 部署级别跟踪只能在拥有 Microsoft Dynamics 365部署工具 服务器角色的计算机上启用。
跟踪文件位于运行 Microsoft Dynamics 365部署工具 服务器角色的计算机上的某个文件夹中。 默认情况下,文件位于 C:\crmdrop\logs。

启用部署范围内的跟踪
要打开记录最大数目信息(包括 callstack 信息的详细记录)的部署广度跟踪设置,以提供的顺序,从计算机上的Windows PowerShell控制台(部署工具 在此处运行)运行以下命令。 要启用不详细记录或改变日志文件的位置,请参看 可选参数。
可选参数

  1. CallStack。 记录callstack信息。 如需详细的疑难解答,建议您启用它。 默认情况下,它处于关闭状态。
  2. 类别 (Categories)。 指示要记录的详细程度。
    •   错误 (Error)。 在默认情况下,类别值为 错误,此为最不详细的且仅为记录错误。
    •   警告(Warning)。 包括警告和错误。
    •   信息(Info)。 包括警告、错误和其他信息。
    •   详细(Verbose)。 记录最详细的信息。

  3. 目录(Directory)。 指定跟踪日志文件的位置。 默认情况下,文件位于 c:\crmdrop\logs。

4. FileSize。 在覆盖跟踪文件中的信息之前,指定日志文件的最大文件大小(单位:MB)。
禁用部署级别跟踪(仅内部部署版本)
要禁用跟踪,请在运行部署工具服务器角色的计算机上的 Windows PowerShell 控制台中运行以下命令(按此处提供的顺序):
禁用跟踪不会删除跟踪文件。 此外,Microsoft Dynamics 365 服务器 锁定使用的服务会打开跟踪文件。 因此,如果有任何 Microsoft Dynamics 365 服务和 World Wide Web 发布服务运行在您要删除跟踪文件的计算机上,您就需要重新启动这些服务。

理论讲完了,我们来实操下,看下我本地部署的Dynamics 365的部署级的跟踪设置以及如何设置,在部署工具所在的Dynamics 365服务器上以管理员身份打开PowerShell,输入如下命令:

#添加CRM相关的嵌入式管理单元
Add-PSSnapin Microsoft.Crm.PowerShell
#获取部署级的跟踪设置
$Setting = Get-CrmSetting TraceSettings
#显示部署级的跟踪设置
$Setting
#设置部署级的跟踪设置
$Setting.Enabled = $True
$Setting.CallStack=$True
$Setting.Categories="*:Error"
$Setting.FileSize=30
$Setting.Directory = "C:\Program Files\Microsoft Dynamics CRM\Trace"
Set-CrmSetting $Setting
#再获取部署级的跟踪设置,显示出来确保更新成功
$Setting = Get-CrmSetting TraceSettings
$Setting

我这里显示的截图如下:

下面我借助一个PowerShell方面微软 最有价值专家MVP ( https://github.com/victorwoo )特意为我写的 PowerScript脚本来创建一个Windows定时任务来删除文件,使用的脚本见 https://github.com/victorwoo/Remove-ExpiredFiles

$targetDir = 'C:\Program Files\Microsoft Dynamics CRM\Trace'
$pattern = '*.log'
$expiryDays = 30 Get-ChildItem -Recurse -File -Include $pattern -LiteralPath $targetDir | `
Where-Object {
((Get-Date) - $_.CreationTime).TotalDays -ge $expiryDays
} | `
Remove-Item

以管理员身份运行 PowerShell ISE来测试下,结果如图,不会出错,然后我将这个文件保存到了 C盘。

用Windows定时任务图形界面来创建是比较枯燥的,也容易出错(好像是可以导出到另外一个服务器导入的),我这里装逼试试,用PowerShell脚本来创建Windows定时任务,主要参考了 Microsoft Scripting Guy, Ed Wilson 的 Use PowerShell to Create Scheduled Tasks :各位看官自己将执行的PowerShell脚本名称,所在位置,执行频率,定时任务名称等都换成自己的。

$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -ExecutionPolicy Unrestricted .\removeexpiredfiles.ps1' -WorkingDirectory 'C:\'
$trigger = New-ScheduledTaskTrigger -Daily -At 23:00
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "DeleteDynamicsCRMLogs" -Description "每天晚上11点删除CRM组件日志,具体多少天前的请参考执行的PowerShell脚本" -User "System"

创建完成后打开Windows的 任务计划程序可以看到如下,如我所愿,亲测可用。

为Dynamics 365启用部署级的跟踪以及跟踪文件的定期删除的更多相关文章

  1. Dynamics 365 启用跟踪及读取跟踪文件工具

    微软动态CRM专家罗勇 ,回复315或者20190313可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当根据错误提示排查问 ...

  2. Dynamics 365 CRM 部署 Connected Field Service

    微软 Connected Field Service 是一个提供Azure IoT 和 Dynamics 365 连接的这样一个框架 有两种方式部署CFS, 一种是用IoT Hub PaaS, 一种是 ...

  3. Dynamics 365本地部署版本配置OAuth 2 Password Grant以调用Web API

    微软动态CRM专家罗勇 ,回复330或者20190504可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 根据官方建议,不要再使用Dynamics 365 Custome ...

  4. Dynamics 365 App for Outlook 与 Dynamics 365 for Outlook(已被弃用)

    在最新的版本中Dynamics 365 for Outlook(Outlook 客户端)已被弃用 随 Dynamics CRM 2016(版本 8.0)引入的 Dynamics 365 App for ...

  5. 配置基于服务器认证的Dynamics 365 Customer Engagement和SharePoint Online集成

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  6. 自定义适用于手机和平板电脑的 Dynamics 365(三):显示的实体

    您可以启用 适用于手机的 Dynamics 365 和 适用于平板电脑的 Dynamics 365 的有限实体集. 若要查看是否启用了实体,或者要启用实体,请单击“设置”>“自定义”>“自 ...

  7. Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  8. Dynamics 365 Customer Enagement中的更改跟踪(change tracking)

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  9. 启用WCF压缩提升Dynamics 365 CE的网络性能

    摘要: 微软动态CRM专家罗勇 ,回复307或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文系根据微 ...

随机推荐

  1. SmartCoder每日站立会议07

    站立会议内容     基本框架已出,首页地图功能还没有接入完全. 1.站立会议照片: 2.任务展板 3.燃尽图

  2. 刨根究底字符编码之八——Unicode编码方案概述

    Unicode编码方案概述   1. 前面讲过,随着计算机发展到世界各地,于是各个国家和地区各自为政,搞出了很多既兼容ASCII但又互相不兼容的各种编码方案.这样一来同一个二进制编码就有可能被解释成不 ...

  3. 写markdown博客如何截图并快速上传到图床——记一个工具插件的实现

    1. 背景 写博客有一个自己的图床是不错的选择,如果不借助工具,在markdown博客中添加图片的步骤如下: 截取图片,保存到本地(得来回点对话框,选择保存路径,选择文件类型,输入文件名). 上传到图 ...

  4. JSP/Servlet Web 学习笔记 DayTwo

    JSP指令 a)page指令 定义JSP文件中的全局属性.一个JSP页面可以包含多个page指令.除了Import以外,其他page指令定义的属性/值只能出现一次. 其详细语法为: <%page ...

  5. JavaScript概念总结:作用域、闭包、对象与原型链

    1 JavaScript变量作用域 1.1 函数作用域 没有块作用域:即作用域不是以{}包围的,其作用域完成由函数来决定,因而if /for等语句中的花括号不是独立的作用域. 如前述,JS的在函数中定 ...

  6. 初识Tensorboard

    1.什么是Tensorboard? PPT设计原则中有这样一条,叫"文不如表,表不如图",可见图表在表达中更为直观.明确.程序设计中也是一样,我们经常用图表来描述程序的结构和流程, ...

  7. python之路第一篇

    一.python环境的搭建 1.window下环境的搭建 (1).在 https://www.python.org/downloads/ 下载自己系统所需要的python版本 (2).安装python ...

  8. 排序算法 - 选择排序(selection sort)

    选择排序(Selection sort)跟插入排序一样,也是O(n^2)的复杂度,这个排序方式也可以用我们的扑克牌来解释. 概念 桌面上有一堆牌,也是杂乱无章的,现在我们想将牌由小到大排序,如果使用选 ...

  9. Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建

    http://blog.csdn.net/u013142781/article/details/50380920

  10. 关于table 冻结 标头及列---js控制方法

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...