为Dynamics 365启用部署级的跟踪以及跟踪文件的定期删除
关注本人微信和易信公众号: 微软动态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控制台(部署工具 在此处运行)运行以下命令。 要启用不详细记录或改变日志文件的位置,请参看 可选参数。
可选参数
- CallStack。 记录callstack信息。 如需详细的疑难解答,建议您启用它。 默认情况下,它处于关闭状态。
- 类别 (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启用部署级的跟踪以及跟踪文件的定期删除的更多相关文章
- Dynamics 365 启用跟踪及读取跟踪文件工具
微软动态CRM专家罗勇 ,回复315或者20190313可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当根据错误提示排查问 ...
- Dynamics 365 CRM 部署 Connected Field Service
微软 Connected Field Service 是一个提供Azure IoT 和 Dynamics 365 连接的这样一个框架 有两种方式部署CFS, 一种是用IoT Hub PaaS, 一种是 ...
- Dynamics 365本地部署版本配置OAuth 2 Password Grant以调用Web API
微软动态CRM专家罗勇 ,回复330或者20190504可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 根据官方建议,不要再使用Dynamics 365 Custome ...
- Dynamics 365 App for Outlook 与 Dynamics 365 for Outlook(已被弃用)
在最新的版本中Dynamics 365 for Outlook(Outlook 客户端)已被弃用 随 Dynamics CRM 2016(版本 8.0)引入的 Dynamics 365 App for ...
- 配置基于服务器认证的Dynamics 365 Customer Engagement和SharePoint Online集成
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 自定义适用于手机和平板电脑的 Dynamics 365(三):显示的实体
您可以启用 适用于手机的 Dynamics 365 和 适用于平板电脑的 Dynamics 365 的有限实体集. 若要查看是否启用了实体,或者要启用实体,请单击“设置”>“自定义”>“自 ...
- Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)
本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- Dynamics 365 Customer Enagement中的更改跟踪(change tracking)
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 启用WCF压缩提升Dynamics 365 CE的网络性能
摘要: 微软动态CRM专家罗勇 ,回复307或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文系根据微 ...
随机推荐
- AbstractHandlerMapping解读
一.AbstractHandlerMapping简介 AbstractHandlerMapping是HandlerMapping的抽象实现,所有的HandlerMapping都继承自AbstractH ...
- 图解Git命令
上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. ·git add files把当前文件放入暂存区域. ·git commit 给暂存区域生成快照并提交. ·git reset - ...
- js实现防盗图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- javaSE_08Java中static、继承、重写
一.Static 学习静态这个关键字,关键是抓住两个点: 1,关注其语法特点 2,关注其使用场景 案例讲解: 我们先从静态变量开始,当一个成员变量加上static修饰之后,会是一个什么效果? 比如创建 ...
- 一位菜鸟的java 最基础笔记
java的特性 简单性(Simple). 结构体系中立(Architecture Neutral). 面向对象(Object Oriented). 易于移植(Portable). 分布式(Distri ...
- 第45篇 js操作打开本地程序
原文地址:http://blog.laofu.online/2017/06/10/how-js-controlApp/ 背景 假设有这样一个产品,一个web和一个winform客户端,在客户在web的 ...
- jQuery 提供多个与 AJAX 有关的方法。
jQuery 提供多个与 AJAX 有关的方法. 通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本.HTML.XML 或 JSON - ...
- C# 模拟浏览器请求
public string getHtml(string Url, string type = "UTF-8") { try ...
- 如何在linux如何安装nginx服务器
1.进入命令窗口: 2.进入nginx.org 网站 下载安装包nginx-1.8.0.tar.gz 3.进入下载的文件夹 4.加压下载的压缩包 tar -zxvf nginx-1.8.0.tar. ...
- Linux 中最常用的目录及文件管理命令
一.查看文件的命令 对于一个文本文件,在linux中有多种查看方式来获知文件内容,如直接显示整个文本内容.分页查看内容.或者只查看文件开头或末尾的部分内容.在linux可以用不同的命令来实现. 1. ...