コード例 #1
0
        /// <summary>
        /// Esse método é responsável pela escrita inicial do request
        /// </summary>
        /// <param name="logMetadata">É o objeto completo com os dados do request</param>
        private void WriteStartLog(LogMetadata logMetadata)
        {
            // Custumização da mensagem
            var message = string.Format("[{0}] - Início: {1}", logMetadata.RequestMethod, logMetadata.RequestUri);

            TraceLogManager.Debug(message);
        }
コード例 #2
0
        /// <summary>
        /// Esse método é responsável pela escrita final do request
        /// </summary>
        /// <param name="logMetadata">É o objeto completo com os dados do request</param>
        private void WriteEndLog(LogMetadata logMetadata)
        {
            // Verifica se o request teve uma exceção
            if (logMetadata.ResponseExceptionPayLoad != null)
            {
                TraceLogManager.Error("[{0}] - Exception - Status: {1} - Message: {2}\r\nStackTrace: {3}", logMetadata.RequestMethod, logMetadata.ResponseExceptionPayLoad.ErrorCode,
                                      logMetadata.ResponseExceptionPayLoad.ErrorMessage, logMetadata.ResponseExceptionPayLoad.Exception.StackTrace);
            }

            //Pega o tempo de exceção do request
            var executionTime = logMetadata.ResponseTimestamp.Subtract(logMetadata.RequestTimestamp);

            // Custumização da mensagem
            var message = string.Format("[{0}] - Fim: {1} [Tempo de Execução: {2}] [Status: {3}]", logMetadata.RequestMethod, logMetadata.RequestUri, executionTime, logMetadata.ResponseStatusCode);

            TraceLogManager.Debug(message);
        }