我们的应用程序包括一个处理前端应用程序请求的Web API,一些将请求传递给Dynamics的中间件,以及最终处理请求并生成响应的后台的Dynamics AX。
现在我们要介绍一些集中式日志记录(ELK,Seq),以便所有层都记录到我们可以查看/搜索日志条目的中心位置。 Dynamics AX提供哪些选项来将日志语句写入某个中心位置?
如果我正确理解您的问题,您需要在AX上记录端到端请求/响应。
因此,中间件可能是进行日志记录的最佳位置。它可以记录发送给它的请求,发送到AX的后续请求,AX的响应以及最终发送回调用者的响应。
假设中间件日志记录很容易使用任意数量的日志框架实现,与AX服务的通信使用WCF,因此请在您的应用程序中查看启用它:
https://docs.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/configuring-message-logging
这里的例子:
https://www.codeproject.com/Articles/383162/Logging-and-Tracing-WCF-Soap-Messages
这将为您提供将所有端到端通信记录到一个记录器的选项。 AX也有自己的AIF日志记录,但这会记录到它自己的内部数据库:
https://docs.microsoft.com/en-us/dynamicsax-2012/appuser-itpro/monitoring-services-and-aif