LogConfig.xsd 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema id="LogConfig" targetNamespace="http://www.wayne.com/2010-01-05/LogConfig.xsd" elementFormDefault="qualified" xmlns="http://www.wayne.com/2010-01-05/LogConfig.xsd" xmlns:mstns="http://www.wayne.com/2010-01-05/LogConfig.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3. <!--.................................................-->
  4. <!-- The schema element 'LogConfig' -->
  5. <!--.................................................-->
  6. <xs:element name="LogConfigFile">
  7. <xs:complexType>
  8. <xs:sequence>
  9. <xs:element name="LogConfig" minOccurs="0" maxOccurs="unbounded">
  10. <xs:complexType>
  11. <xs:sequence>
  12. <xs:element name="Description" type="xs:string" minOccurs="0"/>
  13. <xs:element name="Filters">
  14. <xs:complexType>
  15. <xs:sequence>
  16. <xs:element name="Filter" type="Filter" maxOccurs="unbounded" minOccurs="0"/>
  17. </xs:sequence>
  18. </xs:complexType>
  19. </xs:element>
  20. <xs:element name="Outputs">
  21. <xs:complexType>
  22. <xs:sequence>
  23. <xs:element name="Output" type="OutputType" maxOccurs="unbounded">
  24. </xs:element>
  25. </xs:sequence>
  26. </xs:complexType>
  27. </xs:element>
  28. </xs:sequence>
  29. <xs:attribute name="Name" type="xs:string" use="required"/>
  30. <xs:attribute name="Enabled" type="xs:boolean"/>
  31. </xs:complexType>
  32. </xs:element>
  33. <xs:element name="Leftovers" type="OutputType" minOccurs="0"/>
  34. <xs:element name="LeftoverEntities" type="OutputType" minOccurs="0"/>
  35. </xs:sequence>
  36. </xs:complexType>
  37. </xs:element>
  38. <!--.................................................-->
  39. <!-- The simple type 'FilterLevel' -->
  40. <!--.................................................-->
  41. <xs:simpleType name="FilterLevel">
  42. <xs:restriction base="xs:string">
  43. <xs:enumeration value="Excluded"/>
  44. <xs:enumeration value="Normal"/>
  45. <xs:enumeration value="Detailed"/>
  46. <xs:enumeration value="Maximized"/>
  47. </xs:restriction>
  48. </xs:simpleType>
  49. <!--.................................................-->
  50. <!-- The complex type 'Filter' -->
  51. <!--.................................................-->
  52. <xs:complexType name="Filter">
  53. <xs:sequence>
  54. <xs:element name="SubFilter" minOccurs="0" maxOccurs="unbounded">
  55. <xs:complexType>
  56. <xs:sequence/>
  57. <xs:attribute name="AncestorEntityType" type="xs:string"/>
  58. <xs:attribute name="AncestorEntitySubType" type="xs:string"/>
  59. <xs:attribute name="AncestorId" type="xs:string"/>
  60. <xs:attribute name="CategoryName" type="xs:string"/>
  61. <xs:attribute name="FilterLevel" type="FilterLevel"/>
  62. <xs:attribute name="Enabled" type="xs:boolean"/>
  63. </xs:complexType>
  64. </xs:element>
  65. </xs:sequence>
  66. <xs:attribute name="EntityType" type="xs:string"/>
  67. <xs:attribute name="EntitySubType" type="xs:string"/>
  68. <xs:attribute name="Id" type="xs:string"/>
  69. <xs:attribute name="Enabled" type="xs:boolean"/>
  70. <xs:attribute name="FilterLevel" type="FilterLevel"/>
  71. </xs:complexType>
  72. <!--.................................................-->
  73. <!-- The complex type 'OutputType' -->
  74. <!--.................................................-->
  75. <xs:complexType name="OutputType">
  76. <xs:sequence>
  77. <xs:element name="Parameters">
  78. <xs:complexType>
  79. <xs:sequence>
  80. <xs:choice>
  81. <!--........... Text File logger ..............-->
  82. <xs:element name="TextFileParams">
  83. <xs:complexType>
  84. <xs:sequence>
  85. <xs:element name="FilePath" type="LogFilePathType"/>
  86. <xs:element name="MaxSize">
  87. <xs:complexType>
  88. <xs:attribute name="MaxSizePerFileMb" type="LogFileSizeType" use="required"/>
  89. <xs:attribute name="MaxFileCircleCount" type="xs:unsignedInt"/>
  90. <xs:attribute name="MaxDays" type="xs:unsignedInt"/>
  91. <xs:attribute name="CleanOnStartup" type="xs:boolean"/>
  92. </xs:complexType>
  93. </xs:element>
  94. <xs:element name="ForceFlush" type="xs:boolean" default="true" minOccurs="0"/>
  95. <xs:element name="DateTimeLogFormat" type="xs:string" minOccurs="0"/>
  96. <xs:element name="EntityLog" type="EntityLog" minOccurs="0"/>
  97. <xs:element name="SuppressCategory" type="xs:boolean" minOccurs="0"/>
  98. <xs:element name="KeepFileOpened" type="xs:boolean" minOccurs="0"/>
  99. <xs:element name="ShortFileMessages" type="xs:boolean" minOccurs="0"/>
  100. </xs:sequence>
  101. </xs:complexType>
  102. </xs:element>
  103. <!--........... EventLog Subscription Params ..............-->
  104. <xs:element name="EventLogSubscriptionParams">
  105. <xs:complexType>
  106. <xs:attribute name="SubscriberId" type="xs:string" use="required"/>
  107. <xs:attribute name="StorageType" type="StorageType" use="required"/>
  108. </xs:complexType>
  109. </xs:element>
  110. <!--........... ExternalLogWriter Params ..............-->
  111. <xs:element name="ExternalLogWriterParams">
  112. <xs:complexType>
  113. <xs:sequence>
  114. <xs:element name="Param" minOccurs="0" maxOccurs="unbounded">
  115. <xs:complexType>
  116. <xs:simpleContent>
  117. <xs:extension base="xs:string">
  118. <xs:attribute name="Id" type="xs:string" use="required"/>
  119. </xs:extension>
  120. </xs:simpleContent>
  121. </xs:complexType>
  122. </xs:element>
  123. </xs:sequence>
  124. <xs:attribute name="ExternalLogType" type="xs:string" use="required"/>
  125. <xs:attribute name="ExternalLogName" type="xs:string" use="required"/>
  126. <xs:attribute name="DateTimeLogFormat" type="xs:string"/>
  127. <xs:attribute name="EntityLog" type="EntityLog"/>
  128. <xs:attribute name="SuppressCategory" type="xs:boolean"/>
  129. </xs:complexType>
  130. </xs:element>
  131. <!--.......................................................-->
  132. </xs:choice>
  133. </xs:sequence>
  134. </xs:complexType>
  135. </xs:element>
  136. </xs:sequence>
  137. <xs:attribute name="Type" type="OutputTypeHandlers" use="required"/>
  138. <xs:attribute name="Enabled" type="xs:boolean"/>
  139. </xs:complexType>
  140. <!--.................................................-->
  141. <!-- The simple type 'OutputTypeHandlers' -->
  142. <!--.................................................-->
  143. <xs:simpleType name="OutputTypeHandlers">
  144. <xs:restriction base="xs:string">
  145. <xs:enumeration value="TextFileLogWriter"/>
  146. <xs:enumeration value="EventLogSubscription"/>
  147. <xs:enumeration value="ExternalLogWriter"/>
  148. </xs:restriction>
  149. </xs:simpleType>
  150. <!--.................................................-->
  151. <!-- The simple type 'StorageType' -->
  152. <!--.................................................-->
  153. <xs:simpleType name="StorageType">
  154. <xs:restriction base="xs:string">
  155. <xs:enumeration value="NoStorage"/>
  156. <xs:enumeration value="Volatile"/>
  157. </xs:restriction>
  158. </xs:simpleType>
  159. <!--.................................................-->
  160. <!-- The Complex type 'EventSubscriberType' -->
  161. <!--.................................................-->
  162. <xs:complexType name="EventSubscriberType">
  163. <xs:attribute name="Name" type="xs:string" use="required"/>
  164. <xs:attribute name="KeepEventsPersistent" type="xs:boolean" use="required"/>
  165. </xs:complexType>
  166. <!--.................................................-->
  167. <!-- The complex type 'LogFilePathType' -->
  168. <!--.................................................-->
  169. <xs:complexType name="LogFilePathType" mixed="true">
  170. <xs:sequence>
  171. <xs:choice maxOccurs="unbounded" minOccurs="0">
  172. <xs:element name="EntityType"/>
  173. <xs:element name="EntitySubType"/>
  174. <xs:element name="Id">
  175. <xs:complexType>
  176. <xs:attribute name="FromEntityType" type="xs:string"/>
  177. <xs:attribute name="FromEntitySubType" type="xs:string"/>
  178. </xs:complexType>
  179. </xs:element>
  180. <xs:element name="PID" type="xs:string" minOccurs="0" maxOccurs="1"/>
  181. <xs:element name="Date">
  182. <xs:complexType>
  183. <xs:attribute name="Format" type="xs:string"/>
  184. </xs:complexType>
  185. </xs:element>
  186. </xs:choice>
  187. </xs:sequence>
  188. </xs:complexType>
  189. <!--.................................................-->
  190. <!-- Simple type LogFileSizeType that is a union -->
  191. <!-- and the string 'unlimited' -->
  192. <!--.................................................-->
  193. <xs:simpleType name="LogFileSizeType">
  194. <xs:union memberTypes="xs:unsignedInt">
  195. <xs:simpleType>
  196. <xs:restriction base="xs:string">
  197. <xs:enumeration value="unlimited"/>
  198. </xs:restriction>
  199. </xs:simpleType>
  200. </xs:union>
  201. </xs:simpleType>
  202. <!--.................................................-->
  203. <!-- The simple type 'EntityLog' -->
  204. <!--.................................................-->
  205. <xs:simpleType name="EntityLog">
  206. <xs:restriction base="xs:string">
  207. <xs:enumeration value="None"/>
  208. <xs:enumeration value="Entity"/>
  209. <xs:enumeration value="Ancestors"/>
  210. </xs:restriction>
  211. </xs:simpleType>
  212. </xs:schema>