PageRenderTime 24ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/Blocks/Logging/Src/Logging/Configuration/Fluent/ILoggingConfigurationSendToMsmqTraceListener.cs

#
C# | 152 lines | 30 code | 14 blank | 108 comment | 0 complexity | 1db21d168ad6ab945e370abdb4a9335e MD5 | raw file
  1. //===============================================================================
  2. // Microsoft patterns & practices Enterprise Library
  3. // Logging Application Block
  4. //===============================================================================
  5. // Copyright Š Microsoft Corporation. All rights reserved.
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
  7. // OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
  8. // LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  9. // FITNESS FOR A PARTICULAR PURPOSE.
  10. //===============================================================================
  11. using System;
  12. using System.Collections.Generic;
  13. using System.Linq;
  14. using System.Text;
  15. using Microsoft.Practices.EnterpriseLibrary.Logging.Configuration;
  16. using System.Diagnostics;
  17. using System.Messaging;
  18. using Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners;
  19. using System.Collections.Specialized;
  20. using Microsoft.Practices.EnterpriseLibrary.Logging.Formatters;
  21. using Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Fluent;
  22. namespace Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Fluent
  23. {
  24. /// <summary>
  25. /// Fluent interface used to specify settings on a <see cref="MsmqTraceListenerData"/>.
  26. /// </summary>
  27. /// <seealso cref="MsmqTraceListenerData"/>
  28. public interface ILoggingConfigurationSendToMsmqTraceListener : ILoggingConfigurationContd, ILoggingConfigurationCategoryContd, IFluentInterface
  29. {
  30. /// <summary>
  31. /// Specifies the <see cref="MessageQueueTransactionType"/> that should be used when sending messages by this <see cref="MsmqTraceListener"/>.<br/>
  32. /// The default is <see cref="System.Messaging.Message.InfiniteTimeout"/>.
  33. /// </summary>
  34. /// <param name="TransactionType">The <see cref="MessageQueueTransactionType"/> that should be used.</param>
  35. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  36. /// <seealso cref="MsmqTraceListener"/>
  37. /// <seealso cref="MsmqTraceListenerData"/>
  38. ILoggingConfigurationSendToMsmqTraceListener WithTransactionType(MessageQueueTransactionType TransactionType);
  39. /// <summary>
  40. /// Specifies the maximum time for messages to reach the queue for this <see cref="MsmqTraceListener"/>.<br/>
  41. /// The default is <see cref="System.Messaging.Message.InfiniteTimeout"/>.
  42. /// </summary>
  43. /// <param name="maximumTimeToReachQueue">The maximum time for messages to reach the queue.</param>
  44. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  45. /// <seealso cref="MsmqTraceListener"/>
  46. /// <seealso cref="MsmqTraceListenerData"/>
  47. ILoggingConfigurationSendToMsmqTraceListener SetTimeToReachQueue(TimeSpan maximumTimeToReachQueue);
  48. /// <summary>
  49. /// Specifies the maximum time to be received for this <see cref="MsmqTraceListener"/>. <br/>
  50. /// The default is
  51. /// </summary>
  52. /// <param name="maximumTimeToBeReceived">The maximum time to be received.</param>
  53. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  54. /// <seealso cref="MsmqTraceListener"/>
  55. /// <seealso cref="MsmqTraceListenerData"/>
  56. ILoggingConfigurationSendToMsmqTraceListener SetTimeToBeReceived(TimeSpan maximumTimeToBeReceived);
  57. /// <summary>
  58. ///
  59. /// </summary>
  60. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  61. /// <seealso cref="MsmqTraceListener"/>
  62. /// <seealso cref="MsmqTraceListenerData"/>
  63. ILoggingConfigurationSendToMsmqTraceListener AsRecoverable();
  64. /// <summary>
  65. /// Specifies the queue that should be used by this <see cref="MsmqTraceListener"/>.
  66. /// </summary>
  67. /// <param name="queuePath">The queue path that should be used.</param>
  68. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  69. /// <seealso cref="MsmqTraceListener"/>
  70. /// <seealso cref="MsmqTraceListenerData"/>
  71. ILoggingConfigurationSendToMsmqTraceListener UseQueue(string queuePath);
  72. /// <summary>
  73. /// TODOC: review
  74. /// </summary>
  75. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  76. /// <seealso cref="MsmqTraceListener"/>
  77. /// <seealso cref="MsmqTraceListenerData"/>
  78. ILoggingConfigurationSendToMsmqTraceListener UseDeadLetterQueue();
  79. /// <summary>
  80. /// Specifies that messages send to Msmq by this <see cref="MsmqTraceListener"/> should be encrypted.
  81. /// </summary>
  82. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  83. /// <seealso cref="MsmqTraceListener"/>
  84. /// <seealso cref="MsmqTraceListenerData"/>
  85. ILoggingConfigurationSendToMsmqTraceListener UseEncryption();
  86. /// <summary>
  87. /// Specifies that authentication should be used when sending messages to Msmq by this <see cref="MsmqTraceListener"/>.
  88. /// </summary>
  89. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  90. /// <seealso cref="MsmqTraceListener"/>
  91. /// <seealso cref="MsmqTraceListenerData"/>
  92. ILoggingConfigurationSendToMsmqTraceListener UseAuthentication();
  93. /// <summary>
  94. /// Specifies the formatter used to format log messages send by this <see cref="MsmqTraceListener"/>.<br/>
  95. /// </summary>
  96. /// <param name="formatBuilder">The <see cref="FormatterBuilder"/> used to create an <see cref="LogFormatter"/> .</param>
  97. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  98. /// <seealso cref="MsmqTraceListener"/>
  99. /// <seealso cref="MsmqTraceListenerData"/>
  100. ILoggingConfigurationSendToMsmqTraceListener FormatWith(IFormatterBuilder formatBuilder);
  101. /// <summary>
  102. /// Specifies the formatter used to format log messages send by this <see cref="MsmqTraceListener"/>.<br/>
  103. /// </summary>
  104. /// <param name="formatterName">The name of a <see cref="FormatterData"/> configured elsewhere in this section.</param>
  105. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  106. /// <seealso cref="MsmqTraceListener"/>
  107. /// <seealso cref="MsmqTraceListenerData"/>
  108. ILoggingConfigurationSendToMsmqTraceListener FormatWithSharedFormatter(string formatterName);
  109. /// <summary>
  110. /// Specifies the <see cref="SourceLevels"/> that should be used to filter trace output by this <see cref="MsmqTraceListener"/>.
  111. /// </summary>
  112. /// <param name="sourceLevel">The <see cref="SourceLevels"/> that should be used to filter trace output .</param>
  113. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  114. /// <seealso cref="MsmqTraceListener"/>
  115. /// <seealso cref="MsmqTraceListenerData"/>
  116. /// <seealso cref="SourceLevels"/>
  117. ILoggingConfigurationSendToMsmqTraceListener Filter(SourceLevels sourceLevel);
  118. /// <summary>
  119. /// Specifies which options, or elements, should be included in messages send by this <see cref="MsmqTraceListener"/>.<br/>
  120. /// </summary>
  121. /// <param name="traceOptions">The options that should be included in the trace output.</param>
  122. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  123. /// <seealso cref="MsmqTraceListener"/>
  124. /// <seealso cref="MsmqTraceListenerData"/>
  125. /// <seealso cref="TraceOptions"/>
  126. ILoggingConfigurationSendToMsmqTraceListener WithTraceOptions(TraceOptions traceOptions);
  127. /// <summary>
  128. /// Specifies the <see cref="MessagePriority"/> that will be used to send messages to msmq by this <see cref="MsmqTraceListener"/>.<br/>
  129. /// The default priority is <see cref="MessagePriority.Normal"/>
  130. /// </summary>
  131. /// <param name="priority">The <see cref="MessagePriority"/> that will be used to send messages to msmq.</param>
  132. /// <returns>Fluent interface that can be used to further configure the created <see cref="MsmqTraceListenerData"/>. </returns>
  133. /// <seealso cref="MsmqTraceListener"/>
  134. /// <seealso cref="MsmqTraceListenerData"/>
  135. /// <seealso cref="MessagePriority"/>
  136. ILoggingConfigurationSendToMsmqTraceListener Prioritize(MessagePriority priority);
  137. }
  138. }