From 9d0b258b9c8b146ec4ce638ef7b6db9a1c6dd8b8 Mon Sep 17 00:00:00 2001 From: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun, 19 Sep 2021 22:19:18 +0100 Subject: [PATCH] Squashed commit of v2.9.1 from master branch: commit dc08c6ec1d352b0cc31ea619232b94ec841ee780 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Sep 19 16:24:01 2021 +0100 v2.9.1 commit 2c4733c757d633cd7d9bb1424796e51bd703bb45 Merge: f22560f 7d8192c Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Sep 19 14:59:07 2021 +0100 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit 7d8192c4040989042e5ed0db1578fbcdad9afcdb Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Sep 19 14:19:58 2021 +0100 Startup registry key tweak. Log filename that failed to download. commit f22560fa5c0b73ff218bfe8cf6aad928448feedb Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Sep 19 12:38:44 2021 +0100 New CickToRun product IDs added. Closes #1287 commit c1393fe8270a47d52bdcf82558dee803efe02d9f Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Sep 13 09:16:18 2021 +0100 Squashed commit of the following resolves #1279: commit 00803453bf4692941afe54d81602a0faabe6b716 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Sep 11 09:37:33 2021 +0100 Check end date object actually exists. #1279 commit a545c7eb476c20acf895ca6f2d280a21e9311b77 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Sep 4 16:13:23 2021 +0100 Remove Google items with end date of sync start date. #1279 commit c86d19871c8e78a9896e89595c8ecd4285f69ac5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 28 17:50:25 2021 +0000 Don't convert recurrence end to local time if all-day appointment. #1265 commit 27fc54c228cd85cfcc67abc0a51988acfe9d98e9 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Sep 12 16:46:44 2021 +0100 Coding suggestions adopted: - IDE0017: Object initialization can be simplified - IDE0019: Ignore - IDE1006: Ignore naming styles commit 1c3cf5282d35ce03f570b1fb173c2fee1a473433 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Sep 12 15:40:12 2021 +0100 Remove legacy ClickOnce settings. commit 5f64768e90d5328798dc5e1c5598b2d70ec5fcf9 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Sep 12 15:39:02 2021 +0100 Fix error when un-muting click sound. Check clipboard content on beforeItemPaste(). commit 9af07fc8fb12753acf9b48bd1e0e6f06737a97c1 Merge: 0d3ce08 9056489 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Sep 12 13:05:19 2021 +0100 Merge branch 'issue-1268' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1268 commit 0d3ce08e28ec4bbc7f9997d71cd88bc017a7bc84 Merge: 826ceb5 690e4be Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Sep 4 15:05:48 2021 +0100 Merge branch 'issue-1269' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1269 commit 826ceb5cca0cb2b626981355be077b2db500d75a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 28 17:50:25 2021 +0000 Don't convert recurrence end to local time if all-day appointment. Fixes #1265 commit 690e4bed252459d150f8fbf823ea1febed753b2c Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 29 17:19:19 2021 +0100 Identify and remove OGCS metadata from duplicated recurring series (via change "this and following events"). #1269 commit 9056489d3fc89a1a04bc50ae98c33d46fe3196c8 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 28 22:49:26 2021 +0100 Retrieve hidden Google calendars. New checkbox to optionally list those calendars in drop down. Make sure colourId default is set on deserializing settings.xml #1268 commit 5eaf5abf5b3223f539340a43f1389d3affa8e773 Merge: 893d869 4d70094 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 28 18:02:13 2021 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync into development commit 893d8699b32cb91fe907ff65d8ced03112196ba3 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 22 15:07:21 2021 +0100 During phased rollout, double check if available releases are not alphas. Don't surface GitHub release notes page in WebBrowser - incompatible HTML. Provide link to view in default browser instead. Closes #1263 commit 675bc0327860efd7e575068d0d9df8ca2c516473 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 22 12:44:13 2021 +0100 Add Helper.cs file. Add missing System.Runtime.CompilerServices.Unsafe.dll commit 345ac2844ac8dca3c7be620d8c33cb7a8ec19d26 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 22 12:36:58 2021 +0100 Helper class to open browser. commit ebc9a9eafc41e9215e694847c98185ae021dea20 Merge: 51eece0 798c4ed Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 22 12:31:20 2021 +0100 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into development commit 51eece06133090bee2d234b7a2c65c436e19ce99 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Aug 19 01:52:08 2021 +0100 Fix retrieval of ErrorReporting keys. commit 798c4ed7847b5a5943936dbc5d49b7741b18788a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Aug 19 01:52:08 2021 +0100 Fix retrieval of ErrorReporting keys. commit 4d700944d2b948e33265839309ea60fef90ec943 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Aug 19 01:50:49 2021 +0100 Fix retrieval of ErrorReporting keys. commit 49de6a5a032096ca4cc95d0d8de1d9bf20007be4 Merge: 21aaa17 e97793a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 15 19:36:57 2021 +0100 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync into development commit 21aaa17a6343d4b316d30dff187f6ac2a0603225 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 15 15:46:46 2021 +0100 log4net updated to v2.0.12 Newtonsoft.Json updated to v13.0 Google.Calendar.V3 APIs updated to v1.54.0 Final versions targeting .Net 4.5:- Google.Cloud.Logging.V2 updated to v2.3 Google.Cloud.Logging.Log4Net updated to v2.5 NodaTime updated to v2.4.13 SharpCompress updated to v0.24 commit e97793a415e54d7ee5f9054aaa0a85459817557e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 14 23:17:27 2021 +0100 v2.9.0 commit 246e7c42ea1812dfb68eae583da9cb0efac81205 Merge: 420645a 156be35 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 7 17:43:17 2021 +0100 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit 156be358680e12bd012468a34c07a80bb428036e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 7 17:37:03 2021 +0100 Website URL stored in string constant. Release notes URL moved. commit a3e2d4aa57d70d0b8af20aeec1b74aa29e07ccee Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Jul 13 22:22:36 2021 +0100 Handle 'Queries per minute' limit with backoff. Force dummy update of Google recurring series if no change within last day. commit 1406c3ec2679d2bb993ecc8226dbf10c3bced730 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Jul 13 22:17:18 2021 +0100 Pulled master branch back into development. commit 420645af7a62e44f2e25cb4d67fc8fff2e0522d6 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon May 10 22:07:39 2021 +0100 Fix logic for ForceSave. Fixes #1218, #1200 commit ed04b3bbc154b1f64d8c6c05d723c0f2eaacea61 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun May 9 20:09:32 2021 +0100 v2.8.7 commit 097a6283a75276a592b349420af8333c7d41f954 Merge: 4d347af f751331 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun May 9 18:33:02 2021 +0100 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit f751331f614724b87d96fab2d3d862d7e5222eb1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun May 9 18:24:15 2021 +0100 Handle OST becoming unavailable, 0x8004010F. log4net: Log error line to cloud. commit 4d347afbd01813a310fc59fb9c5c11670771b272 Merge: 31527b3 d2dea9e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun May 9 13:56:22 2021 +0100 Merge branch 'issue-1200' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #1200 commit 31527b33467c8950595b215faab3b7c4f90697e1 Merge: 33e9e6c be353b7 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun May 9 00:06:05 2021 +0100 Merge branch 'issue-1072' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #1072 commit 33e9e6ceba79ec3faadf26e58b2c2feb6ca978cb Merge: ba631c9 fbaada1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 8 22:07:35 2021 +0100 Merge branch 'issue-1090' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #1090 commit c4ab7c691b016c9f5283642404c9ddf3404ce632 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 8 21:29:22 2021 +0100 Check if each file is already downloaded. Reverted to ApplyReleases() - download any missing files upon file. Custom Squirrel.dll v1.9.0.1 commit b99664424c9aa59240234a35648d2419d4ea8fa0 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed May 5 19:25:46 2021 +0100 Don't instantiate new Calendar object if instance is not null. commit be353b71f85c6947a694880903469b218976d3a7 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed May 5 19:12:37 2021 +0100 New non-GUI setting DisconnectOutlookBetweenSync Force disconnect from Outlook after sync. #1072 commit ba631c9d643a3bdcb23d83269547964cdc294362 Merge: 4030b41 a05c1ef Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed May 5 16:59:39 2021 +0100 Merge branch 'issue-1209' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1209 commit 4030b419c205fcb769a4e692ab67aeff368ca8d7 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun May 2 20:53:53 2021 +0100 Set logging level to FINE for regex log line. Resolves #1211 commit 53281914d1d0fad40424359f8eebd5de5613e5bd Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 1 20:12:21 2021 +0100 Download all pending nupkg release files. Update with updateManager.UpdateApp() instead of ApplyReleases(). commit 9d803786ee5439bab5e35b029733fc6226e40ee3 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Feb 28 17:39:52 2021 +0000 Check for null attendees on event. Closes #1090 commit 0bba3dcb8ed0c606b2e149742fd8e5f695b7e195 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Feb 27 22:23:06 2021 +0000 Customisable attendee limit. #1090 commit 1c9012319caa00110d364354b662688000c0f74c Merge: 1e32ed8 b8bbc07 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Apr 25 12:07:11 2021 +0100 Merge branch 'issue-1193' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1193 commit d2dea9eea9b2bc5967f253fd5ae5b6bcda2cb0f2 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Apr 19 00:26:16 2021 +0100 If ForceSave set, always save. #1200 commit b8bbc07063dfdaf9e4064d8177fba3a2ad8d3835 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Apr 18 20:08:32 2021 +0100 Set "No" as default button for deletion prompts. #1193 commit a05c1eff2801c31f85d7e82930b4e0192427afe6 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Apr 18 13:49:18 2021 +0100 Check if ActiveControl is null. #1209 commit 1e32ed8163201a58df642e59eec7b466949b83c2 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Mar 14 14:04:29 2021 +0000 Show milestone form as dialogue window. Fixes #1188 commit f97bfdfb1c8052860f661a4b18d9736428ac6074 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Mar 14 11:50:55 2021 +0000 Refresh access token if expiring within next 60 secs. Fixes #1184 commit 3bad5a7617084135737e4c584f86d073c73221eb Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Mar 14 11:44:40 2021 +0000 Squashed commit of the following: commit 3808fda3279eaaf70d8f18b634d2f6844f24caf5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Feb 21 14:03:00 2021 +0000 Don't retrigger displaying the advisory when trying to hide it! #1163 commit 511ee6c1c6f5ba4f24f8ea5887cb14b7340b6800 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Feb 13 10:01:44 2021 +0100 Only show quota was exhausted message after successful sync. Don't show anything if sync successful before new quota available. #1163 commit df3f1ffa340c3941b23714ef8b552de27a5f19c5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Feb 13 18:30:09 2021 +0000 Use proper background thread for hiding quota note. #1163 commit a848e3ab8ac53e1e0d8d83389652f5d5c0466367 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Feb 8 00:15:53 2021 +0000 Calculate quota exhaustion delay using UTC. #1163 commit 14334ee06dc23b97dba43e5a3f2fa8cf9f32ac0f Merge: 93ee55b 7d64553 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 21:31:12 2021 +0000 Merge branch 'release' of https://github.com/phw198/OutlookGoogleCalendarSync commit 93ee55bacab30cc8b66650ea1b677c4a9fca07ca Merge: 3d1d8e5 0ccc6a0 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 21:29:01 2021 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync commit 3d1d8e53aea2052c0def6379d794e1664653f071 Merge: 5d3462b dc15a66 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 19:16:13 2020 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync Resolves #1163 commit fbaada113ff522b24629365df167d0a62b8128f4 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Feb 28 17:39:52 2021 +0000 Check for null attendees on event. #1090 commit 4a1fe3f6a5b8784e550caf05639815b7a9835bca Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Feb 27 22:23:06 2021 +0000 Customisable attendee limit. #1090 commit 11c971383affe50c95e7140e62d5f460493d15c8 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Feb 15 21:16:55 2021 +0000 Squashed commit of the following: commit d8b03304cb025ab2569945b5384e08587560b974 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Feb 15 21:15:22 2021 +0000 Log error and ExchangeConnectionMode. #1143 commit 6e44e0f3e560251eb9c6bedf9fee03092647e830 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 27 20:08:17 2020 +0100 Logging altered to catch full exception details. #1143 commit 8c40f3a7ccc9e5be79088a52b0617a1443b69134 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Feb 13 18:30:09 2021 +0000 Use proper background thread for hiding quota note. commit 54f7aa05c0ddde355e74a677a48a09c9939164a3 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Feb 7 19:27:11 2021 +0000 Don't call ResetLastRun() twice for push sync. commit bb6b3a4b3204d44475920584789efba001937e10 Merge: 5a155e5 87fcf1e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Feb 7 18:53:39 2021 +0000 Merge branch 'release' of https://github.com/phw198/OutlookGoogleCalendarSync into development commit 5a155e59dab7d553e3091b37a434c86f0a99fe7b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Feb 4 22:24:21 2021 +0000 For Push Sync, check Outlook is running first. commit 1b257b829a2c064f34860268fe9f221c05c0afa5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jan 31 20:11:00 2021 +0000 Logging changes. commit 8d3c3362044a8e40b1b1dc0aafb0a7c98482d0f7 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jan 31 20:09:00 2021 +0000 Squashed commit of the following: commit 14334ee06dc23b97dba43e5a3f2fa8cf9f32ac0f Merge: 93ee55b 7d64553 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 21:31:12 2021 +0000 Merge branch 'release' of https://github.com/phw198/OutlookGoogleCalendarSync commit 93ee55bacab30cc8b66650ea1b677c4a9fca07ca Merge: 3d1d8e5 0ccc6a0 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 21:29:01 2021 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync commit 3d1d8e53aea2052c0def6379d794e1664653f071 Merge: 5d3462b dc15a66 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 19:16:13 2020 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync commit 7d6455322a40ab672a8131df2e882735632e4edc Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 19:23:13 2021 +0000 v2.8.6 commit f351ce6d9c7d5ca384072240fe41c31216186996 Merge: ef6aa86 c6224c7 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 18:48:49 2021 +0000 Merge branch 'issue-1151' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #1151 commit ef6aa860545422ea8daefbbffd84dbd67180a25c Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 17:58:12 2021 +0000 Don't add default reminder to Google if email notification(s) set. Fixes #1156 commit c6224c7ea1cbb16913daf41cbade636263622acb Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 16 20:27:18 2021 +0000 Paginate response when retrieving list of Google calendars. #1151 commit 37f72742cb5ce157d81b71670bac9e1ec5893b47 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 16 19:45:26 2021 +0000 Ensure 64-bit machines cannot create an interval greater than Int32. Fixes #1154 commit 150c9d39de861c1269643e0a4ad84d826ccb9bdc Merge: 7099212 c06fb4b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Jan 14 21:45:39 2021 +0000 Merge branch 'issue-1082' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #1082 commit 7099212cd68c34e31a85153f951c8b81e6d8cd2b Merge: c952744 0c1bbec Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jan 10 23:22:08 2021 +0000 Merge branch 'issue-1120' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #1120 commit 0c1bbecc3a08bba6c1c82c9cfd9a98bb6b5ee90e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jan 10 16:48:36 2021 +0000 Improved message following exhausted quota. Fix scrollbar showing unnecessarily. #1120 commit c952744db30f14606a3b84b6edd1e8fa26a34d8a Merge: 7718ab8 8bbb7f5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 2 14:08:55 2021 +0000 Merge branch 'issue-1051' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1051 commit 8bbb7f5821e6802fc0e2bec7176fb5541554a2fd Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Dec 29 17:16:45 2020 +0000 Created proper interface methods for filtering. #1051 commit 27110201a3a153c3037919c17ce88065115f8e83 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Dec 29 17:07:15 2020 +0000 Squashed commit and merge of the 'release' branch. #1051 commit 7718ab8ca21ad50013ad7ea112e27906d6458b46 Merge: f4ec842 6dac048 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Dec 28 19:34:40 2020 +0000 Merge branch 'issue-1123' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1123 commit f4ec8429983c2bc811c9ae706c0cd4c3e3e50a7b Merge: 1e3be12 9d8d089 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Dec 28 12:10:33 2020 +0000 Merge branch 'issue-886' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #886 commit 6dac048eb181c441e5ac3abca284344ac2050224 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 27 19:37:10 2020 +0100 ai.LastModificationTime unreliable in cached Exchange mode. #1123 commit 82ff5fcd0c28db327361822123caa0e3e89b1b07 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 27 16:52:42 2020 +0000 Support x-thread manipulation of sync timer: - Separating setting NextSyncDate from calculation of interval. - New Activate() function for timer. Store timer NextSyncDate as proper date. #1120 commit 1e3be1260ef43542f2edb507a81784be049afd58 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 20 17:06:59 2020 +0000 No message box when loading and "no telemetry" configured. Fixes #1135 commit 9d8d0895072e73d3338cc8b0131417b95c0bd527 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 20 14:10:33 2020 +0000 Don't mask GetSettings() error with ApplicationException. #886 commit dd9608c6d873cc3a62542c008a20ae56dc1c30ff Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 20 13:14:54 2020 +0000 Recurring instance logging bug. #877 commit e3227746b93d9511a89d9b13dc235d5155447cb3 Merge: 58807d6 e98e3a5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed Dec 2 01:39:15 2020 +0000 Merge branch 'issue-1126' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #1126 commit 58807d69c90b0ac5ef5980bb6507716815b2ece7 Merge: 705119f 7f3ff9d Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 29 15:55:15 2020 +0000 Merge branch 'issue-1121' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #1121 commit e98e3a5de807e5f5c7a3bbc9e158371b94a7d764 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 29 15:02:07 2020 +0000 Handle failure to get primary SMTP from Exchange recipient. #1126 commit e5d5f5d45c530810ed49c780588ce94c53da056f Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Nov 28 18:51:08 2020 +0000 Regression bug introduced in 1dc494ed1af135dce66f35621f414a5acf88838a #1120 commit 705119fed7b152ab80a96276af155a7e3eac8123 Merge: 11f3aa2 6c090b3 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Nov 28 17:50:44 2020 +0000 Merge branch 'issue-1060' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1060 commit 7f3ff9dc2990dece670d1e6f13193fdac3a57343 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Nov 28 14:14:40 2020 +0000 Populate UseGoogleCalendar.ColourId if null, eg upon upgrade. #1121 commit 0d5e169a841eacdb939e0373a2052e597689409f Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 22 21:51:30 2020 +0000 Correctly delay next sync until fresh quota available. #1120 commit 11f3aa268f8c53228bee53cb0fca6fcdbc05dd53 Merge: 4719f5a f6bc4c2 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 22 14:15:22 2020 +0000 Merge branch 'issue-1068' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1068 commit 4719f5a493efd121f599a7c8ff31775c336faea6 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 8 16:57:21 2020 +0000 Optionally exclude declined Google invitations. GUI checkbox added on Google settings tab. Resolves #654 commit 6c090b3dffabacf96de3a989a08b45bdd1843df1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 8 20:13:01 2020 +0000 Catch and ignore GoogleApiException Code 410 (already deleted). #1060 commit f6bc4c27c0e72ebbe7d7ce2b1a2ef5259ef4d7aa Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 8 17:47:07 2020 +0000 Don't set default Google calendar colour to Outlook category (unless mapped). #1068 commit c06fb4b9cd846210e71d71fa07b5279fa406cad8 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 1 17:11:58 2020 +0000 Handle null being returned from GetCalendarEntriesInRecurrence() #1082 commit 8832dde186a419f91f09616608d300d2e3d2e8a2 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Oct 31 21:23:22 2020 +0000 Squashed commit and pull from master branch for v2.8.5 changes. #1051 commit 2a69c8dd87f10417c0da7211d69d82a3b947c400 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Oct 31 21:01:11 2020 +0000 Setting to allow only a single Outlook category to be synced to Outlook. #1068 commit 0ccc6a03805bf81dd11784aaf89b5cb18a103a10 Merge: 5d3462b dc15a66 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 19:16:13 2020 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync commit 5d3462b34a8f997c00c53e39b18ce32b71e0a7db Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 18:50:09 2020 +0000 v2.8.5 commit fbd410ef8c44040be27866bb5684310c4a0aff93 Merge: 8baf3b6 30d0062 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 17:17:23 2020 +0000 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit 8baf3b66ecdd51d20218d49926eec0f66269efc1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 13:42:10 2020 +0000 Squashed commit of the following resolves #1057: commit 49dd99304aca1da7e7e502717f57f701fcf21ba1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 17:15:26 2020 +0100 Separate name arrays for calendar and event colours. #1057 commit de526a87ca1f7d1a0041fb9692b793d6570ba75b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 14:36:00 2020 +0100 Handle null colour when using default Google calendar colour for mapping. Retrieve Google colours for picker if no items in drop down. Protect from error when attempting to delete last row in colour map screen. #1057 commit 2bcd32314c7fac709d7a6aa5ac5e4a0a40207e1e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 13:30:46 2020 +0000 Derive recurrence end in local time and then convert to UTC. Fixes #1035 commit b70c8e316650d7a253975908efc4269a905bdcfa Merge: 8429cd9 1dc494e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 13:24:54 2020 +0000 Merge branch 'issue-1053' of https://github.com/phw198/OutlookGoogleCalendarSync into release HandleAPIlimits() when authenticating. Allow x-thread retrieval of Console text. Update console when unable to get Google calendar timezone/reminder settings. Check for quota limits error - rateLimitExceeded error message changed. Resolves #1053 commit 8429cd95b746e1a9a705a434294291aaa293f67b Merge: c3d206f 341021b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Oct 10 18:47:26 2020 +0100 Merge branch 'issue-1035' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1035 commit 1dc494ed1af135dce66f35621f414a5acf88838a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Oct 10 17:49:16 2020 +0100 HandleAPIlimits() when authenticating. Allow x-thread retrieval of Console text. #1053 commit b92a311a06707df37873bfa48473bbc42621e310 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Fri Jun 26 11:40:12 2020 +0100 Update console when unable to get Google calendar timezone/reminder settings. Check for quota limits error. #1026 #1053 commit cc023bbc9cee2b3ff2e7aef72947f1dd8def5ffc Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 20:47:55 2020 +0100 Revert "Use HandleAPIlimits() when retrieving calendar settings." This reverts commit 1671564957dfcb3926d8d6b2f0d17ee844b96448. commit 1671564957dfcb3926d8d6b2f0d17ee844b96448 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 20:05:49 2020 +0100 Use HandleAPIlimits() when retrieving calendar settings. #1053 commit c3d206f5422195491931a5c6304e98834cb28cc1 Merge: 71e55c3 fd2a94b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 17:32:17 2020 +0100 Merge branch 'issue-1059' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1059 commit 341021bef62af76117f2ba6cb3b71f9afa0e1d32 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 23 13:20:14 2020 +0100 Recurrence start time is not provided in recipients local time, but organiser's. Use appointment's start time instead, which is. #1035 commit 1d6a771c8a6bdea6aa9a6eab025edf3e7a99d384 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Aug 20 00:52:53 2020 +0100 rateLimitExceeded error message changed. #1053 commit 0c48d4794053989eacb5be154120cc896bdce536 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 16 20:15:28 2020 +0100 Retain recurring items with start date before sync date. #1051 commit fd2a94bfd8f529ac58f6c932ce3ed74cc88b73cf Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 16 17:56:16 2020 +0100 Make getDefaultCalendar() x-thread safe. #1059 commit 39aa2537806fe619f8e315aed3cf321266b9863a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 16 17:32:23 2020 +0100 Handle accessing categories when not available due to O2003. #1059 commit 71e55c3c648d94dae60152f39e14819439a8cd0d Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 8 11:34:20 2020 +0100 Sync Outlook deletion on first 2-way sync. Resolves #1050 commit 980cb47437c42a693a8786347b62e0aa0d232249 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Aug 4 23:04:01 2020 +0100 Masking data in logs: - Email address in Outlook title bar - Profile name where settings.xml is located Resolves #1046 commit 596d934d4c1ac8084bbcd222602955ee6e791590 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 22:03:07 2020 +0100 Catch failure to delete files in purgeLogFiles() Resolves #1043 commit cf063372814879e07057eda824aa51394d4c4566 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 21:46:24 2020 +0100 Log WARN when no Outlook category mapping found as specified in Settings. Refresh Categories if null. Closes #1031 commit 69ab73d1ea3a5a830f1d21ff14a9afbbfc27f105 Merge: befe5fb eb7d47a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 20:15:25 2020 +0100 Merge branch 'issue-1037' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #1037 commit eb7d47a64370c37b42038ff94ea3c4c6b2ef0ff1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 15:46:42 2020 +0100 Compare cloaked email addresses for attendees. #1037 commit dc15a668be518534f19b43bda65aacd22735a41a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Fri Jun 26 00:05:17 2020 +0100 Specify alpha release for upgrade commit befe5fbf4af9b5e30828aa30dc87f62009fb92c7 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed Jun 24 20:22:05 2020 +0100 If fail to find specific Outlook2016 release name, simply continue with 2016. Fixes #1020 commit 87fcf1e7c26a310e332a7bcd3113923e3cd07e17 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 30 21:39:44 2021 +0000 Fix incorrect scheduling. Fixes #1161 commit 14334ee06dc23b97dba43e5a3f2fa8cf9f32ac0f Merge: 93ee55b 7d64553 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 21:31:12 2021 +0000 Merge branch 'release' of https://github.com/phw198/OutlookGoogleCalendarSync commit 93ee55bacab30cc8b66650ea1b677c4a9fca07ca Merge: 3d1d8e5 0ccc6a0 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 21:29:01 2021 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync commit 3d1d8e53aea2052c0def6379d794e1664653f071 Merge: 5d3462b dc15a66 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 19:16:13 2020 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync commit 7d6455322a40ab672a8131df2e882735632e4edc Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 19:23:13 2021 +0000 v2.8.6 commit f351ce6d9c7d5ca384072240fe41c31216186996 Merge: ef6aa86 c6224c7 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 18:48:49 2021 +0000 Merge branch 'issue-1151' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #1151 commit ef6aa860545422ea8daefbbffd84dbd67180a25c Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 23 17:58:12 2021 +0000 Don't add default reminder to Google if email notification(s) set. Fixes #1156 commit c6224c7ea1cbb16913daf41cbade636263622acb Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 16 20:27:18 2021 +0000 Paginate response when retrieving list of Google calendars. #1151 commit 37f72742cb5ce157d81b71670bac9e1ec5893b47 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 16 19:45:26 2021 +0000 Ensure 64-bit machines cannot create an interval greater than Int32. Fixes #1154 commit 150c9d39de861c1269643e0a4ad84d826ccb9bdc Merge: 7099212 c06fb4b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Jan 14 21:45:39 2021 +0000 Merge branch 'issue-1082' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #1082 commit 7099212cd68c34e31a85153f951c8b81e6d8cd2b Merge: c952744 0c1bbec Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jan 10 23:22:08 2021 +0000 Merge branch 'issue-1120' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #1120 commit 0c1bbecc3a08bba6c1c82c9cfd9a98bb6b5ee90e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jan 10 16:48:36 2021 +0000 Improved message following exhausted quota. Fix scrollbar showing unnecessarily. #1120 commit c952744db30f14606a3b84b6edd1e8fa26a34d8a Merge: 7718ab8 8bbb7f5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jan 2 14:08:55 2021 +0000 Merge branch 'issue-1051' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1051 commit 8bbb7f5821e6802fc0e2bec7176fb5541554a2fd Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Dec 29 17:16:45 2020 +0000 Created proper interface methods for filtering. #1051 commit 27110201a3a153c3037919c17ce88065115f8e83 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Dec 29 17:07:15 2020 +0000 Squashed commit and merge of the 'release' branch. #1051 commit 7718ab8ca21ad50013ad7ea112e27906d6458b46 Merge: f4ec842 6dac048 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Dec 28 19:34:40 2020 +0000 Merge branch 'issue-1123' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1123 commit f4ec8429983c2bc811c9ae706c0cd4c3e3e50a7b Merge: 1e3be12 9d8d089 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon Dec 28 12:10:33 2020 +0000 Merge branch 'issue-886' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #886 commit 6dac048eb181c441e5ac3abca284344ac2050224 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 27 19:37:10 2020 +0100 ai.LastModificationTime unreliable in cached Exchange mode. #1123 commit 82ff5fcd0c28db327361822123caa0e3e89b1b07 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 27 16:52:42 2020 +0000 Support x-thread manipulation of sync timer: - Separating setting NextSyncDate from calculation of interval. - New Activate() function for timer. Store timer NextSyncDate as proper date. #1120 commit 1e3be1260ef43542f2edb507a81784be049afd58 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 20 17:06:59 2020 +0000 No message box when loading and "no telemetry" configured. Fixes #1135 commit 9d8d0895072e73d3338cc8b0131417b95c0bd527 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 20 14:10:33 2020 +0000 Don't mask GetSettings() error with ApplicationException. #886 commit dd9608c6d873cc3a62542c008a20ae56dc1c30ff Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Dec 20 13:14:54 2020 +0000 Recurring instance logging bug. #877 commit e3227746b93d9511a89d9b13dc235d5155447cb3 Merge: 58807d6 e98e3a5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed Dec 2 01:39:15 2020 +0000 Merge branch 'issue-1126' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #1126 commit 58807d69c90b0ac5ef5980bb6507716815b2ece7 Merge: 705119f 7f3ff9d Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 29 15:55:15 2020 +0000 Merge branch 'issue-1121' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #1121 commit e98e3a5de807e5f5c7a3bbc9e158371b94a7d764 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 29 15:02:07 2020 +0000 Handle failure to get primary SMTP from Exchange recipient. #1126 commit e5d5f5d45c530810ed49c780588ce94c53da056f Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Nov 28 18:51:08 2020 +0000 Regression bug introduced in 1dc494ed1af135dce66f35621f414a5acf88838a #1120 commit 705119fed7b152ab80a96276af155a7e3eac8123 Merge: 11f3aa2 6c090b3 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Nov 28 17:50:44 2020 +0000 Merge branch 'issue-1060' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1060 commit 7f3ff9dc2990dece670d1e6f13193fdac3a57343 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Nov 28 14:14:40 2020 +0000 Populate UseGoogleCalendar.ColourId if null, eg upon upgrade. #1121 commit 0d5e169a841eacdb939e0373a2052e597689409f Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 22 21:51:30 2020 +0000 Correctly delay next sync until fresh quota available. #1120 commit 11f3aa268f8c53228bee53cb0fca6fcdbc05dd53 Merge: 4719f5a f6bc4c2 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 22 14:15:22 2020 +0000 Merge branch 'issue-1068' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1068 commit 4719f5a493efd121f599a7c8ff31775c336faea6 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 8 16:57:21 2020 +0000 Optionally exclude declined Google invitations. GUI checkbox added on Google settings tab. Resolves #654 commit 6c090b3dffabacf96de3a989a08b45bdd1843df1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 8 20:13:01 2020 +0000 Catch and ignore GoogleApiException Code 410 (already deleted). #1060 commit f6bc4c27c0e72ebbe7d7ce2b1a2ef5259ef4d7aa Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 8 17:47:07 2020 +0000 Don't set default Google calendar colour to Outlook category (unless mapped). #1068 commit c06fb4b9cd846210e71d71fa07b5279fa406cad8 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Nov 1 17:11:58 2020 +0000 Handle null being returned from GetCalendarEntriesInRecurrence() #1082 commit 8832dde186a419f91f09616608d300d2e3d2e8a2 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Oct 31 21:23:22 2020 +0000 Squashed commit and pull from master branch for v2.8.5 changes. #1051 commit 2a69c8dd87f10417c0da7211d69d82a3b947c400 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Oct 31 21:01:11 2020 +0000 Setting to allow only a single Outlook category to be synced to Outlook. #1068 commit 0ccc6a03805bf81dd11784aaf89b5cb18a103a10 Merge: 5d3462b dc15a66 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 19:16:13 2020 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync commit 5d3462b34a8f997c00c53e39b18ce32b71e0a7db Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 18:50:09 2020 +0000 v2.8.5 commit fbd410ef8c44040be27866bb5684310c4a0aff93 Merge: 8baf3b6 30d0062 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 17:17:23 2020 +0000 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit 30d0062a72041133eed250a044e29542388df313 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 15:54:31 2020 +0100 Log user's system timezone. Turn cloud logging on/off properly if OGCS not fully initialised. TimezoneMap form button renamed to OK. Bugfix: Compare number of recurrence rule elements. commit 8baf3b66ecdd51d20218d49926eec0f66269efc1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 13:42:10 2020 +0000 Squashed commit of the following resolves #1057: commit 49dd99304aca1da7e7e502717f57f701fcf21ba1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 17:15:26 2020 +0100 Separate name arrays for calendar and event colours. #1057 commit de526a87ca1f7d1a0041fb9692b793d6570ba75b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 14:36:00 2020 +0100 Handle null colour when using default Google calendar colour for mapping. Retrieve Google colours for picker if no items in drop down. Protect from error when attempting to delete last row in colour map screen. #1057 commit 2bcd32314c7fac709d7a6aa5ac5e4a0a40207e1e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 13:30:46 2020 +0000 Derive recurrence end in local time and then convert to UTC. Fixes #1035 commit b70c8e316650d7a253975908efc4269a905bdcfa Merge: 8429cd9 1dc494e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 25 13:24:54 2020 +0000 Merge branch 'issue-1053' of https://github.com/phw198/OutlookGoogleCalendarSync into release HandleAPIlimits() when authenticating. Allow x-thread retrieval of Console text. Update console when unable to get Google calendar timezone/reminder settings. Check for quota limits error - rateLimitExceeded error message changed. Resolves #1053 commit 8429cd95b746e1a9a705a434294291aaa293f67b Merge: c3d206f 341021b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Oct 10 18:47:26 2020 +0100 Merge branch 'issue-1035' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1035 commit 1dc494ed1af135dce66f35621f414a5acf88838a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Oct 10 17:49:16 2020 +0100 HandleAPIlimits() when authenticating. Allow x-thread retrieval of Console text. #1053 commit b92a311a06707df37873bfa48473bbc42621e310 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Fri Jun 26 11:40:12 2020 +0100 Update console when unable to get Google calendar timezone/reminder settings. Check for quota limits error. #1026 #1053 commit cc023bbc9cee2b3ff2e7aef72947f1dd8def5ffc Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 20:47:55 2020 +0100 Revert "Use HandleAPIlimits() when retrieving calendar settings." This reverts commit 1671564957dfcb3926d8d6b2f0d17ee844b96448. commit 1671564957dfcb3926d8d6b2f0d17ee844b96448 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 20:05:49 2020 +0100 Use HandleAPIlimits() when retrieving calendar settings. #1053 commit c3d206f5422195491931a5c6304e98834cb28cc1 Merge: 71e55c3 fd2a94b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Oct 4 17:32:17 2020 +0100 Merge branch 'issue-1059' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #1059 commit 341021bef62af76117f2ba6cb3b71f9afa0e1d32 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 23 13:20:14 2020 +0100 Recurrence start time is not provided in recipients local time, but organiser's. Use appointment's start time instead, which is. #1035 commit 1d6a771c8a6bdea6aa9a6eab025edf3e7a99d384 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Aug 20 00:52:53 2020 +0100 rateLimitExceeded error message changed. #1053 commit 0c48d4794053989eacb5be154120cc896bdce536 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 16 20:15:28 2020 +0100 Retain recurring items with start date before sync date. #1051 commit fd2a94bfd8f529ac58f6c932ce3ed74cc88b73cf Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 16 17:56:16 2020 +0100 Make getDefaultCalendar() x-thread safe. #1059 commit 39aa2537806fe619f8e315aed3cf321266b9863a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Aug 16 17:32:23 2020 +0100 Handle accessing categories when not available due to O2003. #1059 commit 71e55c3c648d94dae60152f39e14819439a8cd0d Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Aug 8 11:34:20 2020 +0100 Sync Outlook deletion on first 2-way sync. Resolves #1050 commit 980cb47437c42a693a8786347b62e0aa0d232249 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Aug 4 23:04:01 2020 +0100 Masking data in logs: - Email address in Outlook title bar - Profile name where settings.xml is located Resolves #1046 commit 596d934d4c1ac8084bbcd222602955ee6e791590 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 22:03:07 2020 +0100 Catch failure to delete files in purgeLogFiles() Resolves #1043 commit cf063372814879e07057eda824aa51394d4c4566 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 21:46:24 2020 +0100 Log WARN when no Outlook category mapping found as specified in Settings. Refresh Categories if null. Closes #1031 commit 69ab73d1ea3a5a830f1d21ff14a9afbbfc27f105 Merge: befe5fb eb7d47a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 20:15:25 2020 +0100 Merge branch 'issue-1037' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #1037 commit eb7d47a64370c37b42038ff94ea3c4c6b2ef0ff1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jul 19 15:46:42 2020 +0100 Compare cloaked email addresses for attendees. #1037 commit f30845b17a268440375ef0e0f384bc5a8db200d9 Merge: ddd5cba f0b4a61 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jul 4 18:28:51 2020 +0100 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into development commit ddd5cba4250ce9ecae8939c5d40fa33bbf43e69a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jul 4 18:18:19 2020 +0100 Ability to set the exact type of availability (eg Out of Office in Outlook). Closes #1013 commit ccf4b5798a6c73b9a9750e70ec85acaf593ba51f Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jun 28 12:51:35 2020 +0100 Help tab - mention report issues on alpha. commit df05ef2f51cdc733afe96ce4801299847f201f61 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jun 27 23:34:15 2020 +0100 Log exact location of errors, including line number. Produce and package .pdb file. commit a1e5d530cd6ad2b9a675c703dc98da8657f6fa46 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jun 27 21:40:28 2020 +0100 Log Google 500 errors as FAIL. Closes #894 commit f0b4a61d115aab64d36898f34f2b17ff33dfb9da Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jun 27 21:40:28 2020 +0100 Log Google 500 errors as FAIL. Closes #894 commit 597210f3650588bd2d7a2f8481f4b450ea1ff2df Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jun 27 13:58:09 2020 +0100 Option to exclude syncing of Goals events. Log TokenResponseException as FAIL. commit 85a2e9e811a452194510ac7f98ecfa5b4b136e1e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Fri Jun 26 17:48:23 2020 +0100 ReclaimOrphanCalendarEntries() in both Outlook and Google before starting sync. This stops reclaim in Google followed by delete in Outlook for two-way sync. #998 commit baf999877f02daad0d13e03775b9f0b1f682fef9 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Fri Jun 26 11:40:12 2020 +0100 Update console when unable to get Google calendar timezone/reminder settings. Check for quota limits error. #1026 commit dc15a668be518534f19b43bda65aacd22735a41a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Fri Jun 26 00:05:17 2020 +0100 Specify alpha release for upgrade commit 8d4130033a776e2bb6def91ced9cfe25bbededf1 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Thu Jun 25 23:45:09 2020 +0100 Parse ProductReleaseIds registry key - may include multiple comma separated products e.g. O365ProPlusRetail,VisioProRetail Added additional product enum values. Thanks @CollinCampbell commit 35130e478d0e6f867c0b3b406b9c1c402a0f648e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed Jun 24 20:22:05 2020 +0100 v2.8.4 fix backport If fail to find specific Outlook2016 release name, simply continue with 2016. Fixes #1020 commit befe5fbf4af9b5e30828aa30dc87f62009fb92c7 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed Jun 24 20:22:05 2020 +0100 If fail to find specific Outlook2016 release name, simply continue with 2016. Fixes #1020 commit e7e31c9a014f418e0f527979d351ad2d5e8bf45f Merge: 099c37e f8eea29 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed Jun 24 15:11:57 2020 +0100 v2.8.4 commit 099c37eb6110d40edeeeeef1afdeb119307c82d4 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed Jun 24 14:06:59 2020 +0100 Squashed commit of 'colour' branch for the following: commit a0f697f7851b5462ae0ed40de6f4644aa41ea79b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jun 13 19:12:38 2020 +0100 For "test" dropdowns, use grid mappings, not saved Settings. Within map form, ask user whether to create Outlook category when colour not used. Catch error and refresh categories if an Outlook category is manually deleted. commit db734931dce35a68ec849afaeb16bc5045c7eb66 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jun 13 17:01:14 2020 +0100 Move Enter() event to GoogleColourPicker class. Load Google colours on open of Form.ColourMap. Fixes #1008 commit 37fe985530bfc9d732becbf2f1200e9ecb43355f Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed Jun 10 22:28:59 2020 +0100 Initialisation bugfixes for blank profile. #1005 commit d559711f33ed0cabc65f287acf70abe4edac065b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jun 7 17:22:25 2020 +0100 Don't connect to Google for colours when loading OGCS. Change default Google calendar to ID 0. Tooltip over dropdown when retrieving colours from Google for first time. No access to colour form components unless Google account is connected. commit d3bcf9a9d133c551d1805197f61364a4d1995660 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jun 7 13:31:02 2020 +0100 Show dropdowns to test colour mapping. Show the right colour dropdown in MainForm depending on sync direction. Set custom G calendar colour ID to 0. Force colour sync O->G from new dedicated settings. commit 8d1388a3691f41f76b4dae4c616e644cdd946d6f Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat Jun 6 17:58:22 2020 +0100 Provide override of Google colours (as the API ones aren't accurate!). Hard code the Google colour names (not provided by API). Check for duplicate mappings before storing in Settings. Sync mapped colour G->O. commit 90b34effa31fc7eee92a3846ba38c7138389e49b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun May 31 19:10:37 2020 +0100 Create new activePalette instead of eventPalette reference. GetColourId() and GetColourName() to work with named IDs. Support deletion of row, adding new blank row at bottom of grid. Read and write maps to Settings. commit 04c38d72c8022ec522a44c97462a8e50273055c5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon May 25 17:14:36 2020 +0100 Class refactor. Extended DGV elements out for specific Outlook and Google inherited classes. CalendarListEntry now stores calendar colour ID. Event palette made up of event palette and current active calendar colour. commit 44c7a65f0e0419f6cbd4bc5f2d8f69b5ec3bf324 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Mon May 25 13:38:54 2020 +0100 Proper extension for ComboboxColor, Cell and Column for DGV. Applied to Outlook dropdown only so far. Sort dropdown. commit 511c701d5638dad2e27027675d1543540ba8f613 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun May 17 14:51:25 2020 +0100 System.Windows.Forms.DataGridViewComboBoxColumn() shows dropdown Extensions.DataGridViewColourComboBoxColumn() show default DGV cell value ...but not both at same time yet. commit ee53d6fa0f36e4767c16b5436d6a290d22285f65 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 16 20:25:34 2020 +0100 New colour mapping form. Show Outlook categories in gridview dropdown. commit b289784e07e135c8ed4872f5d4d5e7c6c9df0d92 Merge: d9a69de 9e842f9 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue Jun 23 22:04:25 2020 +0100 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit d9a69de876497a5d657295da5175c939f7c04907 Merge: dca306d 44ce61e Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jun 21 21:36:06 2020 +0100 Merge branch 'issue-924' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #924 commit dca306d5226fc2c66590111fd047d6286140bbe5 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jun 14 22:06:40 2020 +0100 Improved reporting on GoogleApiException error. Closes #958 commit 0b37613a4dd2262747bfec5f9dd6dff8805e45b6 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jun 14 21:06:36 2020 +0100 BuildFakeEmailAddress() trim full stops. Fixes #1010 commit e8a0145ffdc72b65ae0265fae4b5c00b3c983a40 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sun Jun 14 11:37:27 2020 +0100 Null check for Google reminder overrides. Fixes #849 commit 9e842f98cc28a63253f96682da1464bcb7fa0950 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 30 19:03:40 2020 +0100 Log the calendar ID as well as Name. Log warning when calendar selection is changed. commit dee8c92176b83b1d0e801722e2f9941897fb3b46 Merge: e8238e2 6214207 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 16 14:23:07 2020 +0100 Merge branch 'issue-966' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #966 commit f8eea299de4dbf6109be575434515a365c097946 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 16 13:45:41 2020 +0100 Update bug_report.md commit 3116f590449e3f3830df6d1dccfb8bc2f6af8979 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 16 13:33:03 2020 +0100 Checklist added commit cacfac1440f84b0c2c72690b3478a73c3ca6606a Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Sat May 16 13:27:02 2020 +0100 Create config.yml commit 6214207b5e56616b8c08667e7297b4e1877f8fbe Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Wed May 6 14:47:37 2020 +0100 Catch failed connection to Outlook on PushSyncTimer. #966 commit 7d4991681ded86d3242e6824196b0298dfd9a30b Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue May 5 20:50:09 2020 +0100 Logging changes. #971 commit 44ce61e6d96cc3e3cd7682abf0190e192c164665 Author: Paul Woolcock <11843015+phw198@users.noreply.github.com> Date: Tue May 5 17:38:11 2020 +0100 Squashed commit of the release branch. #924 commit 14efd7bfda20ded6a921d7d516909f7ccc9cf8e6 Author: Paul Woolcock Date: Tue May 5 12:58:08 2020 +0100 Detect moving of appointments across sync window bounds. Notify user and automatically adjust sync window bounds. New x-thread method for calling methods: CallControlMethodThreadSafe() #924 commit 3c06a9bd2834171808dd72f097cdc22448bcc496 Author: Paul Woolcock Date: Mon Apr 13 17:11:21 2020 +0100 Improved detection of Outlook release. Retrieve Outlook v16 release name from registry. Enum to assist release comparison. commit e8238e212ab0de8037628af2fee811cceb932c77 Merge: 0547b56 2420ae4 Author: Paul Woolcock Date: Sun Feb 9 17:23:22 2020 +0000 Merge branch 'issue-945' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #945 commit 0547b56d3a6815cc225baa43c9872aec1216e335 Author: Paul Woolcock Date: Sun Feb 9 16:55:09 2020 +0000 Merging master document changes. commit e60f6ca91427670d186e323ab0ffc5f4629fd1a6 Merge: a27eb5f 39194c8 Author: Paul Woolcock Date: Sun Feb 9 16:54:38 2020 +0000 Merge branch 'issue-939' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #939 commit a27eb5f51c418e88a1b1008dd034707befda0a66 Author: Paul Woolcock Date: Sun Jan 26 14:51:56 2020 +0000 Only create MainForm handle if doesn't exist yet. Fixes #944 commit 2420ae4cbc92b4b369f09ff534d6af912f0f06b4 Author: Paul Woolcock Date: Sat Jan 25 22:52:00 2020 +0000 Ignore IO error on ErrorReporting.json file if locked by another process. #945 commit 39194c8189ef9fac8698c0eef9acb421d5c02daf Author: Paul Woolcock Date: Tue Jan 14 22:08:31 2020 +0000 Save mappings on exit. Show form on top of main application window. #939 commit 8def08c1fc4382be55caef6e05a9ca02545be4f8 Author: Paul Woolcock Date: Tue Dec 24 20:00:15 2019 +0000 Modified DLL commit 7d4931b1992e11ad3a6485a6691eaf0429bcbc77 Author: Paul Woolcock Date: Tue Dec 24 19:58:45 2019 +0000 Reverting SharpCompress.dll from v0.23.0 to v0.20.0 Resolves #926 commit ee6d8ee1269877b29361aba505ecd6403ebd8d27 Merge: cde2771 eb16f0d Author: Paul Woolcock Date: Mon Dec 16 00:05:34 2019 +0000 v2.8.3 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync commit cde277140c89a115e7fe5c2f86d5692566ec35dc Author: Paul Woolcock Date: Sun Dec 15 23:36:42 2019 +0000 v2.8.3 commit 2ae51e16638d4881add2add56aa26d24a276efbf Merge: 5117333 4e8d8aa Author: Paul Woolcock Date: Sun Dec 15 23:18:07 2019 +0000 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit 4e8d8aa84dc1ef037d1f8a48b3faab9c59f7dad7 Author: Paul Woolcock Date: Sat Dec 14 21:27:15 2019 +0000 Explain why Google occurrence may be deleted, but not in Outlook. Backup CSV files from previous sync. commit 511733363dc5a6d377dc5365d9ad46d4cc26dcd6 Merge: cd23cb3 e22b414 Author: Paul Woolcock Date: Sat Dec 14 22:01:17 2019 +0000 Merge branch 'issue-833' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #833 commit cd23cb34043f8281a2c879149b3ae0fef5072da3 Merge: 028ab98 c564e2d Author: Paul Woolcock Date: Sat Dec 14 21:50:14 2019 +0000 Merge branch 'issue-844' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #844 commit 028ab982513ba73562d3cb891083b2bbc2ce784f Author: Paul Woolcock Date: Sat Dec 14 21:43:30 2019 +0000 Check alternate mailbox name is still accessible. Check the Outlook calendar is still available. Better exception handling. Closes #891 commit d9099a5e4cf447a0faa638f44f32d2e2613b69a6 Merge: c64b020 c41a9bf Author: Paul Woolcock Date: Sat Dec 14 21:37:12 2019 +0000 Merge branch 'issue-895' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #895 commit c64b0204e2378841a977e30b6214b07ad752f560 Merge: e46108e 7248654 Author: Paul Woolcock Date: Sat Dec 14 21:29:42 2019 +0000 Merge branch 'issue-914' of https://github.com/phw198/OutlookGoogleCalendarSync into release Closes #914 commit 1273e9f21c56a0f0a656e2f487acec62d15fe4ec Author: Paul Woolcock Date: Sat Dec 14 21:04:47 2019 +0000 Indicate where a deletion is happening. Resolves #921 commit e46108ea3ff34159db9d805d65fc79dd56a2ccd7 Author: Paul Woolcock Date: Sat Dec 14 20:49:42 2019 +0000 New form for custom timezone mapping. Store mappings in main Settings.xml Check for mappings during sync. Refer user to custom mappings when fuzzy logic returns ambiguous result. Resolves #843 commit e9962ca5761382308de873f102c5e546b5dc4182 Author: Paul Woolcock Date: Thu Dec 12 21:13:43 2019 +0000 Catch E_ABORT when accessing currentUser recipient name too. Resolves #909 commit eb16f0d5fce5ef8bad284b45ab5084a8b4fa0e8a Author: Paul Woolcock Date: Mon Dec 9 23:06:25 2019 +0000 Update seeking-guidance.md commit 902524f2681268acf9b3be97a8f4bff04366f665 Author: Paul Woolcock Date: Mon Dec 9 23:01:56 2019 +0000 Update bug_report.md commit 7248654de18b23ae23804ca0e9e7f9b318b37dff Author: Paul Woolcock Date: Sun Dec 8 11:38:47 2019 +0000 Don't assume false if event Creator.Self is null. #914 commit c564e2d302316cc1be6bd6b712617f3e2704b974 Author: Paul Woolcock Date: Sun Dec 8 11:23:15 2019 +0000 Ensure start/end values are populated. #844 commit f46186d77b642128f41df20bfef5484fa220d7d0 Merge: 1b28690 7ecf9ee Author: Paul Woolcock Date: Wed Nov 27 22:29:54 2019 +0000 Merge branch 'issue-897' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #897 commit 7ecf9eed7ec99311bf0d792280aa3d3e046f9475 Author: Paul Woolcock Date: Sun Nov 24 13:00:56 2019 +0000 Don't sync colour to Outlook if a recurring series exception. #897 commit 1b28690e09c36b99d1158d8f22d2e40c0f3d6b18 Merge: e984ef7 98c4a6e Author: Paul Woolcock Date: Sat Nov 23 13:04:34 2019 +0000 Add reference to Google.Cloud.Logging.Type DLLs Resolves #899 commit 98c4a6e04e03f2b63aeab69bad9745cd60dd8bca Author: Paul Woolcock Date: Sat Nov 23 12:32:58 2019 +0000 Add reference to Google.Cloud.Logging.Type DLLs commit e984ef73cf10fee60d5c2a83026af4d213476388 Author: Paul Woolcock Date: Sat Nov 23 10:18:50 2019 +0000 Squashed commit of the following: commit f9fe0203f56076221a7140b9a6f56cd7f565ab1b Author: Paul Woolcock Date: Wed Nov 13 22:39:43 2019 +0000 Match exception string with "contains". #890 commit 8a5c85077bfd79d09af46fbc1f0daf7ec3e508cb Author: Paul Woolcock Date: Wed Nov 13 00:04:47 2019 +0000 Move exception handling. #890 commit 5c090a973e240bcac3266d6d7e6acc1d9a432d60 Author: Paul Woolcock Date: Mon Nov 11 23:07:45 2019 +0000 Try to catch corrupted calendar item with no start/end date. #890 commit 23b1387c074feb0e25196ef4052e1a4790421e86 Author: Paul Woolcock Date: Sun Nov 10 22:00:50 2019 +0000 Log exception in full as FAIL. #890 Closes #890 commit 6339c9f732dd208bd5c3662eec4862eed8a586a5 Author: Paul Woolcock Date: Sat Nov 23 09:41:41 2019 +0000 Simplify control enablement when 2-way sync selected. commit 2f5d4d1777cd2d4910b176cb8f9403c91a17d30b Merge: 2a7f522 416ffbd Author: Paul Woolcock Date: Sat Nov 23 09:22:01 2019 +0000 Merge branch 'issue-858' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #858 commit c41a9bfcc7584e73b576290e7f03b95dc4bb3af3 Author: Paul Woolcock Date: Sun Nov 17 21:25:07 2019 +0000 Continue if mailbox has no 'deleted items' folder. #895 commit d9b4da335a26221a460dd0a19b8dd5b8cf170366 Merge: 5be9a0a 0d574dd Author: Paul Woolcock Date: Mon Nov 11 23:31:11 2019 +0000 Merge branch 'master' of https://github.com/phw198/OutlookGoogleCalendarSync into issue-844 Updating to v2.8.2 commit 2a7f5220c117264bda412e2b160f11a4b728bc60 Merge: ba7f8d0 1aa55c8 Author: Paul Woolcock Date: Mon Nov 11 20:05:35 2019 +0000 Merge branch 'issue-870' of https://github.com/phw198/OutlookGoogleCalendarSync into release Fixes #870 commit ddecbbc8830ced2e079e971066335f6cc3217140 Author: Paul Woolcock Date: Sun Nov 10 21:30:43 2019 +0000 Mask the %USERNAME% element in a file path. #788 commit d8285f0d30e32a121f644529e9a93c06bd49c658 Author: Paul Woolcock Date: Sun Nov 10 21:26:08 2019 +0000 Squashed commit of the following: commit 0d574dd13d207f42c8d5d2a0193e05e3342d0d8e Author: Paul Woolcock Date: Sun Nov 10 14:04:03 2019 +0000 Update bug_report.md commit 10501c9b2e319a943b0283ddce201bfccf118285 Author: Paul Woolcock Date: Sun Nov 10 14:03:34 2019 +0000 Update bug_report.md commit d13da905ace1632c9941160e429c141d3edb41eb Author: Paul Woolcock Date: Mon Oct 28 22:51:47 2019 +0000 Update bug_report.md commit ddae4ce5896dc460d43d47dbd8b9086609b0f079 Author: Paul Woolcock Date: Wed Oct 23 13:51:57 2019 +0100 Update keyring.md commit 2bc2611b73bb74446cdc0cd737691db2e03b2fa6 Merge: fba7123 78ae5c0 Author: Paul Woolcock Date: Sat Oct 19 12:42:40 2019 +0100 v2.8.2 Merge branch 'release' of https://github.com/phw198/OutlookGoogleCalendarSync commit 78ae5c0d8c37e06129d0b1b96e63df12387043d2 Author: Paul Woolcock Date: Sat Oct 19 12:32:58 2019 +0100 v2.8.2 commit 0909e40c7b0c867e597079fde9b54b1bfc50e7d2 Merge: 5a32ce3 8faa769 Author: Paul Woolcock Date: Sat Oct 19 11:44:51 2019 +0100 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit 5a32ce353fbcea7cf0b616461e252826db184a2c Merge: 0b3a019 c45a5e5 Author: Paul Woolcock Date: Sat Oct 19 10:44:10 2019 +0100 Merge branch 'issue-846' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #846 commit 0b3a019fa9046456ed72ed542ceefec50eb9ce3a Merge: e092bc2 b6736b5 Author: Paul Woolcock Date: Sat Oct 19 10:20:43 2019 +0100 Merge branch 'issue-165-title' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit fba712322c0f0c7f040472bd18c88c6dbf46fa8e Author: Paul Woolcock Date: Sun Sep 29 23:18:52 2019 +0100 Update keyring.md commit c45a5e501eb0dfc8628a982352deae71ba6cabce Author: Paul Woolcock Date: Tue Sep 24 20:06:05 2019 +0100 Bring form to top after load. Only show form after Splash has gone. commit 3385f3072d1aeaa6f7901c3e7967e6ad8185d9eb Author: Paul Woolcock Date: Mon Sep 23 22:55:47 2019 +0100 If MainForm not available, just show MessageBox without owner. Standard MessageBox after MainForm closed during shutdown. Fail early if MainForm has been disposed of. Abort any running sync on app termination. #846 commit 5923a0d417996250d7fff756af49d8c9dbf2b18e Author: Paul Woolcock Date: Sun Sep 22 22:13:22 2019 +0100 New OgcsMessageBox class - makes Main form owner of MessageBox. Also ensure Main form is displayed (restore and bring to front). #846 commit b6736b5b6ced6b64f95f38ebdf1b8bd6556c378e Author: Paul Woolcock Date: Sun Sep 22 10:20:54 2019 +0100 New /t argument for OGCS Title. Makes it clearer which settings an OGCS instance is using. #165 commit e092bc2586460c8802f13454f6a2b6009d1b8d60 Author: Paul Woolcock Date: Thu Sep 19 21:49:18 2019 +0100 commit 4053781c570606f300b7abcafd1da8349ab348b3 Author: Paul Woolcock Date: Mon Sep 16 22:16:51 2019 +0100 Don't try and update recurring series owned by another. Resolves #830 commit 378c93285626ef7bcb51b28fc03da072d04dd430 Author: Paul Woolcock Date: Sun Sep 15 11:17:45 2019 +0100 Only apply user-agent if using Custom proxy. #820 commit c3572e93c91c7a2719a3918eae28c7295fde9cc6 Merge: 487710d 5687d0e Author: Paul Woolcock Date: Sat Sep 14 21:01:15 2019 +0100 Merge branch 'issue-820' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #820 commit 487710d51234c56cb03723c584b4e91dfe0ff34f Author: Paul Woolcock Date: Fri Sep 13 00:22:50 2019 +0100 Native grpc DLLs updated. Fixes #841 commit d5ddf91b47866c243fe35bce2f7b12373e57ae85 Author: Paul Woolcock Date: Wed Sep 11 23:26:57 2019 +0100 Added question template commit 5d81c827d9ac0569778ef0597ded6998e3512144 Author: Paul Woolcock Date: Wed Sep 11 02:43:24 2019 +0100 Update issue templates commit 5687d0efe2d8dc5c2daabbff569faf59d38fbd7b Author: Paul Woolcock Date: Sun Sep 8 12:59:47 2019 +0100 New OgcsWebClient extension class to automatically set BrowserUserAgent. #820 commit 01b1eae9d0ec5fe0bf67fe1519066072615d6554 Author: Paul Woolcock Date: Sun Sep 8 12:25:16 2019 +0100 Use the BrowserUserAgent for all WebClient calls. Use proxy for Google Calendar service and Squirrel update. Perform test connection after setting proxy. #820 commit a5ab8051e278c38d844b507544c383e5339b7543 Author: Paul Woolcock Date: Wed Sep 4 03:46:38 2019 +0100 Update keyring.md commit 7337a72a9f816d8904345ef21bd1ed6b30c8d5b6 Merge: 1575213 9d72ba4 Author: Paul Woolcock Date: Sun Aug 11 12:43:51 2019 +0100 Merge branch 'issue-799' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #799 commit 9d72ba4720242ad40fdf10c138a34cac0592c607 Author: Paul Woolcock Date: Sat Aug 10 22:38:22 2019 +0100 Convert recurrence end date to local time. Retrieved Google's global calendar timezone. #799 commit 15752137dc41a56b933080a46460cf8d3bbab045 Author: Paul Woolcock Date: Thu Aug 8 23:13:00 2019 +0100 Catch any errors in timezone data update thread. #793 commit d1def7743f01625a503d92bfa8e46e5f77a1a7ca Author: Paul Woolcock Date: Thu Aug 8 09:28:06 2019 +0100 Check if LogAs key already stored in Exception. Fixes #797 commit 026fad5940c0f0adec61ec6fcc3adb6a84264ee5 Author: Paul Woolcock Date: Wed Aug 7 22:40:19 2019 +0100 Still set API key if already using default. Resolves #793 commit e22b4141750e29d96de6cc8917b646067aefc2e8 Author: Paul Woolcock Date: Sun Nov 10 18:29:06 2019 +0000 Properly detect sync direction for TargetCalendar and SetEntries* options. #833 commit 416ffbd85cf32cb26bdcc165c5e9eb774ec6bff9 Author: Paul Woolcock Date: Sun Nov 10 17:02:12 2019 +0000 Only update colour if configured to. #858 commit 0d574dd13d207f42c8d5d2a0193e05e3342d0d8e Author: Paul Woolcock Date: Sun Nov 10 14:04:03 2019 +0000 Update bug_report.md commit 10501c9b2e319a943b0283ddce201bfccf118285 Author: Paul Woolcock Date: Sun Nov 10 14:03:34 2019 +0000 Update bug_report.md commit ba7f8d053226d110d139b5dae06e9551848d2132 Author: Paul Woolcock Date: Sun Nov 10 11:35:48 2019 +0000 Get UTCoffset() for current datetime, to take into account DST. Fixes #889 commit 1aa55c891e72362acecb5a25b577f4fb5b3fcfd9 Author: Paul Woolcock Date: Sun Nov 10 11:24:18 2019 +0000 Cater for recurrence end dates with no time element. #870 commit af2b63632fab86c7f0a0e1e211d56e38569c41fa Author: Paul Woolcock Date: Sun Nov 10 10:07:31 2019 +0000 Explicitly set encoding for CSV output to UTF8. Fixes #869 commit e61ea1645f8225117bf1213609f82c75eed2bb5f Author: Paul Woolcock Date: Sat Nov 9 12:44:57 2019 +0000 Remove 10-year sync range limit with personal API key. Resolves #873 commit d13da905ace1632c9941160e429c141d3edb41eb Author: Paul Woolcock Date: Mon Oct 28 22:51:47 2019 +0000 Update bug_report.md commit ddae4ce5896dc460d43d47dbd8b9086609b0f079 Author: Paul Woolcock Date: Wed Oct 23 13:51:57 2019 +0100 Update keyring.md commit 2bc2611b73bb74446cdc0cd737691db2e03b2fa6 Merge: fba7123 78ae5c0 Author: Paul Woolcock Date: Sat Oct 19 12:42:40 2019 +0100 v2.8.2 Merge branch 'release' of https://github.com/phw198/OutlookGoogleCalendarSync commit 78ae5c0d8c37e06129d0b1b96e63df12387043d2 Author: Paul Woolcock Date: Sat Oct 19 12:32:58 2019 +0100 v2.8.2 commit 0909e40c7b0c867e597079fde9b54b1bfc50e7d2 Merge: 5a32ce3 8faa769 Author: Paul Woolcock Date: Sat Oct 19 11:44:51 2019 +0100 Merge branch 'development' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit 5a32ce353fbcea7cf0b616461e252826db184a2c Merge: 0b3a019 c45a5e5 Author: Paul Woolcock Date: Sat Oct 19 10:44:10 2019 +0100 Merge branch 'issue-846' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #846 commit 0b3a019fa9046456ed72ed542ceefec50eb9ce3a Merge: e092bc2 b6736b5 Author: Paul Woolcock Date: Sat Oct 19 10:20:43 2019 +0100 Merge branch 'issue-165-title' of https://github.com/phw198/OutlookGoogleCalendarSync into release commit fba712322c0f0c7f040472bd18c88c6dbf46fa8e Author: Paul Woolcock Date: Sun Sep 29 23:18:52 2019 +0100 Update keyring.md commit 5be9a0a5c0d350315b1fd97be35dc2e1d32bfddf Author: Paul Woolcock Date: Sat Sep 28 19:31:56 2019 +0100 Extra logging. commit 8faa769bcdfa5ac48a4f059f7fe0d75bc3336862 Author: Paul Woolcock Date: Tue Sep 24 20:06:05 2019 +0100 Bring form to top after load. Only show form after Splash has gone. commit c45a5e501eb0dfc8628a982352deae71ba6cabce Author: Paul Woolcock Date: Tue Sep 24 20:06:05 2019 +0100 Bring form to top after load. Only show form after Splash has gone. commit 3385f3072d1aeaa6f7901c3e7967e6ad8185d9eb Author: Paul Woolcock Date: Mon Sep 23 22:55:47 2019 +0100 If MainForm not available, just show MessageBox without owner. Standard MessageBox after MainForm closed during shutdown. Fail early if MainForm has been disposed of. Abort any running sync on app termination. #846 commit 5923a0d417996250d7fff756af49d8c9dbf2b18e Author: Paul Woolcock Date: Sun Sep 22 22:13:22 2019 +0100 New OgcsMessageBox class - makes Main form owner of MessageBox. Also ensure Main form is displayed (restore and bring to front). #846 commit b6736b5b6ced6b64f95f38ebdf1b8bd6556c378e Author: Paul Woolcock Date: Sun Sep 22 10:20:54 2019 +0100 New /t argument for OGCS Title. Makes it clearer which settings an OGCS instance is using. #165 commit 11b24c6fe6886892192704dcf292aefa477aca13 Author: Paul Woolcock Date: Sun Sep 22 08:40:09 2019 +0100 Make getDefaultCalendar() x-thread safe. #754 commit bd8cce3524b1e940a4b0eea9ca2d69b710712fd0 Author: Paul Woolcock Date: Sat Sep 14 21:14:25 2019 +0100 Moved ErrorOccurred member to ErrorReporting class; reset if checkbox null state. Surface HTTP exception error codes in console. Option to disable telemetry. Closes #548 commit e092bc2586460c8802f13454f6a2b6009d1b8d60 Author: Paul Woolcock Date: Thu Sep 19 21:49:18 2019 +0100 commit 4053781c570606f300b7abcafd1da8349ab348b3 Author: Paul Woolcock Date: Mon Sep 16 22:16:51 2019 +0100 Don't try and update recurring series owned by another. Resolves #830 commit 378c93285626ef7bcb51b28fc03da072d04dd430 Author: Paul Woolcock Date: Sun Sep 15 11:17:45 2019 +0100 Only apply user-agent if using Custom proxy. #820 commit c3572e93c91c7a2719a3918eae28c7295fde9cc6 Merge: 487710d 5687d0e Author: Paul Woolcock Date: Sat Sep 14 21:01:15 2019 +0100 Merge branch 'issue-820' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #820 commit 487710d51234c56cb03723c584b4e91dfe0ff34f Author: Paul Woolcock Date: Fri Sep 13 00:22:50 2019 +0100 Native grpc DLLs updated. Fixes #841 commit d5ddf91b47866c243fe35bce2f7b12373e57ae85 Author: Paul Woolcock Date: Wed Sep 11 23:26:57 2019 +0100 Added question template commit 5d81c827d9ac0569778ef0597ded6998e3512144 Author: Paul Woolcock Date: Wed Sep 11 02:43:24 2019 +0100 Update issue templates commit 5687d0efe2d8dc5c2daabbff569faf59d38fbd7b Author: Paul Woolcock Date: Sun Sep 8 12:59:47 2019 +0100 New OgcsWebClient extension class to automatically set BrowserUserAgent. #820 commit 01b1eae9d0ec5fe0bf67fe1519066072615d6554 Author: Paul Woolcock Date: Sun Sep 8 12:25:16 2019 +0100 Use the BrowserUserAgent for all WebClient calls. Use proxy for Google Calendar service and Squirrel update. Perform test connection after setting proxy. #820 commit a5ab8051e278c38d844b507544c383e5339b7543 Author: Paul Woolcock Date: Wed Sep 4 03:46:38 2019 +0100 Update keyring.md commit 5ef4808decf06700d8dcdfb152795088cc838676 Author: Paul Woolcock Date: Sun Aug 11 20:13:21 2019 +0100 Improved feedback on API quota exhausted. commit 7337a72a9f816d8904345ef21bd1ed6b30c8d5b6 Merge: 1575213 9d72ba4 Author: Paul Woolcock Date: Sun Aug 11 12:43:51 2019 +0100 Merge branch 'issue-799' of https://github.com/phw198/OutlookGoogleCalendarSync into release Resolves #799 commit 9d72ba4720242ad40fdf10c138a34cac0592c607 Author: Paul Woolcock Date: Sat Aug 10 22:38:22 2019 +0100 Convert recurrence end date to local time. Retrieved Google's global calendar timezone. #799 commit 15752137dc41a56b933080a46460cf8d3bbab045 Author: Paul Woolcock Date: Thu Aug 8 23:13:00 2019 +0100 Catch any errors in timezone data update thread. #793 commit d1def7743f01625a503d92bfa8e46e5f77a1a7ca Author: Paul Woolcock Date: Thu Aug 8 09:28:06 2019 +0100 Check if LogAs key already stored in Exception. Fixes #797 commit 026fad5940c0f0adec61ec6fcc3adb6a84264ee5 Author: Paul Woolcock Date: Wed Aug 7 22:40:19 2019 +0100 Still set API key if already using default. Resolves #793 # Conflicts: # README.md # docs/Release Notes.md # docs/latest_zip_release.md # nuget-build.bat # src/OutlookGoogleCalendarSync/CalendarListEntry.cs # src/OutlookGoogleCalendarSync/Extensions/ColourPicker.cs # src/OutlookGoogleCalendarSync/Forms/ColourMap.Designer.cs # src/OutlookGoogleCalendarSync/Forms/ColourMap.cs # src/OutlookGoogleCalendarSync/Forms/MainForm.Designer.cs # src/OutlookGoogleCalendarSync/Forms/MainForm.cs # src/OutlookGoogleCalendarSync/Forms/MainForm.resx # src/OutlookGoogleCalendarSync/Forms/TimezoneMap.cs # src/OutlookGoogleCalendarSync/GoogleOgcs/Authenticator.cs # src/OutlookGoogleCalendarSync/GoogleOgcs/ErrorReporting.cs # src/OutlookGoogleCalendarSync/GoogleOgcs/EventColour.cs # src/OutlookGoogleCalendarSync/GoogleOgcs/GoogleCalendar.cs # src/OutlookGoogleCalendarSync/NotificationTray.cs # src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.csproj # src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.nuspec # src/OutlookGoogleCalendarSync/OutlookOgcs/ExplorerWatcher.cs # src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookCalendar.cs # src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookFactory.cs # src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookNew.cs # src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookOld.cs # src/OutlookGoogleCalendarSync/Program.cs # src/OutlookGoogleCalendarSync/Properties/AssemblyInfo.cs # src/OutlookGoogleCalendarSync/Recurrence.cs # src/OutlookGoogleCalendarSync/SettingsStore/Proxy.cs # src/OutlookGoogleCalendarSync/SettingsStore/Settings.cs # src/OutlookGoogleCalendarSync/Sync/Engine.cs # src/OutlookGoogleCalendarSync/Sync/Timer.cs # src/OutlookGoogleCalendarSync/Telemetry.cs # src/OutlookGoogleCalendarSync/Updater.cs # src/OutlookGoogleCalendarSync/app.config # src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Type.dll # src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Type.xml # src/OutlookGoogleCalendarSync/lib/Squirrel/SharpCompress.dll --- README.md | 14 +- docs/Release Notes.md | 12 + docs/latest_zip_release.md | 2 +- nuget-build.bat | 18 +- src/.editorconfig | 4 + src/OutlookGoogleCalendarSync.sln | 12 +- .../CalendarListEntry.cs | 45 +- .../Console/Console.cs | 11 +- .../Extensions/ColourPicker.cs | 11 +- .../Extensions/Exception.cs | 2 +- .../Forms/ErrorReporting.cs | 2 +- .../Forms/MainForm.Designer.cs | 14 + .../Forms/MainForm.cs | 96 +- src/OutlookGoogleCalendarSync/Forms/Social.cs | 27 +- src/OutlookGoogleCalendarSync/Forms/Splash.cs | 14 +- .../Forms/UpdateInfo.Designer.cs | 19 + .../Forms/UpdateInfo.cs | 11 +- .../GlobalSuppressions.cs | 9 + .../GoogleOgcs/Authenticator.cs | 4 +- .../GoogleOgcs/CustomProperty.cs | 2 +- .../GoogleOgcs/EventColour.cs | 6 +- .../GoogleOgcs/GoogleCalendar.cs | 77 +- src/OutlookGoogleCalendarSync/Helper.cs | 79 + .../NotificationTray.cs | 2 +- .../OutlookGoogleCalendarSync.csproj | 76 +- .../OutlookGoogleCalendarSync.nuspec | 24 +- .../OutlookOgcs/ExplorerWatcher.cs | 11 +- .../OutlookOgcs/OutlookCalendar.cs | 7 +- .../OutlookOgcs/OutlookFactory.cs | 7 +- src/OutlookGoogleCalendarSync/Program.cs | 31 +- .../Properties/AssemblyInfo.cs | 2 +- src/OutlookGoogleCalendarSync/Recurrence.cs | 9 +- .../SettingsStore/Proxy.cs | 6 +- src/OutlookGoogleCalendarSync/Updater.cs | 20 +- src/OutlookGoogleCalendarSync/XMLManager.cs | 7 +- src/OutlookGoogleCalendarSync/app.config | 30 +- .../lib/Google.Api.Gax.Grpc.dll | Bin 61440 -> 61952 bytes .../lib/Google.Api.Gax.Grpc.pdb | Bin 14716 -> 14780 bytes .../lib/Google.Api.Gax.Grpc.xml | 6 + .../lib/Google.Api.Gax.dll | Bin 67072 -> 70656 bytes .../lib/Google.Api.Gax.pdb | Bin 20316 -> 21928 bytes .../lib/Google.Api.Gax.xml | 1078 +- .../lib/Google.Apis.Auth.PlatformServices.dll | Bin 5120 -> 5120 bytes .../lib/Google.Apis.Auth.dll | Bin 113664 -> 161280 bytes .../lib/Google.Apis.Auth.pdb | Bin 29984 -> 44052 bytes .../lib/Google.Apis.Auth.xml | 1234 +- .../lib/Google.Apis.Calendar.v3.dll | Bin 93184 -> 93696 bytes .../lib/Google.Apis.Calendar.v3.pdb | Bin 33396 -> 33716 bytes .../lib/Google.Apis.Calendar.v3.xml | 2029 +- .../lib/Google.Apis.Core.dll | Bin 67072 -> 77312 bytes .../lib/Google.Apis.Core.pdb | Bin 20100 -> 24396 bytes .../lib/Google.Apis.Core.xml | 223 +- .../lib/Google.Apis.PlatformServices.dll | Bin 4608 -> 4608 bytes .../lib/Google.Apis.dll | Bin 72192 -> 80896 bytes .../lib/Google.Apis.pdb | Bin 17516 -> 21696 bytes .../lib/Google.Apis.xml | 201 +- .../lib/Google.Cloud.DevTools.Common.dll | Bin 0 -> 33792 bytes .../lib/Google.Cloud.DevTools.Common.pdb | Bin 0 -> 11144 bytes .../lib/Google.Cloud.DevTools.Common.xml | 389 + .../lib/Google.Cloud.Logging.Log4Net.dll | Bin 34304 -> 34304 bytes .../lib/Google.Cloud.Logging.Log4Net.pdb | Bin 8160 -> 8160 bytes .../lib/Google.Cloud.Logging.Type.dll | Bin 16384 -> 17408 bytes .../lib/Google.Cloud.Logging.Type.pdb | Bin 0 -> 3640 bytes .../lib/Google.Cloud.Logging.Type.xml | 14 +- .../lib/Google.Cloud.Logging.V2.dll | Bin 189952 -> 214016 bytes .../lib/Google.Cloud.Logging.V2.pdb | Bin 62060 -> 67772 bytes .../lib/Google.Cloud.Logging.V2.xml | 4863 ++- .../lib/Google.Protobuf.dll | Bin 332272 -> 401064 bytes .../lib/Google.Protobuf.pdb | Bin 120800 -> 159392 bytes .../lib/Google.Protobuf.xml | 4257 +- .../lib/Grpc.Core.dll | Bin 468464 -> 468464 bytes .../lib/Grpc.Core.pdb | Bin 53276 -> 53276 bytes .../lib/Newtonsoft.Json.dll | Bin 675752 -> 701992 bytes .../lib/Newtonsoft.Json.xml | 159 +- .../lib/NodaTime.dll | Bin 477184 -> 478208 bytes .../lib/NodaTime.pdb | Bin 122588 -> 122732 bytes .../lib/Squirrel/SharpCompress.dll | Bin 474112 -> 533504 bytes ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 16768 bytes ...System.Runtime.CompilerServices.Unsafe.xml | 200 + src/OutlookGoogleCalendarSync/lib/log4net.dll | Bin 276480 -> 270336 bytes src/OutlookGoogleCalendarSync/lib/log4net.xml | 32346 ++++++++-------- 81 files changed, 27076 insertions(+), 20646 deletions(-) create mode 100644 src/.editorconfig create mode 100644 src/OutlookGoogleCalendarSync/GlobalSuppressions.cs create mode 100644 src/OutlookGoogleCalendarSync/Helper.cs create mode 100644 src/OutlookGoogleCalendarSync/lib/Google.Cloud.DevTools.Common.dll create mode 100644 src/OutlookGoogleCalendarSync/lib/Google.Cloud.DevTools.Common.pdb create mode 100644 src/OutlookGoogleCalendarSync/lib/Google.Cloud.DevTools.Common.xml create mode 100644 src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Type.pdb create mode 100644 src/OutlookGoogleCalendarSync/lib/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 src/OutlookGoogleCalendarSync/lib/System.Runtime.CompilerServices.Unsafe.xml diff --git a/README.md b/README.md index a9fb7282..b2c7235b 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,20 @@ If you find a bug, [help squash it](https://github.com/phw198/OutlookGoogleCalen      ![](https://img.shields.io/github/downloads/phw198/outlookgooglecalendarsync/v2.9.0-beta/OutlookGoogleCalendarSync-2.9.0-beta-full.nupkg.svg)      ![](https://img.shields.io/github/downloads/phw198/outlookgooglecalendarsync/v2.9.0-beta/OutlookGoogleCalendarSync-2.9.0-beta-delta.nupkg.svg) +### Latest Alpha Release: [![Latest Release](https://img.shields.io/github/release/phw198/OutlookGoogleCalendarSync/all.svg)](https://github.com/phw198/OutlookGoogleCalendarSync/releases/tag/v2.9.1-alpha) [![Latest Release downloads](https://img.shields.io/github/downloads/phw198/outlookgooglecalendarsync/v2.9.1-alpha/total.svg)](https://github.com/phw198/OutlookGoogleCalendarSync/releases/v2.9.1-alpha) + +:floppy_disk: [Installer](https://github.com/phw198/OutlookGoogleCalendarSync/releases/download/v2.9.1-alpha/Setup.exe) +      [![](https://img.shields.io/github/downloads/phw198/outlookgooglecalendarsync/v2.9.1-alpha/Setup.exe.svg)](https://github.com/phw198/OutlookGoogleCalendarSync/releases/download/v2.9.1-alpha/Setup.exe) + +:package: [Portable ZIP](https://github.com/phw198/OutlookGoogleCalendarSync/releases/download/v2.9.1-alpha/Portable_OGCS_v2.9.1.zip) +      [![](https://img.shields.io/github/downloads/phw198/outlookgooglecalendarsync/v2.9.1-alpha/Portable_OGCS_v2.9.1.zip.svg)](https://github.com/phw198/OutlookGoogleCalendarSync/releases/download/v2.9.1-alpha/Portable_OGCS_v2.9.1.zip) + +:information_source: Upgrades to this release +      ![](https://img.shields.io/github/downloads/phw198/outlookgooglecalendarsync/v2.9.1-alpha/OutlookGoogleCalendarSync-2.9.1-alpha-full.nupkg.svg) +      ![](https://img.shields.io/github/downloads/phw198/outlookgooglecalendarsync/v2.9.1-alpha/OutlookGoogleCalendarSync-2.9.1-alpha-delta.nupkg.svg) + ## Functionality -- Supports all versions of Outlook from 2003 to 2019 64-bit! +- Supports all versions of Outlook from 2003 to 2019/Microsoft365 64-bit! - Installable and portable options - even runs from a USB thumbdrive - Synchronises items in any calendar folder, including those shared with you, from - Outlook :arrow_right: Google diff --git a/docs/Release Notes.md b/docs/Release Notes.md index 3ae0f9d4..8c56bc77 100644 --- a/docs/Release Notes.md +++ b/docs/Release Notes.md @@ -1,6 +1,18 @@ | Release Notes | |:---| +# v2.9.1.0 - Alpha + +**Enhancements** +- More reliable method to open browser +- Option to show and sync with hidden Google calendars +- Update of third-party DLL files + +**Bugfix** +- Don't alert for alpha releases if user not opted in +- Correctly sync Google "this and following events" recurring event changes +- Fix end time of all day recurring items in non-GMT timezone + # v2.9.0.0 - Beta **Enhancements** rolled in from Alpha releases diff --git a/docs/latest_zip_release.md b/docs/latest_zip_release.md index a8436c4f..3e5d2341 100644 --- a/docs/latest_zip_release.md +++ b/docs/latest_zip_release.md @@ -1,3 +1,3 @@ # Latest ZIP Release -**Alpha**: [v2.8.7.0](https://github.com/phw198/OutlookGoogleCalendarSync/releases/tag/v2.8.7-alpha) +**Alpha**: [v2.9.1.0](https://github.com/phw198/OutlookGoogleCalendarSync/releases/tag/v2.9.1-alpha) **Beta**: [v2.9.0.0](https://github.com/phw198/OutlookGoogleCalendarSync/releases/latest) diff --git a/nuget-build.bat b/nuget-build.bat index a9f74968..b9f4afdc 100644 --- a/nuget-build.bat +++ b/nuget-build.bat @@ -1,4 +1,4 @@ -set RELEASE=2.9.0-beta +set RELEASE=2.9.1-alpha cd src del Releases\OutlookGoogleCalendarSync-%RELEASE%-full.nupkg @@ -11,7 +11,7 @@ REM src\packages\squirrel.windows.1.9.0\tools\signtool.exe sign /n "Open Source REM In VS Package Manager REM PM> Install-Package squirrel.windows -Version 1.9.0 -REM PM> packages\squirrel.windows.1.9.0\tools\Squirrel --releasify OutlookGoogleCalendarSync.2.9.0-beta.nupkg --no-msi --loadingGif=..\docs\images\ogcs128x128-animated.gif +REM PM> packages\squirrel.windows.1.9.0\tools\Squirrel --releasify OutlookGoogleCalendarSync.2.9.1-alpha.nupkg --no-msi --loadingGif=..\docs\images\ogcs128x128-animated.gif REM Sign the Squirrel install executable REM src\packages\squirrel.windows.1.9.0\tools\signtool.exe sign /n "Open Source Developer, Paul Woolcock" /tr http://time.certum.pl/ /td sha256 /fd sha256 /v src\Releases\Setup.exe @@ -19,14 +19,14 @@ REM src\packages\squirrel.windows.1.9.0\tools\signtool.exe sign /n "Open Source REM Build ZIP PAUSE cd src\OutlookGoogleCalendarSync\bin\Release -"c:\Program Files\7-Zip\7z.exe" u Portable_OGCS_v2.8.7.zip -u- -up0q0r2x2y2z1w2!Portable_OGCS_v2.9.0.zip *.dll *.ps1 ErrorReportingTemplate.json logger.xml tzdb.nzd OutlookGoogleCalendarSync.exe OutlookGoogleCalendarSync.exe.config OutlookGoogleCalendarSync.pdb Console\* +"c:\Program Files\7-Zip\7z.exe" u Portable_OGCS_v2.9.0.zip -u- -up0q0r2x2y2z1w2!Portable_OGCS_v2.9.1.zip *.dll *.ps1 ErrorReportingTemplate.json logger.xml tzdb.nzd OutlookGoogleCalendarSync.exe OutlookGoogleCalendarSync.exe.config OutlookGoogleCalendarSync.pdb Console\* -"c:\Program Files\7-Zip\7z.exe" e -y Portable_OGCS_v2.8.7.zip Microsoft.Office.Interop.Outlook.DLL -"c:\Program Files\7-Zip\7z.exe" e -y Portable_OGCS_v2.8.7.zip stdole.dll -"c:\Program Files\7-Zip\7z.exe" e -y Portable_OGCS_v2.8.7.zip "Windows Defender SmartScreen Unblock.ps1" +"c:\Program Files\7-Zip\7z.exe" e -y Portable_OGCS_v2.9.0.zip Microsoft.Office.Interop.Outlook.DLL +"c:\Program Files\7-Zip\7z.exe" e -y Portable_OGCS_v2.9.0.zip stdole.dll +"c:\Program Files\7-Zip\7z.exe" e -y Portable_OGCS_v2.9.0.zip "Windows Defender SmartScreen Unblock.ps1" -"c:\Program Files\7-Zip\7z.exe" a Portable_OGCS_v2.9.0.zip Microsoft.Office.Interop.Outlook.DLL -"c:\Program Files\7-Zip\7z.exe" a Portable_OGCS_v2.9.0.zip stdole.dll -"c:\Program Files\7-Zip\7z.exe" a Portable_OGCS_v2.9.0.zip "Windows Defender SmartScreen Unblock.ps1" +"c:\Program Files\7-Zip\7z.exe" a Portable_OGCS_v2.9.1.zip Microsoft.Office.Interop.Outlook.DLL +"c:\Program Files\7-Zip\7z.exe" a Portable_OGCS_v2.9.1.zip stdole.dll +"c:\Program Files\7-Zip\7z.exe" a Portable_OGCS_v2.9.1.zip "Windows Defender SmartScreen Unblock.ps1" cd ..\..\..\.. diff --git a/src/.editorconfig b/src/.editorconfig new file mode 100644 index 00000000..72b9abca --- /dev/null +++ b/src/.editorconfig @@ -0,0 +1,4 @@ +[*.cs] + +# IDE0019: Use pattern matching +dotnet_diagnostic.IDE0019.severity = silent diff --git a/src/OutlookGoogleCalendarSync.sln b/src/OutlookGoogleCalendarSync.sln index a63afb24..842d5e18 100644 --- a/src/OutlookGoogleCalendarSync.sln +++ b/src/OutlookGoogleCalendarSync.sln @@ -1,10 +1,15 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Express 14 for Windows Desktop -VisualStudioVersion = 14.0.25420.1 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31205.134 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OutlookGoogleCalendarSync", "OutlookGoogleCalendarSync\OutlookGoogleCalendarSync.csproj", "{B35C9DB2-79BC-46A3-9BE4-BCE33BC3721E}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F7B396ED-BAE0-45D2-9D96-93EDDC1AABDB}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -25,4 +30,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {529DACE0-E757-481A-B5C5-2239DC8F6A08} + EndGlobalSection EndGlobal diff --git a/src/OutlookGoogleCalendarSync/CalendarListEntry.cs b/src/OutlookGoogleCalendarSync/CalendarListEntry.cs index 7866d2c0..141d66ca 100644 --- a/src/OutlookGoogleCalendarSync/CalendarListEntry.cs +++ b/src/OutlookGoogleCalendarSync/CalendarListEntry.cs @@ -1,5 +1,7 @@ using Google.Apis.Calendar.v3.Data; using Microsoft.Office.Interop.Outlook; +using System; +using System.Collections.Generic; using System.Runtime.Serialization; namespace OutlookGoogleCalendarSync { @@ -9,22 +11,33 @@ namespace OutlookGoogleCalendarSync { [DataContract] public class GoogleCalendarListEntry { + //Default values before loading from xml and attribute not yet serialized + [OnDeserializing] + void OnDeserializing(StreamingContext context) { + setDefaults(); + } + + private void setDefaults() { + this.colourId = "0"; + } + [DataMember] - private string Name { get; set; } + private String Name { get; set; } [DataMember] - public string Id { get; internal set; } + public String Id { get; internal set; } [DataMember] - private string AccessRole { get; set; } - private string colourId = "0"; + private String AccessRole { get; set; } + private String colourId = "0"; [DataMember] - public string ColourId { + public String ColourId { get { return colourId; } internal set { colourId = value; } } - private bool primary { get; set; } + private Boolean primary { get; set; } + public Boolean Hidden { get; protected set; } - private bool readOnly { + private Boolean readOnly { get { if (AccessRole == null) return false; return AccessRole.ToLower().Contains("reader"); @@ -39,11 +52,19 @@ public GoogleCalendarListEntry(CalendarListEntry init) { Id = init.Id; Name = init.SummaryOverride ?? init.Summary; primary = init.Primary ?? false; + Hidden = init.Hidden ?? false; ColourId = init.ColorId; } - public override string ToString() { - return (readOnly ? "[Read Only] " : "") + Name; + public override String ToString() { + List prefix = new List(); + if (readOnly) prefix.Add("Read Only"); + if (Hidden) prefix.Add("Hidden"); + + if (prefix.Count > 0) + return "[" + string.Join(",", prefix) + "] " + Name; + + return Name; } public string ToString(bool withId) { @@ -64,9 +85,9 @@ public string Sorted() { [DataContract] public class OutlookCalendarListEntry { [DataMember] - public string Name { get; internal set; } + public String Name { get; internal set; } [DataMember] - public string Id { get; internal set; } + public String Id { get; internal set; } public OutlookCalendarListEntry() { } @@ -76,7 +97,7 @@ public OutlookCalendarListEntry(MAPIFolder calendarFolder) { Name = calendarFolder.Name; } - public override string ToString() { + public override String ToString() { return Name + " (ID: " + Id + ")"; } } diff --git a/src/OutlookGoogleCalendarSync/Console/Console.cs b/src/OutlookGoogleCalendarSync/Console/Console.cs index 7011bb53..a08d5f34 100644 --- a/src/OutlookGoogleCalendarSync/Console/Console.cs +++ b/src/OutlookGoogleCalendarSync/Console/Console.cs @@ -423,13 +423,16 @@ public static void MuteClicks(Boolean mute) { log.Fine("Unmuting navigation click sounds."); soundRegKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(navigatingKeyPath + ".Default", false); if (soundRegKey != null) { - String defaultSound = soundRegKey.GetValue(defaultKeyName) as String; - Microsoft.Win32.Registry.CurrentUser.OpenSubKey(navigatingKeyPath + ".Current", true).SetValue(defaultKeyName, defaultSound); + String defaultSound = soundRegKey.GetValue(defaultKeyName, "", RegistryValueOptions.DoNotExpandEnvironmentNames) as String; + if (string.IsNullOrEmpty(defaultSound)) + log.Warn("No default navigation sound found to reinstate as current."); + else + Microsoft.Win32.Registry.CurrentUser.OpenSubKey(navigatingKeyPath + ".Current", true).SetValue(defaultKeyName, defaultSound); } else - log.Warn("Could not find default navigation sound."); + log.Warn("Could not find default navigation sound registry key."); } } catch (System.Exception ex) { - log.Error(ex.Message); + OGCSexception.Analyse(ex); } } #endregion diff --git a/src/OutlookGoogleCalendarSync/Extensions/ColourPicker.cs b/src/OutlookGoogleCalendarSync/Extensions/ColourPicker.cs index 53d97959..9f75062e 100644 --- a/src/OutlookGoogleCalendarSync/Extensions/ColourPicker.cs +++ b/src/OutlookGoogleCalendarSync/Extensions/ColourPicker.cs @@ -424,11 +424,12 @@ public static void DrawComboboxItemColour(ComboBox cbColour, Brush boxColour, St public static void DrawComboboxItemColour(Boolean comboEnabled, Brush boxColour, Brush textColour, String itemDescription, Graphics graphics, Rectangle cellBounds) { try { // Draw colour box - Rectangle colourbox = new Rectangle(); - colourbox.X = cellBounds.X + 2; - colourbox.Y = cellBounds.Y + 2; - colourbox.Height = cellBounds.Height - 5; - colourbox.Width = 18; + Rectangle colourbox = new Rectangle { + X = cellBounds.X + 2, + Y = cellBounds.Y + 2, + Height = cellBounds.Height - 5, + Width = 18 + }; graphics.FillRectangle(boxColour, colourbox); graphics.DrawRectangle(comboEnabled ? SystemPens.WindowText : SystemPens.InactiveBorder, colourbox); diff --git a/src/OutlookGoogleCalendarSync/Extensions/Exception.cs b/src/OutlookGoogleCalendarSync/Extensions/Exception.cs index 1caa6c34..f5b26c1f 100644 --- a/src/OutlookGoogleCalendarSync/Extensions/Exception.cs +++ b/src/OutlookGoogleCalendarSync/Extensions/Exception.cs @@ -52,7 +52,7 @@ public static String GetErrorCode(System.Exception ex, UInt32 mask = 0xFFFFFFFF) private static int getErrorCode(System.Exception ex) { try { - var w32ex = ex as Win32Exception; + Win32Exception w32ex = ex as Win32Exception; if (w32ex == null) { w32ex = ex.InnerException as Win32Exception; } diff --git a/src/OutlookGoogleCalendarSync/Forms/ErrorReporting.cs b/src/OutlookGoogleCalendarSync/Forms/ErrorReporting.cs index c472e2f0..5bc7e976 100644 --- a/src/OutlookGoogleCalendarSync/Forms/ErrorReporting.cs +++ b/src/OutlookGoogleCalendarSync/Forms/ErrorReporting.cs @@ -43,7 +43,7 @@ private void CloudLogging_Load(object sender, EventArgs e) { } private void btOpenLog_Click(object sender, EventArgs e) { - System.Diagnostics.Process.Start(logFile); + System.Diagnostics.Process.Start("explorer.exe", logFile); } private void CloudLogging_Shown(object sender, EventArgs e) { diff --git a/src/OutlookGoogleCalendarSync/Forms/MainForm.Designer.cs b/src/OutlookGoogleCalendarSync/Forms/MainForm.Designer.cs index 65d27640..0cad0735 100644 --- a/src/OutlookGoogleCalendarSync/Forms/MainForm.Designer.cs +++ b/src/OutlookGoogleCalendarSync/Forms/MainForm.Designer.cs @@ -262,6 +262,7 @@ private void InitializeComponent() { this.label2 = new System.Windows.Forms.Label(); this.trayIcon = new System.Windows.Forms.NotifyIcon(this.components); this.ddAvailabilty = new System.Windows.Forms.ComboBox(); + this.cbListHiddenGcals = new System.Windows.Forms.CheckBox(); this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -950,6 +951,7 @@ private void InitializeComponent() { // tabGoogle // this.tabGoogle.BackColor = System.Drawing.Color.White; + this.tabGoogle.Controls.Add(this.cbListHiddenGcals); this.tabGoogle.Controls.Add(this.cbExcludeDeclinedInvites); this.tabGoogle.Controls.Add(this.cbExcludeGoals); this.tabGoogle.Controls.Add(this.label7); @@ -3211,6 +3213,17 @@ private void InitializeComponent() { this.ddAvailabilty.ValueMember = "Key"; this.ddAvailabilty.SelectedIndexChanged += new System.EventHandler(this.ddAvailabilty_SelectedIndexChanged); // + // cbListHiddenGcals + // + this.cbListHiddenGcals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.cbListHiddenGcals.Location = new System.Drawing.Point(299, 197); + this.cbListHiddenGcals.Name = "cbListHiddenGcals"; + this.cbListHiddenGcals.Size = new System.Drawing.Size(79, 17); + this.cbListHiddenGcals.TabIndex = 30; + this.cbListHiddenGcals.Text = "List Hidden"; + this.cbListHiddenGcals.UseVisualStyleBackColor = true; + this.cbListHiddenGcals.CheckedChanged += new System.EventHandler(this.cbListHiddenGcals_CheckedChanged); + // // dataGridViewTextBoxColumn1 // this.dataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; @@ -3614,6 +3627,7 @@ private void InitializeComponent() { private System.Windows.Forms.CheckBox cbSingleCategoryOnly; private System.Windows.Forms.NumericUpDown tbMaxAttendees; private System.Windows.Forms.TabPage tabProfile; + private System.Windows.Forms.CheckBox cbListHiddenGcals; public System.Windows.Forms.ComboBox ddProfile; private System.Windows.Forms.Label label34; private Extensions.MenuButton btProfileAction; diff --git a/src/OutlookGoogleCalendarSync/Forms/MainForm.cs b/src/OutlookGoogleCalendarSync/Forms/MainForm.cs index 1e5d7561..77c37921 100644 --- a/src/OutlookGoogleCalendarSync/Forms/MainForm.cs +++ b/src/OutlookGoogleCalendarSync/Forms/MainForm.cs @@ -67,11 +67,12 @@ private void updateGUIsettings() { this.SuspendLayout(); #region Tooltips //set up tooltips for some controls - ToolTips = new ToolTip(); - ToolTips.AutoPopDelay = 10000; - ToolTips.InitialDelay = 500; - ToolTips.ReshowDelay = 200; - ToolTips.ShowAlways = true; + ToolTips = new ToolTip { + AutoPopDelay = 10000, + InitialDelay = 500, + ReshowDelay = 200, + ShowAlways = true + }; //Outlook ToolTips.SetToolTip(cbOutlookCalendars, @@ -84,6 +85,8 @@ private void updateGUIsettings() { "The Google calendar to synchonize with."); ToolTips.SetToolTip(btResetGCal, "Reset the Google account being used to synchonize with."); + ToolTips.SetToolTip(cbListHiddenGcals, + "Include hidden calendars in the above drop down."); //Settings ToolTips.SetToolTip(tbInterval, @@ -679,7 +682,7 @@ public void SyncNote(SyncNotes syncNote, Object extraData, Boolean show = true) if (delayHours == 0) { delay = (int)(DateTime.Now - ActiveCalendarProfile.LastSyncDate).TotalMinutes + " mins"; } - note = "Google's daily free calendar quota was exhausted!" + cr + + note = "Google's daily free calendar quota was exhausted!" + cr + " Previous successful sync was " + delay + " ago." + cr + " Get yourself guaranteed quota for just £1/month."; url = urlStub + "OGCS Premium for " + Settings.Instance.GaccountEmail; @@ -690,9 +693,10 @@ public void SyncNote(SyncNotes syncNote, Object extraData, Boolean show = true) SetControlPropertyThreadSafe(panelSyncNote, "Visible", show); } else { //Display the note for 3 hours after the quota has been renewed - System.ComponentModel.BackgroundWorker bwHideNote = new System.ComponentModel.BackgroundWorker(); - bwHideNote.WorkerReportsProgress = false; - bwHideNote.WorkerSupportsCancellation = true; + System.ComponentModel.BackgroundWorker bwHideNote = new System.ComponentModel.BackgroundWorker { + WorkerReportsProgress = false, + WorkerSupportsCancellation = true + }; bwHideNote.DoWork += new System.ComponentModel.DoWorkEventHandler( delegate (object o, System.ComponentModel.DoWorkEventArgs args) { try { @@ -774,33 +778,33 @@ protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { focusedPage = Forms.Main.Instance.tabApp.SelectedTab; if (focusedPage == null) { - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide"); return true; } if (focusedPage.Name == "tabPage_Sync") - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide/sync"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide/sync"); else if (focusedPage.Name == "tabPage_Settings") { if (this.tabAppSettings.SelectedTab.Name == "tabOutlook") - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide/outlook"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide/outlook"); else if (this.tabAppSettings.SelectedTab.Name == "tabGoogle") - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide/google"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide/google"); else if (this.tabAppSettings.SelectedTab.Name == "tabSyncOptions") - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide/syncoptions"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide/syncoptions"); else if (this.tabAppSettings.SelectedTab.Name == "tabAppBehaviour") - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide/appbehaviour"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide/appbehaviour"); else - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide/settings"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide/settings"); } else if (focusedPage.Name == "tabPage_Help") - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide/help"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide/help"); else if (focusedPage.Name == "tabPage_About") - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide/about"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide/about"); else - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/guide"); + Helper.OpenBrowser(Program.OgcsWebsite + "/guide"); return true; //This keystroke was handled, don't pass to the control with the focus @@ -921,7 +925,7 @@ private void tbSyncNote_Click(object sender, EventArgs e) { OgcsMessageBox.Show("Before renewing, please ensure you don't already have an active recurring annual payment set up in PayPal :-)", "Recurring payment already configured?", MessageBoxButtons.OK, MessageBoxIcon.Warning); } - System.Diagnostics.Process.Start(tbSyncNote.Tag.ToString()); + Helper.OpenBrowser(tbSyncNote.Tag.ToString()); } } } @@ -970,16 +974,17 @@ private void tabAppSettings_DrawItem(object sender, DrawItemEventArgs e) { e.Graphics.FillRectangle(Brushes.White, tabAppSettings_background); // Draw string and align the text. - StringFormat stringFlags = new StringFormat(); - stringFlags.Alignment = StringAlignment.Far; - stringFlags.LineAlignment = StringAlignment.Center; + StringFormat stringFlags = new StringFormat { + Alignment = StringAlignment.Far, + LineAlignment = StringAlignment.Center + }; g.DrawString(tabPage.Text, tabFont, textBrush, tabBounds, new StringFormat(stringFlags)); } private void Save_Click(object sender, EventArgs e) { if (tbStartupDelay.Value != Settings.Instance.StartupDelay) { Settings.Instance.StartupDelay = Convert.ToInt32(tbStartupDelay.Value); - if (cbStartOnStartup.Checked) Program.ManageStartupRegKey(true); + if (cbStartOnStartup.Checked) Program.ManageStartupRegKey(); } bSave.Enabled = false; bSave.Text = "Saving..."; @@ -1238,7 +1243,7 @@ private void btTestOutlookFilter_Click(object sender, EventArgs e) { } private void urlDateFormats_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - System.Diagnostics.Process.Start("https://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.90%29.aspx"); + Helper.OpenBrowser("https://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.90%29.aspx"); } #endregion #endregion @@ -1252,9 +1257,8 @@ private void GetMyGoogleCalendars_Click(object sender, EventArgs e) { log.Debug("Retrieving Google calendar list."); this.bGetGoogleCalendars.Text = "Cancel retrieval"; - List calendars = new List(); try { - calendars = GoogleOgcs.Calendar.Instance.GetCalendars(); + GoogleOgcs.Calendar.Instance.GetCalendars(); } catch (AggregateException agex) { OGCSexception.AnalyseAggregate(agex, false); } catch (Google.Apis.Auth.OAuth2.Responses.TokenResponseException ex) { @@ -1283,10 +1287,20 @@ private void GetMyGoogleCalendars_Click(object sender, EventArgs e) { } } } - if (calendars.Count > 0) { + + cbGoogleCalendars_BuildList(); + + bGetGoogleCalendars.Enabled = true; + cbGoogleCalendars.Enabled = true; + bGetGoogleCalendars.Text = "Retrieve Calendars"; + } + + private void cbGoogleCalendars_BuildList() { + if (GoogleOgcs.Calendar.Instance.CalendarList.Count > 0) { cbGoogleCalendars.Items.Clear(); - calendars.Sort((x, y) => (x.Sorted()).CompareTo(y.Sorted())); - foreach (GoogleCalendarListEntry mcle in calendars) { + GoogleOgcs.Calendar.Instance.CalendarList.Sort((x, y) => (x.Sorted()).CompareTo(y.Sorted())); + foreach (GoogleCalendarListEntry mcle in GoogleOgcs.Calendar.Instance.CalendarList) { + if (!cbListHiddenGcals.Checked && mcle.Hidden) continue; cbGoogleCalendars.Items.Add(mcle); if (cbGoogleCalendars.SelectedIndex == -1 && mcle.Id == ActiveCalendarProfile.UseGoogleCalendar?.Id) cbGoogleCalendars.SelectedItem = mcle; @@ -1297,10 +1311,6 @@ private void GetMyGoogleCalendars_Click(object sender, EventArgs e) { tbClientID.ReadOnly = true; tbClientSecret.ReadOnly = true; } - - bGetGoogleCalendars.Enabled = true; - cbGoogleCalendars.Enabled = true; - bGetGoogleCalendars.Text = "Retrieve Calendars"; } private void cbGoogleCalendars_SelectedIndexChanged(object sender, EventArgs e) { @@ -1335,6 +1345,10 @@ private void btResetGCal_Click(object sender, EventArgs e) { } } + private void cbListHiddenGcals_CheckedChanged(object sender, EventArgs e) { + cbGoogleCalendars_BuildList(); + } + private void cbExcludeDeclinedInvites_CheckedChanged(object sender, EventArgs e) { ActiveCalendarProfile.ExcludeDeclinedInvites = cbExcludeDeclinedInvites.Checked; } @@ -1357,7 +1371,7 @@ private void cbShowDeveloperOptions_CheckedChanged(object sender, EventArgs e) { } private void llAPIConsole_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - System.Diagnostics.Process.Start(llAPIConsole.Text); + Helper.OpenBrowser(llAPIConsole.Text); } private void tbClientID_TextChanged(object sender, EventArgs e) { @@ -1915,9 +1929,9 @@ private void btLogLocation_Click(object sender, EventArgs e) { log4net.Appender.IAppender[] appenders = log.Logger.Repository.GetAppenders(); String logFileLocation = (((log4net.Appender.FileAppender)appenders[0]).File); logFileLocation = logFileLocation.Substring(0, logFileLocation.LastIndexOf("\\")); - System.Diagnostics.Process.Start(@logFileLocation); + System.Diagnostics.Process.Start("explorer.exe", @logFileLocation); } catch { - System.Diagnostics.Process.Start(@Program.UserFilePath); + System.Diagnostics.Process.Start("explorer.exe", @Program.UserFilePath); } } @@ -1965,7 +1979,7 @@ private void rbProxyCustom_CheckedChanged(object sender, EventArgs e) { private void btCheckBrowserAgent_Click(object sender, EventArgs e) { try { - System.Diagnostics.Process.Start(Program.OgcsWebsite + "/browseruseragent"); + Helper.OpenBrowser(Program.OgcsWebsite + "/browseruseragent"); } catch (System.Exception ex) { OGCSexception.Analyse("Failed to check browser's user agent.", ex); } @@ -1991,7 +2005,7 @@ private void linkTShoot_loglevel_LinkClicked(object sender, LinkLabelLinkClicked } private void linkTShoot_issue_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - System.Diagnostics.Process.Start("https://github.com/phw198/OutlookGoogleCalendarSync/issues"); + Helper.OpenBrowser("https://github.com/phw198/OutlookGoogleCalendarSync/issues"); } private void linkTShoot_logfile_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { @@ -2005,13 +2019,13 @@ private void dgAbout_CellContentDoubleClick(object sender, DataGridViewCellEvent if (dgAbout[1, 1] == dgAbout.CurrentCell || dgAbout[1, 2] == dgAbout.CurrentCell) { String path = dgAbout.CurrentCell.Value.ToString(); path = path.Substring(0, path.LastIndexOf("\\")); - System.Diagnostics.Process.Start(path); + System.Diagnostics.Process.Start("explorer.exe", path); } } catch { } } private void lAboutURL_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - System.Diagnostics.Process.Start(lAboutURL.Text); + Helper.OpenBrowser(lAboutURL.Text); } private void pbDonate_Click(object sender, EventArgs e) { diff --git a/src/OutlookGoogleCalendarSync/Forms/Social.cs b/src/OutlookGoogleCalendarSync/Forms/Social.cs index 8c574c78..6fc308fd 100644 --- a/src/OutlookGoogleCalendarSync/Forms/Social.cs +++ b/src/OutlookGoogleCalendarSync/Forms/Social.cs @@ -6,12 +6,13 @@ public partial class Social : Form { private ToolTip toolTips; public Social() { InitializeComponent(); - - toolTips = new ToolTip(); - toolTips.AutoPopDelay = 10000; - toolTips.InitialDelay = 500; - toolTips.ReshowDelay = 200; - toolTips.ShowAlways = true; + + toolTips = new ToolTip { + AutoPopDelay = 10000, + InitialDelay = 500, + ReshowDelay = 200, + ShowAlways = true + }; if (Settings.Instance.UserIsBenefactor()) { pbDonate.Visible = false; lDonateTip.Visible = false; @@ -61,33 +62,33 @@ private void btSocialGitHub_Click(object sender, EventArgs e) { public static void Twitter_tweet() { string text = "I'm using this Outlook-Google calendar sync tool - completely #free and feature loaded. #recommend"; - System.Diagnostics.Process.Start("http://twitter.com/intent/tweet?&url=http://bit.ly/OGCalSync&text=" + urlEncode(text) + "&via=ogcalsync"); + Helper.OpenBrowser("http://twitter.com/intent/tweet?&url=http://bit.ly/OGCalSync&text=" + urlEncode(text) + "&via=ogcalsync"); } public static void Twitter_follow() { - System.Diagnostics.Process.Start("https://twitter.com/OGcalsync"); + Helper.OpenBrowser("https://twitter.com/OGcalsync"); } public static void Facebook_share() { - System.Diagnostics.Process.Start("http://www.facebook.com/sharer/sharer.php?u=http://bit.ly/OGCalSync"); + Helper.OpenBrowser("http://www.facebook.com/sharer/sharer.php?u=http://bit.ly/OGCalSync"); } public static void Facebook_like() { if (OgcsMessageBox.Show("Please click the 'Like' button on the project website, which will now open in your browser.", "Like on Facebook", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK) { - System.Diagnostics.Process.Start("https://phw198.github.io/OutlookGoogleCalendarSync"); + Helper.OpenBrowser("https://phw198.github.io/OutlookGoogleCalendarSync"); } } public static void RSS_follow() { - System.Diagnostics.Process.Start("https://github.com/phw198/OutlookGoogleCalendarSync/releases.atom"); + Helper.OpenBrowser("https://github.com/phw198/OutlookGoogleCalendarSync/releases.atom"); } public static void Linkedin_share() { string text = "I'm using this Outlook-Google calendar sync tool - completely #free and feature loaded. #recommend"; - System.Diagnostics.Process.Start("http://www.linkedin.com/shareArticle?mini=true&url=http://bit.ly/OGCalSync&summary=" + urlEncode(text)); + Helper.OpenBrowser("http://www.linkedin.com/shareArticle?mini=true&url=http://bit.ly/OGCalSync&summary=" + urlEncode(text)); } public static void GitHub() { - System.Diagnostics.Process.Start("https://github.com/phw198/OutlookGoogleCalendarSync/"); + Helper.OpenBrowser("https://github.com/phw198/OutlookGoogleCalendarSync/"); } private static String urlEncode(String text) { diff --git a/src/OutlookGoogleCalendarSync/Forms/Splash.cs b/src/OutlookGoogleCalendarSync/Forms/Splash.cs index d16bb02c..7b43ef78 100644 --- a/src/OutlookGoogleCalendarSync/Forms/Splash.cs +++ b/src/OutlookGoogleCalendarSync/Forms/Splash.cs @@ -22,8 +22,7 @@ public Splash() { public static void ShowMe() { if (splashThread == null) { - splashThread = new Thread(new ThreadStart(doShowSplash)); - splashThread.IsBackground = true; + splashThread = new Thread(new ThreadStart(doShowSplash)) { IsBackground = true }; splashThread.Start(); while (!initialised) { //Stop the program continuing until splash screen has finished accessing settings.xml @@ -55,11 +54,12 @@ private static void doShowSplash() { splash.cbHideSplash.Checked = hideSplash; if (subscribed == DateTime.Parse("01-Jan-2000") && !donor) { - ToolTips = new ToolTip(); - ToolTips.AutoPopDelay = 10000; - ToolTips.InitialDelay = 500; - ToolTips.ReshowDelay = 200; - ToolTips.ShowAlways = true; + ToolTips = new ToolTip { + AutoPopDelay = 10000, + InitialDelay = 500, + ReshowDelay = 200, + ShowAlways = true + }; ToolTips.SetToolTip(splash.cbHideSplash, "Donate £10 or more to enable this feature."); } else if (hideSplash) { diff --git a/src/OutlookGoogleCalendarSync/Forms/UpdateInfo.Designer.cs b/src/OutlookGoogleCalendarSync/Forms/UpdateInfo.Designer.cs index 9b5a73b0..d9014b72 100644 --- a/src/OutlookGoogleCalendarSync/Forms/UpdateInfo.Designer.cs +++ b/src/OutlookGoogleCalendarSync/Forms/UpdateInfo.Designer.cs @@ -32,6 +32,7 @@ private void InitializeComponent() { this.lTitle = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.btSkipVersion = new System.Windows.Forms.Button(); + this.llViewOnGithub = new System.Windows.Forms.LinkLabel(); this.wbPanel.SuspendLayout(); this.SuspendLayout(); // @@ -64,6 +65,7 @@ private void InitializeComponent() { | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.wbPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.wbPanel.Controls.Add(this.llViewOnGithub); this.wbPanel.Controls.Add(this.webBrowser); this.wbPanel.Location = new System.Drawing.Point(15, 80); this.wbPanel.Name = "wbPanel"; @@ -122,6 +124,21 @@ private void InitializeComponent() { this.btSkipVersion.UseVisualStyleBackColor = true; this.btSkipVersion.Click += new System.EventHandler(this.btSkipVersion_Click); // + // llViewOnGithub + // + this.llViewOnGithub.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.llViewOnGithub.AutoSize = true; + this.llViewOnGithub.BackColor = System.Drawing.Color.White; + this.llViewOnGithub.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.llViewOnGithub.Location = new System.Drawing.Point(121, 38); + this.llViewOnGithub.Name = "llViewOnGithub"; + this.llViewOnGithub.Size = new System.Drawing.Size(201, 20); + this.llViewOnGithub.TabIndex = 9; + this.llViewOnGithub.TabStop = true; + this.llViewOnGithub.Text = "View Release Notes Online"; + this.llViewOnGithub.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.llViewOnGithub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llViewOnGithub_LinkClicked); + // // UpdateInfo // this.AcceptButton = this.btUpgrade; @@ -144,6 +161,7 @@ private void InitializeComponent() { this.Text = "OGCS Update Available"; this.TopMost = true; this.wbPanel.ResumeLayout(false); + this.wbPanel.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -159,5 +177,6 @@ private void InitializeComponent() { private System.Windows.Forms.Label lTitle; private System.Windows.Forms.Label label1; private System.Windows.Forms.Button btSkipVersion; + private System.Windows.Forms.LinkLabel llViewOnGithub; } } \ No newline at end of file diff --git a/src/OutlookGoogleCalendarSync/Forms/UpdateInfo.cs b/src/OutlookGoogleCalendarSync/Forms/UpdateInfo.cs index bf73c3c8..a581b71d 100644 --- a/src/OutlookGoogleCalendarSync/Forms/UpdateInfo.cs +++ b/src/OutlookGoogleCalendarSync/Forms/UpdateInfo.cs @@ -33,13 +33,14 @@ public UpdateInfo(String releaseVersion, String releaseType, String html, out Di lSummary.Text = "Would you like to upgrade to v" + releaseVersion + " now?"; if (html == null) { - String githubReleaseNotes = "https://github.com/phw198/OutlookGoogleCalendarSync/blob/master/docs/Release%20Notes.md"; + String githubReleaseNotes = Program.OgcsWebsite + "/release-notes"; anchorRequested = "v" + releaseVersion.Replace(".", "") + "---" + releaseType; log.Debug("Browser anchor: " + anchorRequested); - webBrowser.DocumentCompleted += WebBrowser_DocumentCompleted; - webBrowser.Navigate(githubReleaseNotes); + llViewOnGithub.Tag = githubReleaseNotes +"#"+ anchorRequested; + llViewOnGithub.Visible = true; } else { + llViewOnGithub.Visible = false; html = html.TrimStart("< ![CDATA[".ToCharArray()); html = html.TrimEnd("]]>".ToCharArray()); html = htmlHead + html + ""; @@ -74,5 +75,9 @@ private void btSkipVersion_Click(object sender, EventArgs e) { Settings.Instance.SkipVersion = version; this.Close(); } + + private void llViewOnGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { + Helper.OpenBrowser(llViewOnGithub.Tag.ToString()); + } } } diff --git a/src/OutlookGoogleCalendarSync/GlobalSuppressions.cs b/src/OutlookGoogleCalendarSync/GlobalSuppressions.cs new file mode 100644 index 00000000..f1ba7ee6 --- /dev/null +++ b/src/OutlookGoogleCalendarSync/GlobalSuppressions.cs @@ -0,0 +1,9 @@ +// This file is used by Code Analysis to maintain SuppressMessage +// attributes that are applied to this project. +// Project-level suppressions either have no target or are given +// a specific target and scoped to a namespace, type, member, etc. + +using System.Diagnostics.CodeAnalysis; + +//[assembly: SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "", Scope = "member", Target = "~M:OutlookGoogleCalendarSync.GoogleOgcs.ApiKeyring.getKeyRing~System.Collections.Generic.List{OutlookGoogleCalendarSync.GoogleOgcs.ApiKey}")] +[assembly: SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Private members start with lowercase.", Scope = "namespaceanddescendants", Target = "~N:OutlookGoogleCalendarSync")] \ No newline at end of file diff --git a/src/OutlookGoogleCalendarSync/GoogleOgcs/Authenticator.cs b/src/OutlookGoogleCalendarSync/GoogleOgcs/Authenticator.cs index 186c4e4d..110e0c79 100644 --- a/src/OutlookGoogleCalendarSync/GoogleOgcs/Authenticator.cs +++ b/src/OutlookGoogleCalendarSync/GoogleOgcs/Authenticator.cs @@ -128,6 +128,8 @@ private async Task getAuthenticated(ClientSecrets cs) { Forms.Main.Instance.Console.UpdateWithError("Unable to authenticate with Google. The following error occurred:", ex); } + if (credential == null) return false; + if (credential.Token.AccessToken != "" && credential.Token.RefreshToken != "") { log.Info("Refresh and Access token successfully retrieved."); log.Debug("Access token expires " + credential.Token.IssuedUtc.AddSeconds(credential.Token.ExpiresInSeconds.Value).ToLocalTime().ToString()); @@ -253,7 +255,7 @@ private void getGaccountEmail(String accessToken) { } } } else { - Forms.Main.Instance.Console.UpdateWithError("", (ex.InnerException != null ? ex.InnerException : ex)); + Forms.Main.Instance.Console.UpdateWithError("", (ex.InnerException ?? ex)); throw; } } diff --git a/src/OutlookGoogleCalendarSync/GoogleOgcs/CustomProperty.cs b/src/OutlookGoogleCalendarSync/GoogleOgcs/CustomProperty.cs index 4bfcccb9..f07fea83 100644 --- a/src/OutlookGoogleCalendarSync/GoogleOgcs/CustomProperty.cs +++ b/src/OutlookGoogleCalendarSync/GoogleOgcs/CustomProperty.cs @@ -260,10 +260,10 @@ public static String Get(Event ev, MetadataId id) { public static void RemoveAll(ref Event ev) { Remove(ref ev, MetadataId.apiLimitHit); Remove(ref ev, MetadataId.forceSave); - Remove(ref ev, MetadataId.oCalendarId); Remove(ref ev, MetadataId.oEntryId); Remove(ref ev, MetadataId.ogcsModified); Remove(ref ev, MetadataId.oGlobalApptId); + Remove(ref ev, MetadataId.oCalendarId); //This one must be removed last } public static void Remove(ref Event ev, MetadataId id) { String key; diff --git a/src/OutlookGoogleCalendarSync/GoogleOgcs/EventColour.cs b/src/OutlookGoogleCalendarSync/GoogleOgcs/EventColour.cs index 476fb78b..ba13915d 100644 --- a/src/OutlookGoogleCalendarSync/GoogleOgcs/EventColour.cs +++ b/src/OutlookGoogleCalendarSync/GoogleOgcs/EventColour.cs @@ -176,9 +176,9 @@ public List ActivePalette { List activePalette = new List(); if (profile.UseGoogleCalendar == null) return activePalette; - if (profile.UseGoogleCalendar.ColourId == null) { - List gCals = GoogleOgcs.Calendar.Instance.GetCalendars(); - profile.UseGoogleCalendar.ColourId = gCals.Find(c => c.Id == profile.UseGoogleCalendar.Id).ColourId; + if (profile.UseGoogleCalendar.ColourId == "0") { + GoogleOgcs.Calendar.Instance.GetCalendars(); + profile.UseGoogleCalendar.ColourId = GoogleOgcs.Calendar.Instance.CalendarList.Find(c => c.Id == profile.UseGoogleCalendar.Id).ColourId; } //Palette currentCal = calendarPalette.Find(p => p.Id == Settings.Instance.UseGoogleCalendar.ColourId); diff --git a/src/OutlookGoogleCalendarSync/GoogleOgcs/GoogleCalendar.cs b/src/OutlookGoogleCalendarSync/GoogleOgcs/GoogleCalendar.cs index 8eeea846..704e5d4d 100644 --- a/src/OutlookGoogleCalendarSync/GoogleOgcs/GoogleCalendar.cs +++ b/src/OutlookGoogleCalendarSync/GoogleOgcs/GoogleCalendar.cs @@ -21,8 +21,9 @@ public class Calendar { public static Calendar Instance { get { if (instance == null) { - instance = new GoogleOgcs.Calendar(); - instance.Authenticator = new GoogleOgcs.Authenticator(); + instance = new GoogleOgcs.Calendar { + Authenticator = new GoogleOgcs.Authenticator() + }; instance.Authenticator.GetAuthenticated(); if (instance.Authenticator.Authenticated) instance.Authenticator.OgcsUserStatus(); @@ -94,7 +95,13 @@ public String SubscriptionInvite { public EphemeralProperties EphemeralProperties = new EphemeralProperties(); - public List GetCalendars() { + private List calendarList = new List(); + public List CalendarList { + get { return calendarList; } + protected set { calendarList = value; } + } + + public void GetCalendars() { CalendarList request = null; String pageToken = null; List result = new List(); @@ -105,6 +112,7 @@ public List GetCalendars() { try { CalendarListResource.ListRequest lr = Service.CalendarList.List(); lr.PageToken = pageToken; + lr.ShowHidden = true; request = lr.Execute(); break; } catch (Google.GoogleApiException ex) { @@ -140,7 +148,7 @@ public List GetCalendars() { } } while (pageToken != null); - return result; + this.CalendarList = result; } public List GetCalendarEntriesInRecurrence(String recurringEventId) { @@ -316,6 +324,12 @@ public List GetCalendarEntriesInRange(DateTime from, DateTime to) { result = result.Except(cancelled).ToList(); } + List endsOnSyncStart = result.Where(ev => (ev.End != null && (ev.End.DateTime ?? DateTime.Parse(ev.End.Date)) == from)).ToList(); + if (endsOnSyncStart.Count > 0) { + log.Debug(endsOnSyncStart.Count + " Google Events end at midnight of the sync start date window."); + result = result.Except(endsOnSyncStart).ToList(); + } + if (profile.ExcludeDeclinedInvites) { List declined = result.Where(ev => string.IsNullOrEmpty(ev.RecurringEventId) && ev.Attendees != null && ev.Attendees.Count(a => a.Self == true && a.ResponseStatus == "declined") == 1).ToList(); if (declined.Count > 0) { @@ -443,11 +457,11 @@ private Event createCalendarEntry(AppointmentItem ai) { if (OutlookOgcs.Calendar.Instance.IsOKtoSyncReminder(ai)) { if (ai.ReminderSet) { ev.Reminders.UseDefault = false; - EventReminder reminder = new EventReminder(); - reminder.Method = "popup"; - reminder.Minutes = ai.ReminderMinutesBeforeStart; - ev.Reminders.Overrides = new List(); - ev.Reminders.Overrides.Add(reminder); + EventReminder reminder = new EventReminder { + Method = "popup", + Minutes = ai.ReminderMinutesBeforeStart + }; + ev.Reminders.Overrides = new List { reminder }; } else { ev.Reminders.UseDefault = profile.UseGoogleDefaultReminder; } @@ -813,11 +827,11 @@ public Event UpdateCalendarEntry(AppointmentItem ai, Event ev, ref int itemModif if (ai.ReminderSet && OKtoSyncReminder) { sb.AppendLine("Reminder: nothing => " + ai.ReminderMinutesBeforeStart); ev.Reminders.UseDefault = false; - EventReminder newReminder = new EventReminder(); - newReminder.Method = "popup"; - newReminder.Minutes = ai.ReminderMinutesBeforeStart; - ev.Reminders.Overrides = new List(); - ev.Reminders.Overrides.Add(newReminder); + EventReminder newReminder = new EventReminder { + Method = "popup", + Minutes = ai.ReminderMinutesBeforeStart + }; + ev.Reminders.Overrides = new List { newReminder }; itemModified++; } else if (ev.Reminders.Overrides == null) { //No Google email reminders either @@ -1086,6 +1100,38 @@ public void ReclaimOrphanCalendarEntries(ref List gEvents, ref List google) { + //If a recurring series is altered for "this and following events", Google duplicates the original series. + //This includes the private ExtendedProperties, containing the Outlook IDs - not good, these need to be detected and removed + + log.Debug("Checking for Events that have been duplicated."); + + List duplicateCheck = google.Where(w => w.ExtendedProperties != null && w.ExtendedProperties.Private__ != null).ToList(); + duplicateCheck = duplicateCheck. + GroupBy(e => new { e.Created, oEntryId = e.ExtendedProperties?.Private__["outlook_EntryID"] }). + Where(g => g.Count() > 1). + SelectMany(x => x).ToList(); + if (duplicateCheck.Count() == 0) return; + + log.Warn(duplicateCheck.Count() + " Events found with same creation date and Outlook EntryID."); + duplicateCheck.Sort((x, y) => (x.CreatedRaw + ":"+ (x.Sequence ?? 0)).CompareTo(y.CreatedRaw + ":" + (y.Sequence ?? 0))); + //Skip the first one, the original + DateTime? lastSeenDuplicateSet = null; + for (int g = 0; g < duplicateCheck.Count(); g++) { + Event ev = duplicateCheck[g]; + if (lastSeenDuplicateSet == null || lastSeenDuplicateSet != ev.Created) { + lastSeenDuplicateSet = ev.Created; + continue; + } + log.Info("Cleaning duplicate metadata from: " + GetEventSummary(ev)); + google.Remove(ev); + CustomProperty.RemoveAll(ref ev); + this.UpdateCalendarEntry_save(ref ev); + google.Add(ev); + lastSeenDuplicateSet = ev.Created; + } + } + //New logic for comparing Outlook and Google events works as follows: // 1. Scan through both lists looking for duplicates // 2. Remove found duplicates from both lists @@ -1860,8 +1906,7 @@ public static ApiException HandleAPIlimits(ref Google.GoogleApiException ex, Eve /// private void throwApiException() { Google.GoogleApiException ex = new Google.GoogleApiException("Service", "limit 'Queries per day'"); - Google.Apis.Requests.SingleError err = new Google.Apis.Requests.SingleError(); - err.Reason = "rateLimitExceeded"; + Google.Apis.Requests.SingleError err = new Google.Apis.Requests.SingleError { Reason = "rateLimitExceeded" }; ex.Error = new Google.Apis.Requests.RequestError { Errors = new List() }; ex.Error.Errors.Add(err); throw ex; diff --git a/src/OutlookGoogleCalendarSync/Helper.cs b/src/OutlookGoogleCalendarSync/Helper.cs new file mode 100644 index 00000000..88dc6926 --- /dev/null +++ b/src/OutlookGoogleCalendarSync/Helper.cs @@ -0,0 +1,79 @@ +using log4net; +using Microsoft.Win32; +using System; + +namespace OutlookGoogleCalendarSync { + public class Helper { + private static readonly ILog log = LogManager.GetLogger(typeof(Helper)); + + public static void OpenBrowser(String url) { + try { + System.Diagnostics.Process.Start(url); + return; + } catch (System.Exception ex) { + OGCSexception.Analyse("Could not open default browser.", OGCSexception.LogAsFail(ex)); + } + + //OK, let's try and determine the default browser from the registry and then directly invoke it. Why is this so much work! + String browserPath = getDefaultBrowserPath(); + if (string.IsNullOrEmpty(browserPath)) + log.Error("No default browser discovered in the registry."); + else { + try { + log.Debug("Browsing using " + browserPath); + System.Diagnostics.Process.Start(browserPath, url); + } catch (System.Exception ex) { + log.Fail("Could not navigate to " + url); + log.Error("Could not open browser with " + browserPath, ex); + } + } + } + + private static String getDefaultBrowserPath() { + String urlAssociation = @"Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http"; + String browserPathKey = @"$BROWSER$\shell\open\command"; + + RegistryKey userChoiceKey = null; + + try { + //Read default browser path from userChoiceLKey + userChoiceKey = Registry.CurrentUser.OpenSubKey(urlAssociation + @"\UserChoice", false); + + //If user choice was not found, try machine default + if (userChoiceKey == null) { + //Read default browser path from Win XP registry key + var browserKey = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command", false); + + //If browser path wasn’t found, try Win Vista (and newer) registry key + if (browserKey == null) { + browserKey = Registry.CurrentUser.OpenSubKey(urlAssociation, false); + } + String path = CleanifyBrowserPath(browserKey.GetValue(null) as String); + browserKey.Close(); + return path; + + } else { + // user defined browser choice was found + String progId = (userChoiceKey.GetValue("ProgId").ToString()); + userChoiceKey.Close(); + + // now look up the path of the executable + String concreteBrowserKey = browserPathKey.Replace("$BROWSER$", progId); + var kp = Registry.ClassesRoot.OpenSubKey(concreteBrowserKey, false); + String browserPath = CleanifyBrowserPath(kp.GetValue(null) as String); + kp.Close(); + return browserPath; + } + } catch (System.Exception ex) { + OGCSexception.Analyse(ex); + return ""; + } + } + private static String CleanifyBrowserPath(String p) { + log.Debug("Cleaning: " + p); + String[] url = p.Split('"'); + String clean = url[1]; + return clean; + } + } +} diff --git a/src/OutlookGoogleCalendarSync/NotificationTray.cs b/src/OutlookGoogleCalendarSync/NotificationTray.cs index 351e841c..a4d55657 100644 --- a/src/OutlookGoogleCalendarSync/NotificationTray.cs +++ b/src/OutlookGoogleCalendarSync/NotificationTray.cs @@ -210,7 +210,7 @@ private void notifyIcon_BubbleClick(object sender, EventArgs e) { notifyIcon.Tag = ""; } else if (notifyIcon.Tag != null && notifyIcon.Tag.ToString() == "OOMsecurity") { - System.Diagnostics.Process.Start("https://github.com/phw198/OutlookGoogleCalendarSync/wiki/FAQs---Outlook-Security"); + Helper.OpenBrowser("https://github.com/phw198/OutlookGoogleCalendarSync/wiki/FAQs---Outlook-Security"); notifyIcon.Tag = ""; } else { diff --git a/src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.csproj b/src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.csproj index 125cf20e..b607a143 100644 --- a/src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.csproj +++ b/src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.csproj @@ -23,10 +23,12 @@ False OnBuildSuccess false + + publish\ - true + false Disk - true + false Background 1 Days @@ -40,11 +42,8 @@ 0 2.5.0.0 false - true true true - - x86 @@ -132,71 +131,58 @@ lib\Google.Api.CommonProtos.dll - True - + lib\Google.Api.Gax.dll - True - + lib\Google.Api.Gax.Grpc.dll - True - + lib\Google.Apis.dll - True - + lib\Google.Apis.Auth.dll - True - + lib\Google.Apis.Auth.PlatformServices.dll - True - + lib\Google.Apis.Calendar.v3.dll - True - + lib\Google.Apis.Core.dll - True - + lib\Google.Apis.PlatformServices.dll - True - + + lib\Google.Cloud.DevTools.Common.dll + + lib\Google.Cloud.Logging.Log4Net.dll - True - + lib\Google.Cloud.Logging.Type.dll - True - + lib\Google.Cloud.Logging.V2.dll - True - + lib\Google.Protobuf.dll - True lib\Grpc.Auth.dll - True lib\Grpc.Core.dll - True lib\Grpc.Core.Api.dll True - + lib\log4net.dll - True @@ -221,21 +207,18 @@ lib\Squirrel\Mono.Cecil.Rocks.dll True - + lib\Newtonsoft.Json.dll - True - + lib\NodaTime.dll - True lib\Squirrel\NuGet.Squirrel.dll True - + lib\Squirrel\SharpCompress.dll - True lib\Squirrel\Splat.dll @@ -246,6 +229,7 @@ lib\Squirrel\Squirrel.dll + @@ -256,6 +240,7 @@ + @@ -267,6 +252,9 @@ Component + + Component + Component @@ -274,9 +262,6 @@ Component - - Component - Form @@ -301,9 +286,11 @@ TimezoneMap.cs + + @@ -423,6 +410,9 @@ PreserveNewest + + .editorconfig + diff --git a/src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.nuspec b/src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.nuspec index c9755810..47b90386 100644 --- a/src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.nuspec +++ b/src/OutlookGoogleCalendarSync/OutlookGoogleCalendarSync.nuspec @@ -2,7 +2,7 @@ OutlookGoogleCalendarSync - 2.9.0-beta + 2.9.1-alpha Outlook Google Calendar Sync Paul Woolcock phw198 @@ -12,27 +12,19 @@ false Sync Outlook and Google calendars. -# What's New In v2.9.0? +# What's New In v2.9.1? <i class="em em-high_brightness"></i> **Enhancements** -- Customisable attendee limit for sync -- Option to exclude sync of declined Google invitiations -- Option to exclude sync of Google 'goals' -- Option to set exact type of availablity in Outlook (eg Out of Office) -- Provision for custom timezone mapping when required for meeting organiser in different timezone -- Ability to specify custom maps between Google colours and Outlook categories -- Additional colour sync setting to only sync single category to Outlook -- Retrieve all Google calendars, not just first 30 -- Order the Google calendar dropdown: primary, writeable, read-only -- Warn if read-only calendar selected for sync; deny for two-way sync -- Sync deletion in Outlook on first two-way sync (not second) -- New /t command line option to append custom text to application title -- Set Outlook organisers as having "accepted" in Google +- More reliable method to open browser +- Option to show and sync with hidden Google calendars +- Update of third-party DLL files <i class="em em-beetle"></i> **Bugfix** -- Numerous bug fixes +- Don't alert for alpha releases if user not opted in +- Correctly sync Google "this and following events" recurring event changes +- Fix end time of all day recurring items in non-GMT timezone Copyright 2021 Outlook Google Calendar Sync 2-way Two-way Bidirection diff --git a/src/OutlookGoogleCalendarSync/OutlookOgcs/ExplorerWatcher.cs b/src/OutlookGoogleCalendarSync/OutlookOgcs/ExplorerWatcher.cs index 8cbb1d52..5a7cfa04 100644 --- a/src/OutlookGoogleCalendarSync/OutlookOgcs/ExplorerWatcher.cs +++ b/src/OutlookGoogleCalendarSync/OutlookOgcs/ExplorerWatcher.cs @@ -60,6 +60,10 @@ private void beforeItemPaste(ref object ClipboardContent, MAPIFolder Target, ref log.Info("Item paste event caught."); try { Selection selection = ClipboardContent as Selection; + if (selection == null) { + log.Warn("Clipboard selection returned nothing."); + return; + } log.Debug("We've got " + selection.Count + " items selected for copy."); foreach (Object item in selection) { @@ -120,10 +124,11 @@ private Dictionary cleanIDs(ref AppointmentItem copiedAi) { String metaDataId = up.Name; log.Fine("Backing up " + metaDataId.ToString()); backupValue = up.Value; - if (!(backupValue == null || (backupValue is DateTime && (DateTime)backupValue == new DateTime()))) { - log.Fine("Property value: " + backupValue); - propertyBackup.Add(metaDataId, backupValue); + if (backupValue == null || (backupValue is DateTime time && time == new DateTime())) { + continue; } + log.Fine("Property value: " + backupValue); + propertyBackup.Add(metaDataId, backupValue); } finally { up = (UserProperty)OutlookOgcs.Calendar.ReleaseObject(up); } diff --git a/src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookCalendar.cs b/src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookCalendar.cs index bd4448bd..81167a9b 100644 --- a/src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookCalendar.cs +++ b/src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookCalendar.cs @@ -540,7 +540,8 @@ public Boolean UpdateCalendarEntry(ref AppointmentItem ai, Event ev, ref int ite if ((profile.AddColours || profile.SetEntriesColour) && ( ai.RecurrenceState == OlRecurrenceState.olApptMaster || - ai.RecurrenceState == OlRecurrenceState.olApptNotRecurring)) { + ai.RecurrenceState == OlRecurrenceState.olApptNotRecurring)) + { log.Fine("Comparing colours/categories"); List aiCategories = new List(); String oCategoryName = ""; @@ -1075,7 +1076,7 @@ public static void PoorlyOfficeInstall(System.Exception caughtException) { } else if (!comErrorInWiki(ex)) { OGCSexception.Analyse("COM error not in wiki.", ex); if (!alreadyRedirectedToWikiForComError.Contains(hResult)) { - System.Diagnostics.Process.Start("https://github.com/phw198/OutlookGoogleCalendarSync/wiki/FAQs---COM-Errors"); + Helper.OpenBrowser("https://github.com/phw198/OutlookGoogleCalendarSync/wiki/FAQs---COM-Errors"); alreadyRedirectedToWikiForComError.Add(hResult); } throw new ApplicationException("COM error " + hResult + " encountered.\r\n" + @@ -1175,7 +1176,7 @@ private static Boolean comErrorInWiki(System.Exception ex) { log.Warn(ex.Message); if (!alreadyRedirectedToWikiForComError.Contains(hResult)) { - System.Diagnostics.Process.Start(wikiUrl); + Helper.OpenBrowser(wikiUrl); alreadyRedirectedToWikiForComError.Add(hResult); } throw new ApplicationException("A problem was encountered with your Office install.\r\n" + diff --git a/src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookFactory.cs b/src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookFactory.cs index 8a8cb00f..a58c7400 100644 --- a/src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookFactory.cs +++ b/src/OutlookGoogleCalendarSync/OutlookOgcs/OutlookFactory.cs @@ -45,7 +45,12 @@ public enum OutlookVersionNames : Int16 { OutlookRetail = 26, Outlook2019Retail = 27, Outlook2019Volume = 28, - Personal2019Retail = 29 + Outlook2021Volume = 29, + Personal2019Retail = 30, + Standard2019Volume = 31, + Standard2021Volume = 32, + ProPlus2019Volume = 33, + ProPlus2021Volume = 34 } private const Boolean testing2003 = false; diff --git a/src/OutlookGoogleCalendarSync/Program.cs b/src/OutlookGoogleCalendarSync/Program.cs index 203116f9..8407067e 100644 --- a/src/OutlookGoogleCalendarSync/Program.cs +++ b/src/OutlookGoogleCalendarSync/Program.cs @@ -50,6 +50,7 @@ private static void Main(string[] args) { Application.SetCompatibleTextRenderingDefault(false); try { + setSecurityProtocols(); GoogleOgcs.ErrorReporting.Initialise(); RoamingProfileOGCS = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Application.ProductName); @@ -95,7 +96,7 @@ private static void Main(string[] args) { ((Settings.Instance.StartupDelay == 0) ? "setting a" : "increasing the") + " delay for OGCS on startup.", "Set a delay on startup", MessageBoxButtons.OK, MessageBoxIcon.Information); } - } else + } else if (!string.IsNullOrEmpty(aex.Message)) MessageBox.Show(aex.Message, "Application terminated", MessageBoxButtons.OK, MessageBoxIcon.Error); log.Warn("OGCS has crashed out."); @@ -267,7 +268,7 @@ private static void purgeLogFiles(Int16 retention) { #region Startup Registry Key private static String startupKeyPath = @"Software\Microsoft\Windows\CurrentVersion\Run"; - public static void ManageStartupRegKey(Boolean recreate = false) { + public static void ManageStartupRegKey() { //Check for legacy Startup menu shortcut <=v2.1.4 Boolean startupConfigExists = Program.CheckShortcut(Environment.SpecialFolder.Startup); if (startupConfigExists) @@ -275,13 +276,12 @@ public static void ManageStartupRegKey(Boolean recreate = false) { startupConfigExists = checkRegKey(); - if (Settings.Instance.StartOnStartup && !startupConfigExists) - addRegKey(); - else if (!Settings.Instance.StartOnStartup && startupConfigExists) - removeRegKey(); - else if (startupConfigExists && recreate) { - log.Debug("Forcing update of startup registry key."); + if (Settings.Instance.StartOnStartup) { + if (startupConfigExists) log.Debug("Forcing update of startup registry key."); addRegKey(); + } else { + if (startupConfigExists) removeRegKey(); + else log.Debug("No startup registry key to remove."); } } @@ -450,14 +450,14 @@ private static void isNewVersion(Boolean isSquirrelInstall) { if (settingsVersion != Application.ProductVersion) { log.Info("New version detected - upgraded from " + settingsVersion + " to " + Application.ProductVersion); try { - Program.ManageStartupRegKey(recreate: true); + Program.ManageStartupRegKey(); } catch (System.Exception ex) { if (ex is System.Security.SecurityException) OGCSexception.LogAsFail(ref ex); //User doesn't have rights to access registry OGCSexception.Analyse("Failed accessing registry for startup key.", ex); } Settings.Instance.Version = Application.ProductVersion; if (Application.ProductVersion.EndsWith(".0")) { //Release notes not updated for hotfixes. - System.Diagnostics.Process.Start(OgcsWebsite + "/release-notes.html"); + Helper.OpenBrowser(OgcsWebsite + "/release-notes.html"); if (isSquirrelInstall) Telemetry.Send(Analytics.Category.squirrel, Analytics.Action.upgrade, "from=" + settingsVersion + ";to=" + Application.ProductVersion); } } @@ -477,7 +477,7 @@ private static void isNewVersion(Boolean isSquirrelInstall) { OgcsMessageBox.Show("A suspected improper install location has been detected.\r\n" + "Click 'OK' for further details.", "Improper Install Location", MessageBoxButtons.OK, MessageBoxIcon.Warning); - System.Diagnostics.Process.Start("https://github.com/phw198/OutlookGoogleCalendarSync/issues/265"); + Helper.OpenBrowser("https://github.com/phw198/OutlookGoogleCalendarSync/issues/265"); } } } catch (System.Exception ex) { @@ -499,7 +499,7 @@ private static Boolean isCLIstartup() { } public static void Donate() { - System.Diagnostics.Process.Start("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=44DUQ7UT6WE2C&item_name=Outlook Google Calendar Sync from " + Settings.Instance.GaccountEmail); + Helper.OpenBrowser("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=44DUQ7UT6WE2C&item_name=Outlook Google Calendar Sync from " + Settings.Instance.GaccountEmail); } /// @@ -532,5 +532,12 @@ public static string MaskFilePath(String path) { } else return path; } + + private static void setSecurityProtocols() { + //Enable TSL1.1,1.2 + System.Net.ServicePointManager.SecurityProtocol |= System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12; + //Disable SSL3? + //System.Net.ServicePointManager.SecurityProtocol &= ~System.Net.SecurityProtocolType.Ssl3; + } } } \ No newline at end of file diff --git a/src/OutlookGoogleCalendarSync/Properties/AssemblyInfo.cs b/src/OutlookGoogleCalendarSync/Properties/AssemblyInfo.cs index a2d5e6e8..9518b2bc 100644 --- a/src/OutlookGoogleCalendarSync/Properties/AssemblyInfo.cs +++ b/src/OutlookGoogleCalendarSync/Properties/AssemblyInfo.cs @@ -28,6 +28,6 @@ // You can specify all the values or you can use the default the Revision and // Build Numbers by using the '*' as shown below: [assembly: AssemblyVersion("2.9.*")] -[assembly: AssemblyFileVersion("2.9.0.0")] +[assembly: AssemblyFileVersion("2.9.1.0")] [assembly: AssemblyMetadata("SquirrelAwareVersion", "1")] \ No newline at end of file diff --git a/src/OutlookGoogleCalendarSync/Recurrence.cs b/src/OutlookGoogleCalendarSync/Recurrence.cs index a3fda83d..03a772b6 100644 --- a/src/OutlookGoogleCalendarSync/Recurrence.cs +++ b/src/OutlookGoogleCalendarSync/Recurrence.cs @@ -33,8 +33,13 @@ public List BuildGooglePattern(AppointmentItem ai, Event ev) { RecurrencePattern rp = null; try { rp = ai.GetRecurrencePattern(); - DateTime localEnd = rp.PatternEndDate + ai.EndInEndTimeZone.TimeOfDay; - DateTime utcEnd = TimeZoneInfo.ConvertTimeToUtc(localEnd, TimeZoneInfo.FindSystemTimeZoneById(ai.EndTimeZone.ID)); + DateTime utcEnd; + if (ai.AllDayEvent) + utcEnd = rp.PatternEndDate; + else { + DateTime localEnd = rp.PatternEndDate + ai.EndInEndTimeZone.TimeOfDay; + utcEnd = TimeZoneInfo.ConvertTimeToUtc(localEnd, TimeZoneInfo.FindSystemTimeZoneById(ai.EndTimeZone.ID)); + } gPattern.Add("RRULE:" + buildRrule(rp, utcEnd)); } finally { rp = (RecurrencePattern)OutlookOgcs.Calendar.ReleaseObject(rp); diff --git a/src/OutlookGoogleCalendarSync/SettingsStore/Proxy.cs b/src/OutlookGoogleCalendarSync/SettingsStore/Proxy.cs index 3f1fdf90..f92ed3c8 100644 --- a/src/OutlookGoogleCalendarSync/SettingsStore/Proxy.cs +++ b/src/OutlookGoogleCalendarSync/SettingsStore/Proxy.cs @@ -14,9 +14,6 @@ public class Proxy { private static readonly ILog log = LogManager.GetLogger(typeof(Proxy)); public Proxy() { - //Turn on additional new protocols - System.Net.ServicePointManager.SecurityProtocol |= System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12; - setDefaults(); } @@ -67,8 +64,7 @@ public void Configure() { } else if (Type == "Custom") { log.Info("Setting custom proxy."); - WebProxy wp = new WebProxy(); - wp.Address = new System.Uri(string.Format("http://{0}:{1}", ServerName, Port)); + WebProxy wp = new WebProxy { Address = new System.Uri(string.Format("http://{0}:{1}", ServerName, Port)) }; log.Debug("Using " + wp.Address); wp.BypassProxyOnLocal = true; if (AuthenticationRequired && !string.IsNullOrEmpty(UserName) && !string.IsNullOrEmpty(Password)) { diff --git a/src/OutlookGoogleCalendarSync/Updater.cs b/src/OutlookGoogleCalendarSync/Updater.cs index 12e63202..d06f48b3 100644 --- a/src/OutlookGoogleCalendarSync/Updater.cs +++ b/src/OutlookGoogleCalendarSync/Updater.cs @@ -64,7 +64,7 @@ public async void CheckForUpdate(Button updateButton = null) { } catch (ApplicationException ex) { log.Error(ex.Message + " " + ex.InnerException.Message); if (OgcsMessageBox.Show("The upgrade failed.\nWould you like to get the latest version from the project website manually?", "Upgrade Failed", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes) { - System.Diagnostics.Process.Start(Program.OgcsWebsite); + Helper.OpenBrowser(Program.OgcsWebsite); } } catch (System.Exception ex) { @@ -109,7 +109,9 @@ private async Task githubCheck() { updateManager = new Squirrel.UpdateManager(nonGitHubReleaseUri, "OutlookGoogleCalendarSync", installRootDir); UpdateInfo updates = await updateManager.CheckForUpdate(); - if (updates.ReleasesToApply.Any()) { + if ((Settings.Instance.AlphaReleases && updates.ReleasesToApply.Any()) || + updates.ReleasesToApply.Any(r => r.Version.SpecialVersion != "alpha")) { + if (updates.CurrentlyInstalledVersion != null) log.Info("Currently installed version: " + updates.CurrentlyInstalledVersion.Version.ToString()); log.Info("Found " + updates.ReleasesToApply.Count() + " newer releases available."); @@ -140,7 +142,8 @@ private async Task githubCheck() { new Extensions.OgcsWebClient().DownloadFile(nupkgUrl, localFile); log.Debug("Download complete."); } catch (System.Exception ex) { - OGCSexception.Analyse("Failed downloading release file for " + update.Version, ex); + OGCSexception.Analyse("Failed downloading release file " + update.Filename + " for " + update.Version, ex); + ex.Data.Add("analyticsLabel", "from=" + Application.ProductVersion + ";download_file=" + update.Filename + ";" + ex.Message); throw new ApplicationException("Failed upgrading OGCS.", ex); } } @@ -316,7 +319,7 @@ private static void onAppUninstall(Version version) { MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { log.Debug("User opted to give feedback."); Telemetry.Send(Analytics.Category.squirrel, Analytics.Action.uninstall, Application.ProductVersion + "-feedback"); - System.Diagnostics.Process.Start("https://docs.google.com/forms/d/e/1FAIpQLSfRWYFdgyfbFJBMQ0dz14patu195KSKxdLj8lpWvLtZn-GArw/viewform?entry.1161230174=v" + Application.ProductVersion); + Helper.OpenBrowser("https://docs.google.com/forms/d/e/1FAIpQLSfRWYFdgyfbFJBMQ0dz14patu195KSKxdLj8lpWvLtZn-GArw/viewform?entry.1161230174=v" + Application.ProductVersion); } else { log.Debug("User opted not to give feedback."); } @@ -368,9 +371,10 @@ private static void clickOnceUninstallError(System.Exception ex) { #region ZIP private void zipChecker() { - BackgroundWorker bwUpdater = new BackgroundWorker(); - bwUpdater.WorkerReportsProgress = false; - bwUpdater.WorkerSupportsCancellation = false; + BackgroundWorker bwUpdater = new BackgroundWorker { + WorkerReportsProgress = false, + WorkerSupportsCancellation = false + }; bwUpdater.DoWork += new DoWorkEventHandler(checkForZip); bwUpdater.RunWorkerCompleted += new RunWorkerCompletedEventHandler(checkForZip_completed); bwUpdater.RunWorkerAsync(); @@ -421,7 +425,7 @@ private void checkForZip(object sender, DoWorkEventArgs e) { log.Info("New " + releaseType + " ZIP release found: " + releaseVersion); DialogResult dr = OgcsMessageBox.Show("A new " + releaseType + " release is available for OGCS. Would you like to upgrade to v" + releaseVersion + "?", "New OGCS Release Available", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { - System.Diagnostics.Process.Start(releaseURL); + Helper.OpenBrowser(releaseURL); } } else { log.Info("Already on latest ZIP release."); diff --git a/src/OutlookGoogleCalendarSync/XMLManager.cs b/src/OutlookGoogleCalendarSync/XMLManager.cs index 154c38ad..b5471205 100644 --- a/src/OutlookGoogleCalendarSync/XMLManager.cs +++ b/src/OutlookGoogleCalendarSync/XMLManager.cs @@ -21,9 +21,10 @@ public static class XMLManager { /// The object that is to be serialized/exported to XML. /// The filename of the xml file to be written. public static void Export(Object obj, string filename) { - XmlTextWriter writer = new XmlTextWriter(filename, null); - writer.Formatting = Formatting.Indented; - writer.Indentation = 4; + XmlTextWriter writer = new XmlTextWriter(filename, null) { + Formatting = Formatting.Indented, + Indentation = 4 + }; new DataContractSerializer(obj.GetType()).WriteObject(writer, obj); writer.Close(); } diff --git a/src/OutlookGoogleCalendarSync/app.config b/src/OutlookGoogleCalendarSync/app.config index 6e40e52a..5dc4042d 100644 --- a/src/OutlookGoogleCalendarSync/app.config +++ b/src/OutlookGoogleCalendarSync/app.config @@ -11,27 +11,27 @@ - + - + - + - + - + - + @@ -43,15 +43,27 @@ - + - + - + + + + + + + + + + + + + diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Api.Gax.Grpc.dll b/src/OutlookGoogleCalendarSync/lib/Google.Api.Gax.Grpc.dll index 83f11e6dc2067d2dabdf35128c65e9d886df2990..b1269551541b78ae07c46e25982e295092e33d0c 100644 GIT binary patch delta 24200 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 delta 23690 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 aq0abCI?;nrXWTqp-z6H%j##7KNc4X%g|Dpu diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Api.Gax.Grpc.xml b/src/OutlookGoogleCalendarSync/lib/Google.Api.Gax.Grpc.xml index adae8f8c..913f6428 100644 --- a/src/OutlookGoogleCalendarSync/lib/Google.Api.Gax.Grpc.xml +++ b/src/OutlookGoogleCalendarSync/lib/Google.Api.Gax.Grpc.xml @@ -1355,6 +1355,12 @@ The port to connect to, in the range 1 to 65535 inclusive. + + + Creates a new endpoint with the given host, using a port of 443. + + The host name to connect to. Must not be null or empty. + Creates a new endpoint with the given host and port. diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Api.Gax.dll b/src/OutlookGoogleCalendarSync/lib/Google.Api.Gax.dll index 4c0f992a3dc9264f7ec2dc2e655f76ef9226cb2b..4368322e0eb3e8bcd4a0a14e798c625d406982e3 100644 GIT binary patch literal 70656 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 + + + Google Cloud Run details. + + + + + Builds a from the given metadata + and Cloud Run environment variables. + The metadata is normally retrieved from the GCE metadata server. + + JSON metadata, normally retrieved from the GCE metadata server. + Must not be null. + A populated if the metadata represents and GCE instance; + null otherwise. + + + + Constructs details of a Google Cloud Run service revision. + + JSON metadata, normally retrieved from the GCE metadata server. + Must not be null. + The project ID. Must not be null. + The zone in which the service code is running. Must not be null. + The name of the service. Must not be null. + The name of the revision. Must not be null. + The name of the configuration. Must not be null. + + + + The full JSON string retrieved from the metadata server. This is never null. + + + + + The Project ID under which this service is running. This is never null. + + + + + The zone of the service, e.g. "us-central1-1". This is never null. + + + + + The region part of the zone. For example, a zone of "us-central1-1" has a region + of "us-central1". + + + + + The name of the Cloud Run service being run. This is never null. + + + + + The name of the Cloud Run revision being run. This is never null. + + + + + The name of the Cloud Run configuration being run. This is never null. + + + + + Provides cached instances of empty dictionaries. @@ -152,6 +219,45 @@ null if there is no specified limit. + + + Google App Engine details. + + + + + Construct details of Google App Engine + + The Project ID associated with your application, + which is visible in the Google Cloud Platform Console. Must not be null. + The name of the current instance. Must not be null. + The service name specified in your application's app.yaml file, + or if no service name is specified, it is set to default. Must not be null. + The version label of the current application. Must not be null. + + + + The Project ID associated with your application, which is visible in the Google Cloud Platform Console. + + + + + The name of the current instance. + + + + + The service name specified in your application's app.yaml file, or if no service name is specified, it is set to default. + + + + + The version label of the current application. + + + + + Convenience methods to simplify implementing equality comparisons and hash codes. @@ -463,156 +569,361 @@ The value to check. The name of the parameter whose value is being tested. - + - An abstraction of the ability to determine the current date and time. + Google Compute Engine details. - - This interface primarily exists for testing purposes, allowing test code to - isolate itself from the system clock. In production, the - implementation is by far the most likely one to be used, and the only one provided - within this library. Code that uses a clock should generally be designed to allow it - to be optionally specified, defaulting to . - - + - Returns the current date and time in UTC, with a kind of . + Builds a from the given metadata. + This metadata is normally retrieved from the GCE metadata server. - A representing the current date and time in UTC. + JSON metadata, normally retrieved from the GCE metadata server. + Must not be null. + A populated if the metadata represents and GCE instance; + null otherwise. - + - A resource name. + Construct details of Google Compute Engine + The full JSON string retrieved from the metadata server. Must not be null. + The project ID. Must not be null. + The instance ID. Must not be null. + The zone name. Must not be null. + If this value is in the format projects/<project-number>/zones/<zone-name> + then will return the <zone-name> part of this value. + If not, will throw . + If this value has been retrived from Google Compute Engine, the it's format will be the one + described above. - + - The kind of resource name. + The full JSON string retrieved from the metadata server. This is never null. - + - The string representation of the resource name. + The Project ID under which this GCE instance is running. This is never null. - The string representation of the resource name. - + - Abstraction of scheduler-like operations, used for testability. + The Instance ID of the GCE instance on which this is running. This is never null. - - Note that this is different to , which is really involved - with assigning tasks to threads rather than any sort of delay. - - + - Returns a task which will complete after the given delay. Whether the returned - awaitable is configured to capture the current context or not is implementation-specific. - (A test implementation may capture the current context to enable reliable testing.) + The zone where this GCE instance is running. This is never null. + This will be in the format projects/<project-number>/zones/<zone-name> + id the value has been retrieved from Google Compute Engine. - Time to delay for. Must not be negative. - The cancellation token that will be checked prior to completing the returned task. - A task which will complete after the given delay. - + - Extension methods for . + The zone name where this GCE instance is running. + If is in the format projects/<project-number>/zones/<zone-name> + this value will be the <zone-name> part in . + If is in a different format then this getting the value of this property will + throw . - + + + + - Simulates a synchronous delay by calling on - , and unwrapping any exceptions generated (typically cancellation). + Google Container (Kubernetes) Engine details. - The scheduler to use for the sleep operation. - Time to sleep for. Must not be negative. - The cancellation token that will be watched during the sleep operation. - The cancellation token was cancelled during the sleep. - + - Thrown when an attempt is made to parse invalid JSON, e.g. using - a non-string property key, or including a redundant comma. + Data from the Kubernetes API - + - Utility class for generating JSON. This class doesn't perform much in the way of validity - checks - that's left as the responsibility of the caller. However, it allows values and properties - to be written in a simple, chainable way, without the caller needing to worry about adding commas. + The Kubernetes pod name - + - The JSON representation of the first 160 characters of Unicode. - Empty strings are replaced by the static constructor. + The Kubernetes namespace name - + - Constructs a new instance using the specified . + JSON from https://kubernetes/api/v1/namespaces/{namespace} - The to append to. Must not be null. - + - Constructs a new instance with a new . + JSON from https://kubernetes/api/v1/namespaces/{namespace}/pods/{pod-name} - + - Writes the start of an object to the builder. + Lines from /proc/self/mountinfo - A reference to the same the method was called on, for chaining. - + - Writes the start of an array to the builder. + Builds a from the given metadata. + This metadata is normally retrieved from the GCE metadata server. - A reference to the same the method was called on, for chaining. + JSON metadata, normally retrieved from the GCE metadata server. + A populated if the metadata represents and GKE instance; + null otherwise. - + - Writes the end of an array to the builder. + Builds a from the given metadata and kubernetes data. + The metadata is normally retrieved from the GCE metadata server. + The kubernetes data is normally retrieved using the kubernetes API. + This method attempts to return as much information as it is present on + and but will return for + properties whose corresponding information is corrupt or missing in + or . - A reference to the same the method was called on, for chaining. + JSON metadata, normally retrieved from the GCE metadata server. + Must not be null. + Kubernetes data, normally retrieved using the kubernetes API. + Must not be null. + A populated if the metadata represents and GKE instance; + null otherwise. - + - Writes the end of an object to the builder. + Construct details of Google Container (Kubernetes) Engine - A reference to the same the method was called on, for chaining. + The full JSON string retrieved from the metadata server. Must not be null. + The project ID. Must not be null. + The cluster name. Must not be null. + The location. Must not be null. + The instance host name. Must not be null. - + - Writes a string value to the builder, escaping it if necessary. + Construct details of Google Container (Kubernetes) Engine - The value to write. May be null. - A reference to the same the method was called on, for chaining. + The full JSON string retrieved from the metadata server. Must not be null. + The project ID. Must not be null. + The cluster name. Must not be null. + The location. Must not be null. + The instance host name. Must not be null. + The GCE instance ID. Must not be null. + The zone. Must not be null. + The kubernetes namespace ID. Must not be null. + The kubernetes pod ID. Must not be null. + The container name. Must not be null. - + - Writes a Boolean value to the builder. + The full JSON string retrieved from the metadata server. - The value to write. - A reference to the same the method was called on, for chaining. - + - Writes a numeric value to the builder. + The Project ID associated with your application, which is visible in the Google Cloud Platform Console. - The value to write. - A reference to the same the method was called on, for chaining. - + - Writes a name/value property pair to the builder for a string value. + The cluster name, which is visible in the Google Cloud Platform Console. - The name of the property. Must not be null. - The value of the property. May be null. - A reference to the same the method was called on, for chaining. + + + + The cluster location, which is visible in the Google Cloud Platform Console. + This is equivalent to the value of the <zone-name> part in + + + + + + The hostname of this instance. + + + + + The GCE instance this container is running in. + + + + + The GCE zone in which the instance is running. + This is in the format projects/<project-number>/zones/<zone-name>. + + + + + The cluster namespace the container is running in. + + + + + The pos the container is running in. + + + + + The name of the container. + + + + + + + + An abstraction of the ability to determine the current date and time. + + + This interface primarily exists for testing purposes, allowing test code to + isolate itself from the system clock. In production, the + implementation is by far the most likely one to be used, and the only one provided + within this library. Code that uses a clock should generally be designed to allow it + to be optionally specified, defaulting to . + + + + + Returns the current date and time in UTC, with a kind of . + + A representing the current date and time in UTC. + + + + A resource name. + + + + + The kind of resource name. + + + + + The string representation of the resource name. + + The string representation of the resource name. + + + + Abstraction of scheduler-like operations, used for testability. + + + Note that this is different to , which is really involved + with assigning tasks to threads rather than any sort of delay. + + + + + Returns a task which will complete after the given delay. Whether the returned + awaitable is configured to capture the current context or not is implementation-specific. + (A test implementation may capture the current context to enable reliable testing.) + + Time to delay for. Must not be negative. + The cancellation token that will be checked prior to completing the returned task. + A task which will complete after the given delay. + + + + Extension methods for . + + + + + Simulates a synchronous delay by calling on + , and unwrapping any exceptions generated (typically cancellation). + + The scheduler to use for the sleep operation. + Time to sleep for. Must not be negative. + The cancellation token that will be watched during the sleep operation. + The cancellation token was cancelled during the sleep. + + + + Thrown when an attempt is made to parse invalid JSON, e.g. using + a non-string property key, or including a redundant comma. + + + + + Utility class for generating JSON. This class doesn't perform much in the way of validity + checks - that's left as the responsibility of the caller. However, it allows values and properties + to be written in a simple, chainable way, without the caller needing to worry about adding commas. + + + + + The JSON representation of the first 160 characters of Unicode. + Empty strings are replaced by the static constructor. + + + + + Constructs a new instance using the specified . + + The to append to. Must not be null. + + + + Constructs a new instance with a new . + + + + + Writes the start of an object to the builder. + + A reference to the same the method was called on, for chaining. + + + + Writes the start of an array to the builder. + + A reference to the same the method was called on, for chaining. + + + + Writes the end of an array to the builder. + + A reference to the same the method was called on, for chaining. + + + + Writes the end of an object to the builder. + + A reference to the same the method was called on, for chaining. + + + + Writes a string value to the builder, escaping it if necessary. + + The value to write. May be null. + A reference to the same the method was called on, for chaining. + + + + Writes a Boolean value to the builder. + + The value to write. + A reference to the same the method was called on, for chaining. + + + + Writes a numeric value to the builder. + + The value to write. + A reference to the same the method was called on, for chaining. + + + + Writes a name/value property pair to the builder for a string value. + + The name of the property. Must not be null. + The value of the property. May be null. + A reference to the same the method was called on, for chaining. @@ -965,434 +1276,165 @@ - - - - - Represents a path template used for resource names which may be composed of multiple IDs. - - - - Templates use a subset of the syntax of the API platform. See - https://github.com/googleapis/googleapis/blob/master/google/api/http.proto - for details of the API platform. - - - This class performs no URL escaping or unescaping. It is designed for use within GRPC, where no - URL encoding is required. - - - - - - Just an array containing a single slash, to avoid constructing a new array every time we need - to split. - - - - - List of segments in this template. Never modified after construction. - - - - - List of the segments in this template which are wildcards. Never modified after construction. - - - - - The names of the parameters within the template. This collection has one element per parameter, - but unnamed parameters have a name of null. - - - - - Constructs a template from its textual representation, such as shelves/*/books/**. - - The textual representation of the template. Must not be null. - - - - The number of parameter segments (regular wildcards or path wildcards, named or unnamed) in the template. - - - - - Validates a service name, ensuring it is not empty and doesn't contain any slashes. - (In the future, we may want to make this stricter, e.g. that it's a valid DNS-like name.) - - The name to validate - The name of the parameter - - - - Validate a single value from a sequence. This is used in both parsing and instantiating. - - - - - Validates a whole array of resource IDs, including that the count matches. - - - - - Validates that the given resource IDs are valid for this template, and returns a string representation - - - - This is equivalent to calling new ResourceName(template, resourceIds).ToString(), but simpler in - calling code and more efficient in terms of memory allocation. - - - This method assumes no service name is required. Call to specify a service name. - - - The resource IDs to use to populate the parameters in this template. Must not be null. - The string representation of the resource name. - - - - Validates that the given resource IDs are valid for this template, and returns a string representation - - - - The resource IDs to use to populate the parameters in this template. Must not be null. - The service name, which may be null. - The string representation of the resource name. - - - - Returns a string representation of the template with parameters replaced by resource IDs. - - The name of the service, for full resource names. May be null, to produce a relative resource name. - Resource IDs to interpolate the template with. Expected to have been validated already. - - - - Attempts to parse the given resource name against this template, returning null on failure. - - - Although this method returns null if a name is passed in which doesn't match the template, - it still throws if is null, as this would - usually indicate a programming error rather than a data error. - - The resource name to parse against this template. Must not be null. - When this method returns, the parsed resource name or null if parsing fails. - true if the name was parsed successfully; false otherwise. - - - - Attempts to parse the given resource name against this template, throwing on failure. - - The resource name to parse against this template. Must not be null. - The parsed name as a . - - - - Implementation of parsing, returning the error message for a FormatException if parsing fails. - - - - - Returns the textual representation of this template. - - The same textual representation that this template was initially constructed with. - - - - A literal path segment. - - - - - A simple wildcard ('*'). - - - - - A path wildcard ('**'). - - - - - A segment of a path. - - - - - The literal value or the name of a wildcard. - null for unnamed wildcards. - - - - - Execution platform type. - - - - - Unknown execution platform. - - - - - Execution platform is Google Compute Engine. - - - - - Execution platform is Google App Engine. - - - - - Execution platform is Google Container Engine (Kubernetes). - - - - - Google Compute Engine details. - - - - - Builds a from the given metadata. - This metadata is normally retrieved from the GCE metadata server. - - JSON metadata, normally retrieved from the GCE metadata server. - Must not be null. - A populated if the metadata represents and GCE instance; - null otherwise. - - - - Construct details of Google Compute Engine - - The full JSON string retrieved from the metadata server. Must not be null. - The project ID. Must not be null. - The instance ID. Must not be null. - The zone name. Must not be null. - If this value is in the format projects/<project-number>/zones/<zone-name> - then will return the <zone-name> part of this value. - If not, will throw . - If this value has been retrived from Google Compute Engine, the it's format will be the one - described above. - - - - The full JSON string retrieved from the metadata server. - - - - - The Project ID under which this GCE instance is running. - - - - - The Instance ID of the GCE instance on which this is running. - - - - - The zone where this GCE instance is running. - This will be in the format projects/<project-number>/zones/<zone-name> - id the value has been retrieved from Google Compute Engine. - - - - - The zone name where this GCE instance is running. - If is in the format projects/<project-number>/zones/<zone-name> - this value will be the <zone-name> part in . - If is in a different format then this getting the value of this property will - throw . - - - - - - - - Google App Engine details. - - - - - Construct details of Google App Engine - - The Project ID associated with your application, - which is visible in the Google Cloud Platform Console. Must not be null. - The name of the current instance. Must not be null. - The service name specified in your application's app.yaml file, - or if no service name is specified, it is set to default. Must not be null. - The version label of the current application. Must not be null. - - - - The Project ID associated with your application, which is visible in the Google Cloud Platform Console. - - - - - The name of the current instance. - - - - - The service name specified in your application's app.yaml file, or if no service name is specified, it is set to default. - + - + - The version label of the current application. + Represents a path template used for resource names which may be composed of multiple IDs. + + + Templates use a subset of the syntax of the API platform. See + https://github.com/googleapis/googleapis/blob/master/google/api/http.proto + for details of the API platform. + + + This class performs no URL escaping or unescaping. It is designed for use within GRPC, where no + URL encoding is required. + + - - - - + - Google Container (Kubernetes) Engine details. + Just an array containing a single slash, to avoid constructing a new array every time we need + to split. - + - Data from the Kubernetes API + List of segments in this template. Never modified after construction. - + - The Kubernetes pod name + List of the segments in this template which are wildcards. Never modified after construction. - + - The Kubernetes namespace name + The names of the parameters within the template. This collection has one element per parameter, + but unnamed parameters have a name of null. - + - JSON from https://kubernetes/api/v1/namespaces/{namespace} + Constructs a template from its textual representation, such as shelves/*/books/**. + The textual representation of the template. Must not be null. - + - JSON from https://kubernetes/api/v1/namespaces/{namespace}/pods/{pod-name} + The number of parameter segments (regular wildcards or path wildcards, named or unnamed) in the template. - + - Lines from /proc/self/mountinfo + Validates a service name, ensuring it is not empty and doesn't contain any slashes. + (In the future, we may want to make this stricter, e.g. that it's a valid DNS-like name.) + The name to validate + The name of the parameter - + - Builds a from the given metadata. - This metadata is normally retrieved from the GCE metadata server. + Validate a single value from a sequence. This is used in both parsing and instantiating. - JSON metadata, normally retrieved from the GCE metadata server. - A populated if the metadata represents and GKE instance; - null otherwise. - + - Builds a from the given metadata and kubernetes data. - The metadata is normally retrieved from the GCE metadata server. - The kubernetes data is normally retrieved using the kubernetes API. - This method attempts to return as much information as it is present on - and but will return for - properties whose corresponding information is corrupt or missing in - or . + Validates a whole array of resource IDs, including that the count matches. - JSON metadata, normally retrieved from the GCE metadata server. - Must not be null. - Kubernetes data, normally retrieved using the kubernetes API. - Must not be null. - A populated if the metadata represents and GKE instance; - null otherwise. - + - Construct details of Google Container (Kubernetes) Engine + Validates that the given resource IDs are valid for this template, and returns a string representation - The full JSON string retrieved from the metadata server. Must not be null. - The project ID. Must not be null. - The cluster name. Must not be null. - The location. Must not be null. - The instance host name. Must not be null. + + + This is equivalent to calling new ResourceName(template, resourceIds).ToString(), but simpler in + calling code and more efficient in terms of memory allocation. + + + This method assumes no service name is required. Call to specify a service name. + + + The resource IDs to use to populate the parameters in this template. Must not be null. + The string representation of the resource name. - + - Construct details of Google Container (Kubernetes) Engine + Validates that the given resource IDs are valid for this template, and returns a string representation - The full JSON string retrieved from the metadata server. Must not be null. - The project ID. Must not be null. - The cluster name. Must not be null. - The location. Must not be null. - The instance host name. Must not be null. - The GCE instance ID. Must not be null. - The zone. Must not be null. - The kubernetes namespace ID. Must not be null. - The kubernetes pod ID. Must not be null. - The container name. Must not be null. + + + The resource IDs to use to populate the parameters in this template. Must not be null. + The service name, which may be null. + The string representation of the resource name. - + - The full JSON string retrieved from the metadata server. + Returns a string representation of the template with parameters replaced by resource IDs. + The name of the service, for full resource names. May be null, to produce a relative resource name. + Resource IDs to interpolate the template with. Expected to have been validated already. - + - The Project ID associated with your application, which is visible in the Google Cloud Platform Console. + Attempts to parse the given resource name against this template, returning null on failure. + + Although this method returns null if a name is passed in which doesn't match the template, + it still throws if is null, as this would + usually indicate a programming error rather than a data error. + + The resource name to parse against this template. Must not be null. + When this method returns, the parsed resource name or null if parsing fails. + true if the name was parsed successfully; false otherwise. - + - The cluster name, which is visible in the Google Cloud Platform Console. + Attempts to parse the given resource name against this template, throwing on failure. + The resource name to parse against this template. Must not be null. + The parsed name as a . - + - The cluster location, which is visible in the Google Cloud Platform Console. - This is equivalent to the value of the <zone-name> part in - + Implementation of parsing, returning the error message for a FormatException if parsing fails. - + - The hostname of this instance. + Returns the textual representation of this template. + The same textual representation that this template was initially constructed with. - + - The GCE instance this container is running in. + A literal path segment. - + - The GCE zone in which the instance is running. - This is in the format projects/<project-number>/zones/<zone-name>. + A simple wildcard ('*'). - + - The cluster namespace the container is running in. + A path wildcard ('**'). - + - The pos the container is running in. + A segment of a path. - + - The name of the container. + The literal value or the name of a wildcard. + null for unnamed wildcards. - - - Information about the current execution platform. @@ -1435,6 +1477,12 @@ Details of Google Container (Kubernetes) Engine. + + + Construct with details of Google Cloud Run. + + Details of Google Cloud Run. + Google App Engine (GAE) platform details. @@ -1453,6 +1501,12 @@ null if not executing on GKE. + + + Google Cloud Run platform details. + null if not executing on Google Cloud Run. + + The current execution platform. @@ -1467,6 +1521,36 @@ + + + Execution platform type. + + + + + Unknown execution platform. + + + + + Execution platform is Google Compute Engine. + + + + + Execution platform is Google App Engine. + + + + + Execution platform is Google Container Engine (Kubernetes). + + + + + Execution platform is Google Cloud Run. + + Helper methods for polling scenarios. @@ -1673,26 +1757,31 @@ - Parses the given billing account resource name in string form into a new + Parses the given billing resource name in string form into a new instance. - The billing account resource name in string form. Must not be null. + The billing resource name in string form. Must not be null. The parsed if successful. - Tries to parse the given billing account resource name in string form into a new + Tries to parse the given billing resource name in string form into a new instance. This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The billing account resource name in string form. Must not be null. + The billing resource name in string form. Must not be null. When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. + + Formats the IDs into the string representation of the . + The billingAccount ID. Must not be null. + The string representation of the . + Constructs a new instance of the resource name class @@ -1755,6 +1844,11 @@ or null if parsing fails. true if the name was parsed successfully; false otherwise. + + Formats the IDs into the string representation of the . + The folder ID. Must not be null. + The string representation of the . + Constructs a new instance of the resource name class @@ -1788,6 +1882,80 @@ + + + Resource name for the 'location' resource which is widespread across Google Cloud Platform. + While most resource names are generated on a per-API basis, many APIs use a location resource, and it's + useful to be able to pass values from one API to another. + + + + + Parses the given location resource name in string form into a new + instance. + + The location resource name in string form. Must not be null. + The parsed if successful. + + + + Tries to parse the given location resource name in string form into a new + instance. + + + This method still throws if is null, + as this would usually indicate a programming error rather than a data error. + + The location resource name in string form. Must not be null. + When this method returns, the parsed , + or null if parsing fails. + true if the name was parsed successfully; false otherwise. + + + Formats the IDs into the string representation of the . + The project ID. Must not be null. + The location ID. Must not be null. + The string representation of the . + + + + Constructs a new instance of the resource name class + from its component parts. + + The project ID. Must not be null. + The location ID. Must not be null. + + + + The project ID. Never null. + + + + + The location ID. Never null. + + + + + + + + + + + + + + + + + + + + + + + Resource name for the 'organization' resource which is widespread across Google Cloud Platform. @@ -1817,6 +1985,11 @@ or null if parsing fails. true if the name was parsed successfully; false otherwise. + + Formats the IDs into the string representation of the . + The organization ID. Must not be null. + The string representation of the . + Constructs a new instance of the resource name class @@ -1879,6 +2052,11 @@ or null if parsing fails. true if the name was parsed successfully; false otherwise. + + Formats the IDs into the string representation of the . + The project ID. Must not be null. + The string representation of the . + Constructs a new instance of the resource name class diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.PlatformServices.dll b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.PlatformServices.dll index 84bd4ee4ced06b67bdf25acd240babe14b996442..c7d9f4092c5715f6e563cac222bd8731aef80c50 100644 GIT binary patch delta 1175 zcmZ9MeP~lx6u{4YFTO0FZI@9=spUypliGZ|#5S4zjx>o2K276h zmugZdbORCNEmWim13^WK9~J#a>OUeCE870Cfy%~k12?;Ff+8)O?A(`DtM~DK_nhNrIGcCbL})puu&k#~}LTshe16J104S2e5Qy(#gH?ezq#S z20(?gCDH}mD3>xh7-?NdKra!XhWv!Q z0*qQkmKFJk!siN`kSvy&0SI0i$Z`bAkOEq>oEB=4rQlZRgKQNlenn|j*rBjTVHC2I z@->^n#0gs=iVQ#=xebmYyWk{p7gCjH$-FEl&Hz>zrO$YCu4rM_D)_p%OAwg~Be-c+ zNRcV9_>NYKFZ{O1zheoE$|{ENJK7%@v;57o^5tiuV)1jNVpWP0%PESh<;hd3qeKYG zay%8I5#jsNKs1%w9sTmFNIDrv$Z|h@B;0hpZ;Yk!%SJP?_<$0|F57NbkB7G%_vQ|4 zPC{<-lDe6MO9*I-fyGcLfPF8qWv+f0|9eD-Zzj=#uFLQBYE87>a_*}AGn&G+q?w)z_ z^lZk`@=f2byRENV76S8A7f*$+f4em8^S>G#vgf*ErW-F8J3S8$^9Nn78vk&o{@x2! zFfpd)&y7qAZR4kq1*M~#XMInAw6$Zk zVI1#v8{X8QUAtx;rFmMbwMgPG{OASif1$Bgo62WuUfyTlKJam`e_t}19_VG;c1T+s zlF#Xu9Fp5nPY1QKXW40H#fc?4+0k{YVdtS?*$#*Y^YO*AcUO_G-;sf2B-%o zNR&4o;JcxMW{p0x2ak&gL6Gr^LkeQ3DL#|4MxMNJc~s)oExWT2lVu++5RF*;vm|_| J{!I#!`hRWD1{dDfL*-~*0yT5d{O^Cf)`r_6)ix=1eD!qWHFWppcodB$)e`^7@ z@`o+A@d#^SyZGZok)LJT*(T0}dgm=hz(nJ&EqRJ5aGAOJkRbW~5CHc`KAT9#bLyyj zY5+a8?$Hqpk?m0Jfzfb3wG;eJAw0Fr7}H@(HKRM zb6s;_l=*Qxb`nE)f_OKM6Gw28cpp(;P?LE;Z%ZxEg46s*opY+bctgb`+DJ80D{7u$fi+$eIDcKjLiv>b zdDc3jWcMawN?$CN*^|x>WHRxT63QyOlyp83O@aJMF1I!Fkdo%I;aR?9n6G9VbY5wF zwPR_Jzv0^H_%IbNpELHeZ4L%YWfC!*j``_GF&KxHloHJ;z&eJ;P-gf3Y$E<(UTl}- zpm^P28$+$^-yr$h{SshdFjN#DGPO?0Z@m&su0D8Fx^e1K^6Qy*9*BgFy=`(V{BWZ8 zpYt67Pea4|J0|CC-`00FC;LB&nCAYzl04t|)K9bPT!D)VhnIhkIO9j%7kclk`Sj(1 z$d}8A_^%?17hNw`Uf;)5AwjMZXz5BU;}p9c+8_k>+#XAGlXnA7Xp{5?=qLoZfRdl^w5hlPlwJVzk2NR zu`YFY5!yK3w>uHd?jNUh==MpSK3VolT|T+P7vN8tGrnrjp?EcjQumCvoIdjUmR_%Q z%~(D_H+ZFN=AxyEF6bSWPfAiPue0{p7IiC~z#@-W+w30gUR(t%GX4wyX92_j diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.dll b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.dll index 7a929c8ca9bebd420baf411392c27fc5ef570e11..eda1a8f9085a9165667ab2de6381cf7c9e624edc 100644 GIT binary patch literal 161280 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 z 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 diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.pdb b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.pdb index 37de6f88275ca38259e71a0b9cfc0da21c78e073..1bf403805b2253c2c951b525d16052f2a33efe96 100644 GIT binary patch literal 44052 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 Bo&Nv; diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.xml b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.xml index 31d594b0..7d499baa 100644 --- a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.xml +++ b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Auth.xml @@ -71,6 +71,14 @@ this is to allow for possible local-client clock skew. Defaults to zero seconds.

+ + + CertificateCache for testing purposes. + If null, the default CertificateCache + will + be used. + +
Validates a Google-issued Json Web Token (JWT). @@ -96,7 +104,8 @@ The JWT to validate. Specifies how to carry out the validation. - + The payload of the verified token. + If the token does not pass verification. @@ -193,6 +202,31 @@ http://tools.ietf.org/html/draft-ietf-jose-json-web-signature-11. + + + Verifies that the given token is a valid, not expired, signed token. + + The token to verify. + The options to use for verification. + May be null in which case default options will be used. + The cancellation token for the operation. + The payload contained by the token. + If the token is invalid or expired. + + + + Verifies that the given token is a valid, not expired, signed token. + + The token to verify. + The options to use for verification. + May be null in which case default options will be used. + The cancellation token for the operation. + The payload contained by the token. + If the token is invalid or expired. + The type of the payload to return, so user code can validate + additional claims. Should extend . Payload information will be deserialized + using . + Header as specified in http://tools.ietf.org/html/draft-ietf-jose-json-web-signature-11#section-4.1. @@ -295,6 +329,13 @@ a string or list) or null. + + + Gets or sets the target audience claim that identifies the audience that an OIDC token generated from + this JWT is intended for. Maybe be null. Multiple target audiences are not supported. + null. + + Gets or sets expiration time claim that identifies the expiration time (in seconds) on or after which @@ -333,6 +374,91 @@ Gets the audience property as a list. + + + Represents a credential that simply wraps an access token. + The origin of said access token is not relevant, but that means + that the credential cannot refresh the access token when it has expired. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents an access token that can be used to authorize a request. + The token might be accompanied by extra information that should be sent + in the form of headers. + + + + + Constructs an based on a given token and headers. + + The token to build this instance for. May be null. + The collection of headers that may accompany the token. May be null. + + + + An access token that can be used to authorize a request. + + + + + Extra headers, if any, that should be included in the request. + + + + + Adds the headers in this object to the given header collection. + + The header collection to add the headers to. + + + + Adds the headers in this object to the given request. + + The request to add the headers to. + + + + Builder class for to simplify common scenarios. + + + + + The GCP project ID used for quota and billing purposes. May be null. + + + + + Builds and instance of with the given + token and the value set on this builder. + + The token to build the for. + An . + Thread-safe OAuth 2.0 authorization code flow for an installed application that persists end-user credentials. @@ -382,8 +508,12 @@ + Obsolete. Thread-safe OAuth 2.0 method for accessing protected resources using an access_token query parameter as specified in http://tools.ietf.org/html/rfc6750#section-2.3. + This access method is being made obsolete. Please read here for more up to date information: + `https://developers.google.com/identity/protocols/oauth2/index.html#4.-send-the-access-token-to-an-api.`. + Please use instead. @@ -414,7 +544,8 @@ - The metadata server url. + The metadata server url. This can be overridden (for the purposes of Compute environment detection and + auth token retrieval) using the GCE_METADATA_HOST environment variable. Caches result from first call to IsRunningOnComputeEngine @@ -432,17 +563,39 @@ The Metadata header response indicating Google. + + + Gets the OIDC Token URL. + + + + + + + + An initializer class for the Compute credential. It uses - as the token server URL. + as the token server URL (optionally overriding the host using the GCE_METADATA_HOST environment variable). + + + + + Gets the OIDC Token URL. - Constructs a new initializer using the default compute token URL. + Constructs a new initializer using the default compute token URL + and the default OIDC token URL. - Constructs a new initializer using the given token URL. + Constructs a new initializer using the given token URL + and the default OIDC token URL. + + + Constructs a new initializer using the given token URL + and OIDC token URL (optionally overriding the host using the GCE_METADATA_HOST environment variable). Constructs a new Compute credential instance. @@ -450,9 +603,24 @@ Constructs a new Compute credential instance. + + + + + + + + + + + + + + + Detects if application is running on Google Compute Engine. This is achieved by attempting to contact @@ -506,12 +674,12 @@ Creates a new default credential. - - Creates a default credential from a JSON file. - Creates a default credential from a stream that contains JSON credential data. + + Creates a default credential from a stream that contains JSON credential data. + Creates a default credential from a string that contains JSON credential data. @@ -611,6 +779,11 @@ Authorization server URL Token server URL + + + Constructs a new initializer from the given + + Gets the token server URL. @@ -632,6 +805,9 @@ Constructs a new flow using the initializer's properties. + + + @@ -715,6 +891,9 @@ Constructs a new Google authorization code flow. + + + @@ -764,6 +943,11 @@ . + + + Constructs a new initializer from the given . + + Constructs a new initializer. Authorization server URL @@ -839,6 +1023,22 @@ Indicates if a new token needs to be retrieved and stored regardless of normal circumstances. + + + Authorization flow that performs HTTP operations, for instance, + for obtaining or refreshing tokens. + + + + + Return a new instance of the same type as this but that uses the + given HTTP client factory. + + The http client factory to be used by the new instance. + May be null, in which case the default will be used. + A new instance with the same type as this but that will use + to obtain an to be used for token related operations. + Google OAuth2 constants. @@ -880,12 +1080,48 @@ The OpenID Connect Json Web Key Set (jwks) URL. + + The IAP Json Web Key Set (jwks) URL. + Installed application redirect URI. Installed application localhost redirect URI. + + IAM access token endpoint for service account. + + + IAM access token endpoint format string. To use it insert the service account email. + + + IAM signBlob endpoint format string. To use it insert the service account email. + + + IAM ID token endpoint format string. To use it insert the service account email. + + + Scope needed for source credential in impersonated credential. + + + + The effective Compute Engine authorization token server URL. + This takes account of the GCE_METADATA_HOST environment variable. + + + + + The effective Compute Engine authorization token server URL for OIDC. This requires an audience parameter to be added. + This takes account of the GCE_METADATA_HOST environment variable. + + + + + The effective Compute Engine metadata token server URL (with no path). + This takes account of the GCE_METADATA_HOST environment variable. + + OAuth 2.0 client secrets model as specified in https://cloud.google.com/console/. @@ -902,6 +1138,20 @@ Loads the Google client secret from the input stream. + This method has been made obsolete in favour of + which only differs in name. + + + Loads the Google client secret from the input stream. + + + Asynchronously loads the Google client secret from the input stream. + + + Loads the Google client secret from a JSON file. + + + Asynchronously loads the Google client secret from a JSON file. @@ -910,7 +1160,7 @@ credentials (like , or ) in a unified way. - See for the credential retrieval logic. + See for the credential retrieval logic. @@ -920,10 +1170,17 @@ The underlying credential being wrapped by this object. - + Creates a new GoogleCredential. + + Returns the Application Default Credentials which are ambient credentials that identify and authorize + the whole application. See for more details. + + A task which completes with the application default credentials. + + Returns the Application Default Credentials which are ambient credentials that identify and authorize the whole application. @@ -959,14 +1216,20 @@ + + If the cancellation token is cancelled while the underlying operation is loading Application Default Credentials, + the underlying operation will still be used for any further requests. No actual work is cancelled via this cancellation + token; it just allows the returned task to transition to a cancelled state. + + Cancellation token for the operation. A task which completes with the application default credentials. Synchronously returns the Application Default Credentials which are ambient credentials that identify and authorize - the whole application. See for details on application default credentials. + the whole application. See for details on application default credentials. This method will block until the credentials are available (or an exception is thrown). - It is highly preferable to call where possible. + It is highly preferable to call where possible. The application default credentials. @@ -979,6 +1242,15 @@ + + + Loads credential from stream containing JSON credential data. + + The stream can contain a Service Account key file in JSON format from the Google Developers + Console or a stored user credential using the format supported by the Cloud SDK. + + + Loads credential from the specified file containing JSON credential data. @@ -990,6 +1262,18 @@ The path to the credential file. The loaded credentials. + + + Loads credential from the specified file containing JSON credential data. + + The file can contain a Service Account key file in JSON format from the Google Developers + Console or a stored user credential using the format supported by the Cloud SDK. + + + The path to the credential file. + Cancellation token for the operation. + The loaded credentials. + Loads credential from a string containing JSON credential data. @@ -1013,7 +1297,7 @@ Create a from a . In general, do not use this method. Call or - , which will provide the most suitable + , which will provide the most suitable credentials for the current platform. Optional. The compute credential to use in the returned . @@ -1022,35 +1306,72 @@ A with an underlying . - - Returns true only if this credential type has no scopes by default and requires - a call to before use. - - Credentials need to have scopes in them before they can be used to access Google services. - Some Credential types have scopes built-in, and some don't. This property indicates whether - the Credential type has scopes built-in. - - - - - has scopes built-in. Nothing additional is required. - - - - - has scopes built-in, as they were obtained during the consent - screen. Nothing additional is required. - - - - does not have scopes built-in by default. Caller should - invoke to add scopes to the credential. - - - - + + + Returns true only if this credential supports explicit scopes to be set + via this library but no explicit scopes have been set. + A credential with explicit scopes set + may be created by calling . + + + For accessing Google services, credentials need to be scoped. Credentials + have some default scoping, but this library supports explicit scopes to be set + for certain credentials. + + + + + is scoped by default. This library doesn't currently + support explicit scopes to be set on a . + + + + + is scoped by default, as scopes were obtained during the consent + screen. It's not possible to change the default scopes of a . + + + + + is not scoped by default but when used without + explicit scopes to access a Google service, the service's default scopes will be assumed. + It's possible to create a with explicit scopes set + by calling + + + + + is not scoped by default but when used without + explicit scopes to access a Google service, the service's default scopes will be assumed. + Note that the scopes of an have no + bearings on the scopes. + It's possible to create an with explicit scopes set + by calling + + + + + + + + The ID of the project associated to this credential for the purposes of + quota calculation and billing. May be null. + + + + + Gets the underlying credential instance being wrapped. + + + If this library supports setting explicit scopes on this credential, + this method will creates a copy of the credential with the specified scopes. + Otherwise, it returns the same instance. + See for more information. + + + If the credential supports scopes, creates a copy with the specified scopes. Otherwise, it returns the same instance. @@ -1058,34 +1379,53 @@ - If the credential supports setting the user, creates a copy with the specified user. + If the credential supports Domain Wide Delegation, this method creates a copy of the credential + with the specified user. Otherwise, it throws . - Only Service Credentials support this operation. + At the moment only supports Domain Wide Delegation. - The user to set in the returned credential. - This credential with the user set to . - When the credential type doesn't support setting the user. + The user that the returned credential will be a delegate for. + A copy of this credential with the user set to . + When the credential type doesn't support + Domain Wide Delegation. - + - If the credential supports scopes, creates a copy with the specified scopes. Otherwise, it returns the same - instance. + Creates a copy of this credential with the specified quota project. + The quota project to use for the copy. May be null. + A copy of this credential with set to . - + - Gets the underlying credential instance being wrapped. + Creates a copy of this credential with the specified HTTP client factory. + The HTTP client factory to be used by the new credential. + May be null, in which case the default will be used. - - Creates a GoogleCredential wrapping a . + + - + + + + - Wraps ServiceAccountCredential as GoogleCredential. - We need this subclass because wrapping ServiceAccountCredential (unlike other wrapped credential - types) requires special handling for IsCreateScopedRequired and CreateScoped members. + Allows this credential to impersonate the . + Only and support impersonation, + so this method will throw if this credential's + is not of one of those supported types. + Initializer containing the configuration for the impersonated credential. + + For impersonation, a credential needs to be scoped to https://www.googleapis.com/auth/iam. When using a + as the source credential, this is not a problem, since the credential + can be scoped on demand. When using a the credential needs to have been obtained + with the required scope, else, when attempting and impersonated request, you'll receive an authorization error. + + + + Creates a GoogleCredential wrapping a . A helper utility to manage the authorization code flow. @@ -1203,6 +1543,19 @@ Cancellation token to cancel an operation The user's credential + + + Represents a data blob signer. + + + + + Returns the base64 encoded signature of the given blob. + + The blob to sign. + The cancellation token. + The base64 encoded signature. + OAuth 2.0 verification code receiver. @@ -1224,97 +1577,320 @@ More details are available in the specific implementations. - + - Allows direct retrieval of access tokens to authenticate requests. - This is necessary for workflows where you don't want to use - to access the API. - (e.g. gRPC that implemenents the entire HTTP2 stack internally). + Represents a Google credential. Defines functionality that + credential types that can be used as an underlying credential in + should implement in contrast to that defines public functionality. - + - Gets an access token to authorize a request. - Implementations should handle automatic refreshes of the token - if they are supported. - The might be required by some credential types - (e.g. the JWT access token) while other credential types - migth just ignore it. + The ID of the project associated to this credential for the purposes of + quota calculation and billing. May be null. - The URI the returned token will grant access to. - The cancellation token. - The access token. - + - Holder for credential parameters read from JSON credential file. - Fields are union of parameters for all supported credential types. + Returns a new instance of the same type as this but with the + given quota project value. + The quota project value for the new instance. + A new instance with the same type as this but with + set to . - + - UserCredential is created by the GCloud SDK tool when the user runs - GCloud Auth Login. + Returns true if this credential scopes have been explicitly set via this library. + Returns false otherwise. - + - ServiceAccountCredential is downloaded by the user from - Google Developers Console. + Returns true if this credential accepts explicit scopes to be set + via this library. + Returns false otherwise. - - Type of the credential. + + + If the credential supports scopes, creates a copy with the specified scopes. Otherwise, it returns the same + instance. + - + - Project ID associated with this credential. + If the credential supports domain wide delegation this method will create a copy of the + credential with the specified user set. + Otherwise, it throws . - + - Client Id associated with UserCredential created by - GCloud Auth Login. + Return a new instance of the same type as this but that uses the + given HTTP client factory. + The http client factory to be used by the new instance. + May be null in which case the default will be used. + A new instance with the same type as this but that will use + to obtain an to be used for token and other operations. - + - Client Secret associated with UserCredential created by - GCloud Auth Login. + Allows a service account or user credential to impersonate a service account. + See https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials + and https://cloud.google.com/iam/docs/impersonating-service-accounts + for more information. - + + An initializer class for the impersonated credential. + + - Client Email associated with ServiceAccountCredential obtained from - Google Developers Console + Gets the service account to impersonate. - + - Private Key associated with ServiceAccountCredential obtained from - Google Developers Console. + Gets the chained list of delegate service accounts. May be null or empty. - + - Refresh Token associated with UserCredential created by - GCloud Auth Login. + Gets the scopes to request during the authorization grant. May be null or empty. - + - OAuth 2.0 verification code receiver that runs a local server on a free port and waits for a call with the - authorization verification code. + Gets or sets for how long the delegated credential should be valid. + Defaults to 1 hour or 3600 seconds. - - The call back request path. + + Constructs a new initializer. + The principal that will be impersonated. Must not be null. - - Localhost callback URI, expects a port parameter. + + + Gets the source credential used to acquire the impersonated credentials. + - - 127.0.0.1 callback URI, expects a port parameter. + + + Gets the service account to impersonate. + + + + + Gets the chained list of delegate service accounts. May be empty. + + + + + Gets the scopes to request during the authorization grant. May be empty. + + + + + Gets the lifetime of the delegated credential. + This is how long the delegated credential should be valid from the time + of the first request made with this credential. + + + + + + + + + + Constructs a new impersonated credential using the given initializer. + + + + + + + + + + + + + + + + + + + + + + Signs the provided blob using the private key associated with the impersonated service account. + + The blob to sign. + Cancellation token to cancel operation. + The base64 encoded signature. + When signing request fails. + When signing response is not a valid JSON. + + + + Represents an OIDC token provider. + + + + + Returns an OIDC token for the given options. + + The options to create the token from. + The cancellation token that may be used to cancel the request. + The OIDC token. + + + + Allows direct retrieval of access tokens to authenticate requests. + This is necessary for workflows where you don't want to use + to access the API. + (e.g. gRPC that implemenents the entire HTTP2 stack internally). + + + + + Gets an access token to authorize a request. + Implementations should handle automatic refreshes of the token + if they are supported. + The might be required by some credential types + (e.g. the JWT access token) while other credential types + migth just ignore it. + + The URI the returned token will grant access to. + The cancellation token. + The access token. + + + + Allows direct retrieval of access tokens to authenticate requests. + The access tokens obtained can be accompanied by extra information + that either describes the access token or is associated with it. + This information should acompany the token as headers when the token + is used to access a resource. + + + + + Gets an access token to authorize a request. + The token might be accompanied by extra information that should be sent + in the form of headers. + Implementations should handle automatic refreshes of the token + if they are supported. + The might be required by some credential types + (e.g. the JWT access token) while other credential types + migth just ignore it. + + The URI the returned token will grant access to. + The cancellation token. + The access token with headers if any. + + + + Holder for credential parameters read from JSON credential file. + Fields are union of parameters for all supported credential types. + + + + + UserCredential is created by the GCloud SDK tool when the user runs + GCloud Auth Login. + + + + + ServiceAccountCredential is downloaded by the user from + Google Developers Console. + + + + Type of the credential. + + + + Project ID associated with this credential. + + + + + Project ID associated with this credential for the purposes + of quota calculations and billing. + + + + + Client Id associated with UserCredential created by + GCloud Auth Login. + + + + + Client Secret associated with UserCredential created by + GCloud Auth Login. + + + + + Client Email associated with ServiceAccountCredential obtained from + Google Developers Console + + + + + Private Key associated with ServiceAccountCredential obtained from + Google Developers Console. + + + + + Private Key ID associated with ServiceAccountCredential obtained from + Google Developers Console. + + + + + Refresh Token associated with UserCredential created by + GCloud Auth Login. + + + + + OAuth 2.0 verification code receiver that runs a local server on a free port and waits for a call with the + authorization verification code. + + + + + Describes the different strategies for the selection of the callback URI. + 127.0.0.1 is recommended, but can't be done in non-admin Windows 7 and 8 at least. + + + + + Use heuristics to attempt to connect to the recommended URI 127.0.0.1 + but use localhost if that fails. + + + + + Force 127.0.0.1 as the callback URI. No checks are performed. + + + + + Force localhost as the callback URI. No checks are performed. + + + + The call back request path. Close HTML tag to return the browser so it will close itself. @@ -1330,6 +1906,13 @@ Custom close page response for this instance + + + Create an instance of . + + Custom close page response for this instance + The strategy to use to determine the callback URI + An extremely limited HTTP server that can only do exactly what is required @@ -1347,6 +1930,99 @@ Returns a random, unused port. + + Localhost callback URI, expects a port parameter. + + + 127.0.0.1 callback URI, expects a port parameter. + + + + Represents an OIDC Token. + + + + + The this OIDC token is built from. + + + + + Gets the access token that should be included in headers when performing + requests with this . + This method will refresh the access token if the current one has expired. + + The cancellation token to use for cancelling the operation. + The valid access token associated to this . + + + + Represents the OIDC token formats supported when the token is obtained using the GCE metadata server. + + + + + Specifies that the project and instance details should not be + included in the payload of the JWT token returned by the GCE + metadata server. + + + + + Specifies that the project and instance details should be + included in the payload of the JWT token returned by the GCE + metadata server. + + + + + Same as . License codes for images associated with the + GCE instance the token is being obtained from will also be included in the + payload of the JWT token returned by the GCE metadata server. + + + + + Options used to create an . + + + + + The target audience the generated token should be valid for. + Must not be null. + + + + + The token format of the expected OIDC token when obtained from the + GCE metadata server. + This value will be ignored when the token provider is other then the GCE + metadata server. + for the meaning of each value. + Defaults to . + + + + + Builds new from the given target audience. + + The target audience to build these options from. Must no be null. + A new set of options that can be used with a to obtain an . + + + + Builds a new set of options with the same options as this one, except for the target audience. + + The new target audience. Must not be null. + A new set of options with the given target audience. + + + + Builds a new set of options with the same options as this one, except for the token format. + + The new token format. + A new set of options with the given token format. + An incomplete ASN.1 decoder, only implements what's required @@ -1552,6 +2228,47 @@ Creates a which is used to request the authorization code. + + + Access token request for impersonated credential as specified in https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials#sa-credentials-oauth. + + + + + Gets or sets the scopes to request during the authorization grant. + + + + + Gets or sets how long the delegated credential should be valid. Its format is the number of + seconds followed by a letter "s", for example "300s". + + + + + OIDC token request for impersonated credential as specified in https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials#sa-credentials-oauth. + + + + + Gets or sets the audience of the requested OIDC token. + + + + + Gets or sets whether email address should be included in the requested OIDC token. + + + + + Gets or sets the chained list of delegate service accounts. + + + + + Gets or sets the payload to be signed. + + OAuth 2.0 request to refresh an access token using a refresh token as specified in @@ -1642,6 +2359,11 @@ Gets or sets the URI identifying a human-readable web page with provides information about the error. + + + Contains any extra parameters in the authorization code response URL query string. + + Constructs a new authorization code response URL from the specified dictionary. @@ -1654,6 +2376,9 @@ Constructs a new empty authorization code response URL. + + Gets or sets the signed blob. + OAuth 2.0 model for a unsuccessful access token response as specified in @@ -1735,15 +2460,33 @@ This should be set by the CLIENT after the token was received from the server. + + Access token for impersonated credentials. + + + ID token for impersonated credentials. + + + + Access token expiration time for impersonated credentials. It has the RFC3339 + format: "yyyy-MM-dd'T'HH:mm:sssssssss'Z'". For example: 2020-05-13T16:00:00.045123456Z. + + - Returns true if the token is expired or it's going expire soon. + Returns true if the token is expired or it's going to expire soon. + If a token response doens't have at least one of + or set then it's considered expired. + If is null, the token is also considered expired. - Returns true if the token is missing, expired, or sufficiently close to expiry that it shouldn't be used. + Returns true if the token is expired or it's so close to expiring that it shouldn't be used. + If a token response doens't have at least one of + or set then it's considered expired. + If is null, the token is also considered expired. @@ -1822,6 +2565,16 @@ https://developers.google.com/accounts/docs/OAuth2ServiceAccount#computingsignature. + + + Gets or sets the service account key ID. + + + + + Gets or sets the flag preferring use of self-signed JWTs over OAuth tokens when OAuth scopes are explicitly set. + + Constructs a new initializer using the given id. @@ -1860,8 +2613,27 @@ https://developers.google.com/accounts/docs/OAuth2ServiceAccount#computingsignature. - - true if this credential has any scopes associated with it. + + + Gets the key id of the key which is used to sign the request. + + + + + Gets the flag indicating whether Self-Signed JWT should be used when OAuth scopes are set + + + + + Returns true if this credential scopes have been explicitly set via this library. + Returns false otherwise. + + + + + + + Constructs a new service account credential using the given initializer. @@ -1876,6 +2648,29 @@ The credentials parsed from the service account key data. + + + Constructs a new instance of the but with the + given value. + + A flag preferring use of self-signed JWTs over OAuth tokens + when OAuth scopes are explicitly set. + A new instance of the but with the + given value. + + + + + + + + + + + + + + Requests a new token as specified in @@ -1887,15 +2682,21 @@ Gets an access token to authorize a request. - If is set and this credential has no scopes associated - with it, a locally signed JWT access token for given - is returned. Otherwise, an OAuth2 access token obtained from token server will be returned. + If this credential has associated, but + is false, an OAuth2 access token obtained from will be returned. + Otherwise, a locally signed JWT will be returned. + The signed JWT will contain a "scope" claim with the scopes in if there are any, + otherwise it will contain an "aud" claim with . A cached token is used if possible and the token is only refreshed once it's close to its expiry. - The URI the returned token will grant access to. + The URI the returned token will grant access to. + Should be specified if no have been specified for the credential. The cancellation token. The access token. + + + Creates a JWT access token than can be used in request headers instead of an OAuth2 token. @@ -1918,6 +2719,9 @@ The data to hash and sign. Must not be null. The base-64 encoded signature. + + + Creates a serialized header as specified in @@ -1930,21 +2734,6 @@ https://developers.google.com/accounts/docs/OAuth2ServiceAccount#formingclaimset. - - Encodes the provided UTF8 string into an URL safe base64 string. - Value to encode. - The URL safe base64 string. - - - Encodes the byte array into an URL safe base64 string. - Byte array to encode. - The URL safe base64 string. - - - Encodes the base64 string into an URL safe string. - The base64 string to make URL safe. - The URL safe base64 string. - This type of Google OAuth 2.0 credential enables access to protected resources using an access token when @@ -1995,6 +2784,19 @@ implementation (using ). + + + The ID of the project associated to this credential for the purposes of + quota calculation and billing. May be null. + + + + + Initializers to be sent to the to be set + on the that will be used by the credential to perform + token operations. + + Constructs a new initializer using the given token server URL. @@ -2010,9 +2812,22 @@ Gets the HTTP client used to make authentication requests to the server. + + + Initializers to be sent to the to be set + on the that will be used by the credential to perform + token operations. + + Gets the token response which contains the access token. + + + The ID of the project associated to this credential for the purposes of + quota calculation and billing. May be null. + + Constructs a new service account credential using the given initializer. @@ -2034,6 +2849,9 @@ + + + Requests a new token. Cancellation token to cancel operation. @@ -2071,12 +2889,41 @@ Gets the user identity. + + + + + + + + + Constructs a new credential instance. Authorization code flow. User identifier. An initial token for the user. + + Constructs a new credential instance. + Authorization code flow. + User identifier. + An initial token for the user. + The ID of the project associated + to this credential for the purposes of quota calculation and billing. Can be null. + + + + + + + + + + + + + Default implementation is to try to refresh the access token if there is no access token or if we are 1 @@ -2093,6 +2940,9 @@ + + + Refreshes the token by calling to @@ -2186,5 +3036,127 @@ Redirect URI to the address which initializes the authorization code flow. + + + Represents a signed token, could be a or + a but this not only holds the payload + and headers, but also the signature itself. It's meant to help with signed + token verification and with obtaining token information. + + + + + Options to use when verifying signed JWTs. + + + + + Creates a new instance of + with default values for all options (or null for those whose default is unset). + + + + + Creates a new instance of + by copying over all the values from . + + The option set to build this instance from. + + + + Trusted audiences for the token. + All the audiences the token is intended for should be in the + trusted audiences list. + If the list is empty, the token audience won't be verified. + + + + + The URL from where to obtain certificates from. + May be null, in which case, default certificate locations will be used: + + For RS256 signed certificates, https://www.googleapis.com/oauth2/v3/certs will be used. + For ES256 signed certificates, https://www.gstatic.com/iap/verify/public_key-jwk will be used. + + + + + + List of trusted issuers to verify the token issuer against. + The token issuer must be contained in this list. + May be null, in which case the token issuer won't be verified. + + + + + Forces certificate refresh. + Internal to be used only for backward compatibility. + + + + + Clock tolerance for the issued-at check. + Causes a JWT to pass validation up to this duration before it is really valid; + this is to allow for possible local-client clock skew. + Defaults to zero. + Internal to be used only for backward compatibility. + + + + + Clock tolerance for the expiration check. + Causes a JWT to pass validation up to this duration after it really expired; + this is to allow for possible local-client clock skew. + Defaults to zero. + Internal to be used only for backward compatibility. + + + + + Clock for testing purposes. Defaults to . + Must not be null. + + + + + CertificateCache for testing purposes. + If null, the true CertificateCache will be used. + + + + + Returns a task which can be cancelled by the given cancellation token, but otherwise observes the original + task's state. This does *not* cancel any work that the original task was doing, and should be used carefully. + + + + + Decodes the provided URL safe base 64 string. + + The URL safe base 64 string to decode. + The UTF8 decoded string. + + + + Decodes the provided URL safe base 64 string. + + The URL safe base 64 string to decode. + The UTF8 byte representation of the decoded string. + + + Encodes the provided UTF8 string into an URL safe base64 string. + Value to encode. + The URL safe base64 string. + + + Encodes the byte array into an URL safe base64 string. + Byte array to encode. + The URL safe base64 string. + + + Encodes the base64 string into an URL safe string. + The base64 string to make URL safe. + The URL safe base64 string. + diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Calendar.v3.dll b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Calendar.v3.dll index 735f5d79931962b7234103e80213f5be7dc31061..280244c8b59b2ef1c8a6c3bc73e936cbfc8bd9ac 100644 GIT binary patch literal 93696 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 Tn|!vM@IN85|C`6YCGh_M6}2SO literal 93184 zcmeFa2Ygi3+BN>{laORW3#nuh!h}Fbflw_V!bDJrfPf$4> zCzh+Z_KNi~u^>_LioIR$1Zyl;tl0fO&)Ux>6Hs53d%y4f{=bW6&01^sXYaGmnKLJo z@zd8(0ud$h&(A*--OsP`F9`f?2y=3$?hkgNdwd%U?>FN%7EYN{vnX)v!udxotUe}i zMD@IR^N$N0J}aoBc@xMB*cY+YE zH;^i1yMGZw9oRbUWJ6Q7OZrV2AWDhLkivRQoUS--)``cle&=BBFQ;Lw-0%2*0isaF z!bJ;@U=w}gKB6;+@@w3`AWv7t!dY|Yb4KYaai1jybkq*{_LAiIe~(C9`JeR7qjofG z0nvsOLq52zkjUc?x5{5-1HDD*M5!g*d{P^R$Y;hwx;}_Y}^d6~9V2cUAaU;XH$hWd+&i6cU*-|3V(yv1NOC zC7Il8uf9pe3%UJc+2=sX%ToLDio6tfOQb{cDxHy6>4>~aC*)N+Ag|K6yh_9Jibj*l zdhqzNxFNB!<&}-4AZ+9~1B8vP&H!N}*BKye_?-d5MxHZ3*vNMV2*wWvr0chM$Qh~f>1w~a(>b0BQ+fnyC2Hh3Gc1_&FxrC0-m z4PMvQ04cBwT`KSG5kJS!_+r9N97tR!$GHR$&N<#0 zAZ+aC43M~@e3@zM1mT<$odLqeBxiuIvA;7w*qH1L5H_Yb1B8tOoB_hdRA+#&G0hnu zY#ite5H=2S21wixrn>|X&UvsiK-ie!43M~@hqwd~&UvUaK-f6U86a$goB=Y>oBsk| z;+61jkjgtzLJ98zsq_ zV~I0B;_5oZC4g|wrOp6h<5XvWu(8Y;AZ&!40m4SDGeFo_?hFt%RyYHMjnkX~!p7;& z0Ab?{XMn^FVWmp|;hbkW1B8t_XMn^NJI@JzE^`J58<#r+gpDhl0m8Z#V;ljW?YE!h`!@$HBGey7-673&MFn-ZAedn)fZ27la%7r!zp}IvsNfAe^(= z86a^vH@gH7&iS@8K-hT486a%D>kJU?GT+0|XeB=y}xVk=e2_T&F6K8<1@h@k9u<@xgK-k#g43N0WKXVBn zJlgI%jy9m9{oLgR;k-pV=IyC@zi@d$S{t;7#O_Lom<^_GF-*8y5&0e8<+lkp%HC%;WZWpnQu)UhF{IjI5gdVS(^C`STY$!60n-oB_f{sxv^?XzvUV z|H7+mEObpEBv|`=?;HQTl0jG#gLiUGp!|)kF%kOvW8#&d{3EU9h5q64n_9~Y{ln#3 zTFVRl{pHKf=Q+i(+pgqbnbS^*C5OmsVo5coxI(A6gPR@@p0AG10AZt(GeFqj4`b{i z0O7?R;u?9e|HwV$7hk)$quuUne66K(`@i9M*ZtEO#pg=fs zU7P{JM!GXV*vN1O2*-Awjct|{Q=<)c6SB{8v$p4uuEauoK4_%KMVG#YgDxkB?V^@;h;yqWn%Arzqd6wf{o@ zaR2}OaV~p1j;nShcgZ?VEV-}Ea_;FS7KCTImoq@vD0T)2ukU;9`fhvafdjGab#~nP z-ih~9IFA4P@ew!vzuECW+GhN{-RMAgxFya2VWZR;AUys?JN~wp2mf2gFZ(>s?TIBX zW8m(jUgm}c!s9G=1_&E{oB_f{UuS@@QQ-^_Huzy2dr}8sqrWpiICwAF;I%!=@4?3e zpMSR7KjO~wJF$P@Jh>D5$N!4+{7&p2|Gw*lx3GTPb;1BQvmpM3i)0S{3-xrj3^UsH zeD`m=PSER?ciZ%5pz9CF_SY>B{3rWUDJQzbl8@1!z4SCZ$n^(g`|Flp>d#1=FGtDw z@=x!VxNgz@e9@*qgI#|>_(=SmlXtjX^1j506QwV>7lpdom3%LCC6@fyrpjGhl^}ey z@9GQ?uI2~ZM%z=xe{Afs*K2><@q

-(-22@1|ro*F6yK@9xe3;r=Gc^HKhVZMXLS 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 OAuth 2.0 scopes for use with the Calendar API.

- See, edit, share, and permanently delete all the calendars you can access using Google - Calendar + + See, edit, share, and permanently delete all the calendars you can access using Google Calendar + View and edit events on all your calendars @@ -52,7 +53,7 @@ View events on all your calendars - View your calendars + See and download any calendar you can access using your Google Calendar View your Calendar settings @@ -61,8 +62,9 @@ Available OAuth 2.0 scope constants for use with the Calendar API. - See, edit, share, and permanently delete all the calendars you can access using Google - Calendar + + See, edit, share, and permanently delete all the calendars you can access using Google Calendar + View and edit events on all your calendars @@ -71,7 +73,7 @@ View events on all your calendars - View your calendars + See and download any calendar you can access using your Google Calendar View your Calendar settings @@ -108,7 +110,6 @@ Data format for the response. - [default: json] Data format for the response. @@ -120,19 +121,21 @@ Selector specifying which fields to include in a partial response. - API key. Your API key identifies your project and provides you with API access, quota, and reports. - Required unless you provide an OAuth 2.0 token. + + API key. Your API key identifies your project and provides you with API access, quota, and reports. Required + unless you provide an OAuth 2.0 token. + OAuth 2.0 token for the current user. Returns response with indentations and line breaks. - [default: true] - An opaque string that represents a user for quota purposes. Must not exceed 40 - characters. + + An opaque string that represents a user for quota purposes. Must not exceed 40 characters. + Deprecated. Please use quotaUser instead. @@ -150,11 +153,12 @@ Constructs a new resource. - Deletes an access control rule. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - ACL rule identifier. + Deletes an access control rule. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + ACL rule identifier. Deletes an access control rule. @@ -163,8 +167,10 @@ Constructs a new Delete request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + ACL rule identifier. @@ -182,11 +188,12 @@ Initializes Delete parameter list. - Returns an access control rule. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - ACL rule identifier. + Returns an access control rule. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + ACL rule identifier. Returns an access control rule. @@ -195,8 +202,10 @@ Constructs a new Get request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + ACL rule identifier. @@ -216,8 +225,10 @@ Creates an access control rule. The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Creates an access control rule. @@ -226,12 +237,15 @@ Constructs a new Insert request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Whether to send notifications about the calendar sharing change. Optional. The default is - True. + + Whether to send notifications about the calendar sharing change. Optional. The default is True. + Gets or sets the body of this request. @@ -253,8 +267,10 @@ Returns the rules in the access control list for the calendar. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Returns the rules in the access control list for the calendar. @@ -263,30 +279,35 @@ Constructs a new List request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Maximum number of entries returned on one result page. By default the value is 100 entries. The - page size can never be larger than 250 entries. Optional. - [minimum: 1] + + Maximum number of entries returned on one result page. By default the value is 100 entries. The page + size can never be larger than 250 entries. Optional. + Token specifying which result page to return. Optional. - Whether to include deleted ACLs in the result. Deleted ACLs are represented by role equal to - "none". Deleted ACLs will always be included if syncToken is provided. Optional. The default is - False. + + Whether to include deleted ACLs in the result. Deleted ACLs are represented by role equal to "none". + Deleted ACLs will always be included if syncToken is provided. Optional. The default is False. + - Token obtained from the nextSyncToken field returned on the last page of results from the - previous list request. It makes the result of this list request contain only entries that have changed - since then. All entries deleted since the previous list request will always be in the result set and it - is not allowed to set showDeleted to False. If the syncToken expires, the server will respond with a 410 - GONE response code and the client should clear its storage and perform a full synchronization without - any syncToken. Learn more about incremental synchronization. Optional. The default is to return all - entries. + + Token obtained from the nextSyncToken field returned on the last page of results from the previous list + request. It makes the result of this list request contain only entries that have changed since then. All + entries deleted since the previous list request will always be in the result set and it is not allowed + to set showDeleted to False. If the syncToken expires, the server will respond with a 410 GONE response + code and the client should clear its storage and perform a full synchronization without any syncToken. + Learn more about incremental synchronization. Optional. The default is to return all entries. + Gets the method name. @@ -301,12 +322,13 @@ Initializes List parameter list. - Updates an access control rule. This method supports patch semantics. - The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - ACL rule identifier. + Updates an access control rule. This method supports patch semantics. + The body of the request. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + ACL rule identifier. Updates an access control rule. This method supports patch semantics. @@ -315,15 +337,19 @@ Constructs a new Patch request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + ACL rule identifier. - Whether to send notifications about the calendar sharing change. Note that there are no - notifications on access removal. Optional. The default is True. + + Whether to send notifications about the calendar sharing change. Note that there are no notifications on + access removal. Optional. The default is True. + Gets or sets the body of this request. @@ -344,12 +370,13 @@ Initializes Patch parameter list. - Updates an access control rule. - The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - ACL rule identifier. + Updates an access control rule. + The body of the request. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + ACL rule identifier. Updates an access control rule. @@ -358,15 +385,19 @@ Constructs a new Update request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + ACL rule identifier. - Whether to send notifications about the calendar sharing change. Note that there are no - notifications on access removal. Optional. The default is True. + + Whether to send notifications about the calendar sharing change. Note that there are no notifications on + access removal. Optional. The default is True. + Gets or sets the body of this request. @@ -389,8 +420,10 @@ Watch for changes to ACL resources. The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Watch for changes to ACL resources. @@ -399,30 +432,35 @@ Constructs a new Watch request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Maximum number of entries returned on one result page. By default the value is 100 entries. The - page size can never be larger than 250 entries. Optional. - [minimum: 1] + + Maximum number of entries returned on one result page. By default the value is 100 entries. The page + size can never be larger than 250 entries. Optional. + Token specifying which result page to return. Optional. - Whether to include deleted ACLs in the result. Deleted ACLs are represented by role equal to - "none". Deleted ACLs will always be included if syncToken is provided. Optional. The default is - False. + + Whether to include deleted ACLs in the result. Deleted ACLs are represented by role equal to "none". + Deleted ACLs will always be included if syncToken is provided. Optional. The default is False. + - Token obtained from the nextSyncToken field returned on the last page of results from the - previous list request. It makes the result of this list request contain only entries that have changed - since then. All entries deleted since the previous list request will always be in the result set and it - is not allowed to set showDeleted to False. If the syncToken expires, the server will respond with a 410 - GONE response code and the client should clear its storage and perform a full synchronization without - any syncToken. Learn more about incremental synchronization. Optional. The default is to return all - entries. + + Token obtained from the nextSyncToken field returned on the last page of results from the previous list + request. It makes the result of this list request contain only entries that have changed since then. All + entries deleted since the previous list request will always be in the result set and it is not allowed + to set showDeleted to False. If the syncToken expires, the server will respond with a 410 GONE response + code and the client should clear its storage and perform a full synchronization without any syncToken. + Learn more about incremental synchronization. Optional. The default is to return all entries. + Gets or sets the body of this request. @@ -453,8 +491,10 @@ Removes a calendar from the user's calendar list. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Removes a calendar from the user's calendar list. @@ -463,8 +503,10 @@ Constructs a new Delete request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Gets the method name. @@ -480,8 +522,10 @@ Returns a calendar from the user's calendar list. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Returns a calendar from the user's calendar list. @@ -490,8 +534,10 @@ Constructs a new Get request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Gets the method name. @@ -516,9 +562,11 @@ Constructs a new Insert request. - Whether to use the foregroundColor and backgroundColor fields to write the calendar colors - (RGB). If this feature is used, the index-based colorId field will be set to the best matching option - automatically. Optional. The default is False. + + Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If + this feature is used, the index-based colorId field will be set to the best matching option + automatically. Optional. The default is False. + Gets or sets the body of this request. @@ -548,17 +596,20 @@ Constructs a new List request. - Maximum number of entries returned on one result page. By default the value is 100 entries. The - page size can never be larger than 250 entries. Optional. - [minimum: 1] + + Maximum number of entries returned on one result page. By default the value is 100 entries. The page + size can never be larger than 250 entries. Optional. + - The minimum access role for the user in the returned entries. Optional. The default is no - restriction. + + The minimum access role for the user in the returned entries. Optional. The default is no restriction. + - The minimum access role for the user in the returned entries. Optional. The default is no - restriction. + + The minimum access role for the user in the returned entries. Optional. The default is no restriction. + The user can read free/busy information. @@ -576,22 +627,25 @@ Token specifying which result page to return. Optional. - Whether to include deleted calendar list entries in the result. Optional. The default is - False. + + Whether to include deleted calendar list entries in the result. Optional. The default is False. + Whether to show hidden entries. Optional. The default is False. - Token obtained from the nextSyncToken field returned on the last page of results from the - previous list request. It makes the result of this list request contain only entries that have changed - since then. If only read-only fields such as calendar properties or ACLs have changed, the entry won't - be returned. All entries deleted and hidden since the previous list request will always be in the result - set and it is not allowed to set showDeleted neither showHidden to False. To ensure client state - consistency minAccessRole query parameter cannot be specified together with nextSyncToken. If the - syncToken expires, the server will respond with a 410 GONE response code and the client should clear its - storage and perform a full synchronization without any syncToken. Learn more about incremental - synchronization. Optional. The default is to return all entries. + + Token obtained from the nextSyncToken field returned on the last page of results from the previous list + request. It makes the result of this list request contain only entries that have changed since then. If + only read-only fields such as calendar properties or ACLs have changed, the entry won't be returned. All + entries deleted and hidden since the previous list request will always be in the result set and it is + not allowed to set showDeleted neither showHidden to False. To ensure client state consistency + minAccessRole query parameter cannot be specified together with nextSyncToken. If the syncToken expires, + the server will respond with a 410 GONE response code and the client should clear its storage and + perform a full synchronization without any syncToken. Learn more about incremental synchronization. + Optional. The default is to return all entries. + Gets the method name. @@ -606,27 +660,35 @@ Initializes List parameter list. - Updates an existing calendar on the user's calendar list. This method supports patch - semantics. + + Updates an existing calendar on the user's calendar list. This method supports patch semantics. + The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + - Updates an existing calendar on the user's calendar list. This method supports patch - semantics. + + Updates an existing calendar on the user's calendar list. This method supports patch semantics. + Constructs a new Patch request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Whether to use the foregroundColor and backgroundColor fields to write the calendar colors - (RGB). If this feature is used, the index-based colorId field will be set to the best matching option - automatically. Optional. The default is False. + + Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If + this feature is used, the index-based colorId field will be set to the best matching option + automatically. Optional. The default is False. + Gets or sets the body of this request. @@ -649,8 +711,10 @@ Updates an existing calendar on the user's calendar list. The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Updates an existing calendar on the user's calendar list. @@ -659,13 +723,17 @@ Constructs a new Update request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Whether to use the foregroundColor and backgroundColor fields to write the calendar colors - (RGB). If this feature is used, the index-based colorId field will be set to the best matching option - automatically. Optional. The default is False. + + Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If + this feature is used, the index-based colorId field will be set to the best matching option + automatically. Optional. The default is False. + Gets or sets the body of this request. @@ -696,17 +764,20 @@ Constructs a new Watch request. - Maximum number of entries returned on one result page. By default the value is 100 entries. The - page size can never be larger than 250 entries. Optional. - [minimum: 1] + + Maximum number of entries returned on one result page. By default the value is 100 entries. The page + size can never be larger than 250 entries. Optional. + - The minimum access role for the user in the returned entries. Optional. The default is no - restriction. + + The minimum access role for the user in the returned entries. Optional. The default is no restriction. + - The minimum access role for the user in the returned entries. Optional. The default is no - restriction. + + The minimum access role for the user in the returned entries. Optional. The default is no restriction. + The user can read free/busy information. @@ -724,22 +795,25 @@ Token specifying which result page to return. Optional. - Whether to include deleted calendar list entries in the result. Optional. The default is - False. + + Whether to include deleted calendar list entries in the result. Optional. The default is False. + Whether to show hidden entries. Optional. The default is False. - Token obtained from the nextSyncToken field returned on the last page of results from the - previous list request. It makes the result of this list request contain only entries that have changed - since then. If only read-only fields such as calendar properties or ACLs have changed, the entry won't - be returned. All entries deleted and hidden since the previous list request will always be in the result - set and it is not allowed to set showDeleted neither showHidden to False. To ensure client state - consistency minAccessRole query parameter cannot be specified together with nextSyncToken. If the - syncToken expires, the server will respond with a 410 GONE response code and the client should clear its - storage and perform a full synchronization without any syncToken. Learn more about incremental - synchronization. Optional. The default is to return all entries. + + Token obtained from the nextSyncToken field returned on the last page of results from the previous list + request. It makes the result of this list request contain only entries that have changed since then. If + only read-only fields such as calendar properties or ACLs have changed, the entry won't be returned. All + entries deleted and hidden since the previous list request will always be in the result set and it is + not allowed to set showDeleted neither showHidden to False. To ensure client state consistency + minAccessRole query parameter cannot be specified together with nextSyncToken. If the syncToken expires, + the server will respond with a 410 GONE response code and the client should clear its storage and + perform a full synchronization without any syncToken. Learn more about incremental synchronization. + Optional. The default is to return all entries. + Gets or sets the body of this request. @@ -769,21 +843,29 @@ Constructs a new resource. - Clears a primary calendar. This operation deletes all events associated with the primary calendar - of an account. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Clears a primary calendar. This operation deletes all events associated with the primary calendar of an + account. + + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + - Clears a primary calendar. This operation deletes all events associated with the primary calendar - of an account. + + Clears a primary calendar. This operation deletes all events associated with the primary calendar of an + account. + Constructs a new Clear request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Gets the method name. @@ -798,21 +880,27 @@ Initializes Clear parameter list. - Deletes a secondary calendar. Use calendars.clear for clearing all events on primary - calendars. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. + + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + - Deletes a secondary calendar. Use calendars.clear for clearing all events on primary - calendars. + + Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. + Constructs a new Delete request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Gets the method name. @@ -828,8 +916,10 @@ Returns metadata for a calendar. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Returns metadata for a calendar. @@ -838,8 +928,10 @@ Constructs a new Get request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Gets the method name. @@ -884,8 +976,10 @@ Updates metadata for a calendar. This method supports patch semantics. The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Updates metadata for a calendar. This method supports patch semantics. @@ -894,8 +988,10 @@ Constructs a new Patch request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Gets or sets the body of this request. @@ -918,8 +1014,10 @@ Updates metadata for a calendar. The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Updates metadata for a calendar. @@ -928,8 +1026,10 @@ Constructs a new Update request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Gets or sets the body of this request. @@ -1026,11 +1126,12 @@ Constructs a new resource. - Deletes an event. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - Event identifier. + Deletes an event. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + Event identifier. Deletes an event. @@ -1039,17 +1140,20 @@ Constructs a new Delete request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Event identifier. - Deprecated. Please use sendUpdates instead. - - Whether to send notifications about the deletion of the event. Note that some emails might still be sent - even if you set the value to false. The default is false. + + Deprecated. Please use sendUpdates instead. Whether to send notifications about the deletion of the + event. Note that some emails might still be sent even if you set the value to false. The default is + false. + Guests who should receive notifications about the deletion of the event. @@ -1064,8 +1168,10 @@ Notifications are sent to non-Google Calendar guests only. - No notifications are sent. This value should only be used for migration use cases (note - that in most migration cases the import method should be used). + + No notifications are sent. For calendar migration tasks, consider using the Events.import method + instead. + Gets the method name. @@ -1080,11 +1186,12 @@ Initializes Delete parameter list. - Returns an event. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - Event identifier. + Returns an event. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + Event identifier. Returns an event. @@ -1093,26 +1200,31 @@ Constructs a new Get request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Event identifier. - Whether to always include a value in the email field for the organizer, creator and attendees, - even if no real email is available (i.e. a generated, non-working value will be provided). The use of - this option is discouraged and should only be used by clients which cannot handle the absence of an - email address value in the mentioned places. Optional. The default is False. + + Deprecated and ignored. A value will always be returned in the email field for the organizer, creator + and attendees, even if no real email address is available (i.e. a generated, non-working value will be + provided). + - The maximum number of attendees to include in the response. If there are more than the - specified number of attendees, only the participant is returned. Optional. - [minimum: 1] + + The maximum number of attendees to include in the response. If there are more than the specified number + of attendees, only the participant is returned. Optional. + - Time zone used in the response. Optional. The default is the time zone of the - calendar. + + Time zone used in the response. Optional. The default is the time zone of the calendar. + Gets the method name. @@ -1127,34 +1239,41 @@ Initializes Get parameter list. - Imports an event. This operation is used to add a private copy of an existing event to a - calendar. + + Imports an event. This operation is used to add a private copy of an existing event to a calendar. + The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + - Imports an event. This operation is used to add a private copy of an existing event to a - calendar. + + Imports an event. This operation is used to add a private copy of an existing event to a calendar. + Constructs a new Import request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Version number of conference data supported by the API client. Version 0 assumes no conference - data support and ignores conference data in the event's body. Version 1 enables support for copying of + + Version number of conference data supported by the API client. Version 0 assumes no conference data + support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. - The default is 0. - [minimum: 0] - [maximum: 1] + The default is 0. + - Whether API client performing operation supports event attachments. Optional. The default is - False. + + Whether API client performing operation supports event attachments. Optional. The default is False. + Gets or sets the body of this request. @@ -1177,8 +1296,10 @@ Creates an event. The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Creates an event. @@ -1187,35 +1308,43 @@ Constructs a new Insert request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Version number of conference data supported by the API client. Version 0 assumes no conference - data support and ignores conference data in the event's body. Version 1 enables support for copying of + + Version number of conference data supported by the API client. Version 0 assumes no conference data + support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. - The default is 0. - [minimum: 0] - [maximum: 1] + The default is 0. + - The maximum number of attendees to include in the response. If there are more than the - specified number of attendees, only the participant is returned. Optional. - [minimum: 1] + + The maximum number of attendees to include in the response. If there are more than the specified number + of attendees, only the participant is returned. Optional. + - Deprecated. Please use sendUpdates instead. - - Whether to send notifications about the creation of the new event. Note that some emails might still be - sent even if you set the value to false. The default is false. + + Deprecated. Please use sendUpdates instead. Whether to send notifications about the creation of the new + event. Note that some emails might still be sent even if you set the value to false. The default is + false. + - Whether to send notifications about the creation of the new event. Note that some emails might - still be sent. The default is false. + + Whether to send notifications about the creation of the new event. Note that some emails might still be + sent. The default is false. + - Whether to send notifications about the creation of the new event. Note that some emails might - still be sent. The default is false. + + Whether to send notifications about the creation of the new event. Note that some emails might still be + sent. The default is false. + Notifications are sent to all guests. @@ -1224,12 +1353,15 @@ Notifications are sent to non-Google Calendar guests only. - No notifications are sent. This value should only be used for migration use cases (note - that in most migration cases the import method should be used). + + No notifications are sent. For calendar migration tasks, consider using the Events.import method + instead. + - Whether API client performing operation supports event attachments. Optional. The default is - False. + + Whether API client performing operation supports event attachments. Optional. The default is False. + Gets or sets the body of this request. @@ -1250,11 +1382,12 @@ Initializes Insert parameter list. - Returns instances of the specified recurring event. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - Recurring event identifier. + Returns instances of the specified recurring event. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + Recurring event identifier. Returns instances of the specified recurring event. @@ -1263,27 +1396,32 @@ Constructs a new Instances request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Recurring event identifier. - Whether to always include a value in the email field for the organizer, creator and attendees, - even if no real email is available (i.e. a generated, non-working value will be provided). The use of - this option is discouraged and should only be used by clients which cannot handle the absence of an - email address value in the mentioned places. Optional. The default is False. + + Deprecated and ignored. A value will always be returned in the email field for the organizer, creator + and attendees, even if no real email address is available (i.e. a generated, non-working value will be + provided). + - The maximum number of attendees to include in the response. If there are more than the - specified number of attendees, only the participant is returned. Optional. - [minimum: 1] + + The maximum number of attendees to include in the response. If there are more than the specified number + of attendees, only the participant is returned. Optional. + - Maximum number of events returned on one result page. By default the value is 250 events. The - page size can never be larger than 2500 events. Optional. - [minimum: 1] + + Maximum number of events returned on one result page. By default the value is 250 events. The page size + can never be larger than 2500 events. Optional. + The original start time of the instance in the result. Optional. @@ -1292,21 +1430,27 @@ Token specifying which result page to return. Optional. - Whether to include deleted events (with status equals "cancelled") in the result. Cancelled - instances of recurring events will still be included if singleEvents is False. Optional. The default is - False. + + Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of + recurring events will still be included if singleEvents is False. Optional. The default is False. + - Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to - filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset. + + Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter + by start time. Must be an RFC3339 timestamp with mandatory time zone offset. + - Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to - filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset. + + Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by + end time. Must be an RFC3339 timestamp with mandatory time zone offset. + - Time zone used in the response. Optional. The default is the time zone of the - calendar. + + Time zone used in the response. Optional. The default is the time zone of the calendar. + Gets the method name. @@ -1322,8 +1466,10 @@ Returns events on the specified calendar. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Returns events on the specified calendar. @@ -1332,42 +1478,50 @@ Constructs a new List request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Whether to always include a value in the email field for the organizer, creator and attendees, - even if no real email is available (i.e. a generated, non-working value will be provided). The use of - this option is discouraged and should only be used by clients which cannot handle the absence of an - email address value in the mentioned places. Optional. The default is False. + + Deprecated and ignored. A value will always be returned in the email field for the organizer, creator + and attendees, even if no real email address is available (i.e. a generated, non-working value will be + provided). + Specifies event ID in the iCalendar format to be included in the response. Optional. - The maximum number of attendees to include in the response. If there are more than the - specified number of attendees, only the participant is returned. Optional. - [minimum: 1] + + The maximum number of attendees to include in the response. If there are more than the specified number + of attendees, only the participant is returned. Optional. + - Maximum number of events returned on one result page. The number of events in the resulting - page may be less than this value, or none at all, even if there are more events matching the query. - Incomplete pages can be detected by a non-empty nextPageToken field in the response. By default the - value is 250 events. The page size can never be larger than 2500 events. Optional. - [default: 250] - [minimum: 1] + + Maximum number of events returned on one result page. The number of events in the resulting page may be + less than this value, or none at all, even if there are more events matching the query. Incomplete pages + can be detected by a non-empty nextPageToken field in the response. By default the value is 250 events. + The page size can never be larger than 2500 events. Optional. + - The order of the events returned in the result. Optional. The default is an unspecified, stable - order. + + The order of the events returned in the result. Optional. The default is an unspecified, stable order. + - The order of the events returned in the result. Optional. The default is an unspecified, stable - order. + + The order of the events returned in the result. Optional. The default is an unspecified, stable order. + - Order by the start date/time (ascending). This is only available when querying single - events (i.e. the parameter singleEvents is True) + + Order by the start date/time (ascending). This is only available when querying single events (i.e. + the parameter singleEvents is True) + Order by last modification time (ascending). @@ -1376,66 +1530,80 @@ Token specifying which result page to return. Optional. - Extended properties constraint specified as propertyName=value. Matches only private - properties. This parameter might be repeated multiple times to return events that match all given - constraints. + + Extended properties constraint specified as propertyName=value. Matches only private properties. This + parameter might be repeated multiple times to return events that match all given constraints. + - Free text search terms to find events that match these terms in any field, except for extended - properties. Optional. + + Free text search terms to find events that match these terms in any field, except for extended + properties. Optional. + - Extended properties constraint specified as propertyName=value. Matches only shared properties. - This parameter might be repeated multiple times to return events that match all given - constraints. + + Extended properties constraint specified as propertyName=value. Matches only shared properties. This + parameter might be repeated multiple times to return events that match all given constraints. + - Whether to include deleted events (with status equals "cancelled") in the result. Cancelled - instances of recurring events (but not the underlying recurring event) will still be included if - showDeleted and singleEvents are both False. If showDeleted and singleEvents are both True, only single - instances of deleted events (but not the underlying recurring events) are returned. Optional. The - default is False. + + Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of + recurring events (but not the underlying recurring event) will still be included if showDeleted and + singleEvents are both False. If showDeleted and singleEvents are both True, only single instances of + deleted events (but not the underlying recurring events) are returned. Optional. The default is False. + Whether to include hidden invitations in the result. Optional. The default is False. - Whether to expand recurring events into instances and only return single one-off events and - instances of recurring events, but not the underlying recurring events themselves. Optional. The default - is False. + + Whether to expand recurring events into instances and only return single one-off events and instances of + recurring events, but not the underlying recurring events themselves. Optional. The default is False. + - Token obtained from the nextSyncToken field returned on the last page of results from the - previous list request. It makes the result of this list request contain only entries that have changed - since then. All events deleted since the previous list request will always be in the result set and it - is not allowed to set showDeleted to False. There are several query parameters that cannot be specified - together with nextSyncToken to ensure consistency of the client state. - - These are: - iCalUID - orderBy - privateExtendedProperty - q - sharedExtendedProperty - timeMin - - timeMax - updatedMin If the syncToken expires, the server will respond with a 410 GONE response code and - the client should clear its storage and perform a full synchronization without any syncToken. Learn more - about incremental synchronization. Optional. The default is to return all entries. + + Token obtained from the nextSyncToken field returned on the last page of results from the previous list + request. It makes the result of this list request contain only entries that have changed since then. All + events deleted since the previous list request will always be in the result set and it is not allowed to + set showDeleted to False. There are several query parameters that cannot be specified together with + nextSyncToken to ensure consistency of the client state. These are: - iCalUID - orderBy - + privateExtendedProperty - q - sharedExtendedProperty - timeMin - timeMax - updatedMin If the + syncToken expires, the server will respond with a 410 GONE response code and the client should clear its + storage and perform a full synchronization without any syncToken. Learn more about incremental + synchronization. Optional. The default is to return all entries. + - Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to - filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, + + Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter + by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If - timeMin is set, timeMax must be greater than timeMin. + timeMin is set, timeMax must be greater than timeMin. + - Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to - filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, + + Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by + end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If - timeMax is set, timeMin must be smaller than timeMax. + timeMax is set, timeMin must be smaller than timeMax. + - Time zone used in the response. Optional. The default is the time zone of the - calendar. + + Time zone used in the response. Optional. The default is the time zone of the calendar. + - Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When - specified, entries deleted since this time will always be included regardless of showDeleted. Optional. - The default is not to filter by last modification time. + + Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When specified, + entries deleted since this time will always be included regardless of showDeleted. Optional. The default + is not to filter by last modification time. + Gets the method name. @@ -1450,12 +1618,12 @@ Initializes List parameter list. - Moves an event to another calendar, i.e. changes an event's organizer. - Calendar identifier of the source calendar where the event currently is on. - - Event identifier. - Calendar identifier of the target - calendar where the event is to be moved to. + Moves an event to another calendar, i.e. changes an event's organizer. + Calendar identifier of the source calendar where the event currently is on. + Event identifier. + + Calendar identifier of the target calendar where the event is to be moved to. + Moves an event to another calendar, i.e. changes an event's organizer. @@ -1473,10 +1641,11 @@ Calendar identifier of the target calendar where the event is to be moved to. - Deprecated. Please use sendUpdates instead. - - Whether to send notifications about the change of the event's organizer. Note that some emails might - still be sent even if you set the value to false. The default is false. + + Deprecated. Please use sendUpdates instead. Whether to send notifications about the change of the + event's organizer. Note that some emails might still be sent even if you set the value to false. The + default is false. + Guests who should receive notifications about the change of the event's organizer. @@ -1491,8 +1660,10 @@ Notifications are sent to non-Google Calendar guests only. - No notifications are sent. This value should only be used for migration use cases (note - that in most migration cases the import method should be used). + + No notifications are sent. For calendar migration tasks, consider using the Events.import method + instead. + Gets the method name. @@ -1507,12 +1678,13 @@ Initializes Move parameter list. - Updates an event. This method supports patch semantics. - The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - Event identifier. + Updates an event. This method supports patch semantics. + The body of the request. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + Event identifier. Updates an event. This method supports patch semantics. @@ -1521,44 +1693,51 @@ Constructs a new Patch request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Event identifier. - Whether to always include a value in the email field for the organizer, creator and attendees, - even if no real email is available (i.e. a generated, non-working value will be provided). The use of - this option is discouraged and should only be used by clients which cannot handle the absence of an - email address value in the mentioned places. Optional. The default is False. + + Deprecated and ignored. A value will always be returned in the email field for the organizer, creator + and attendees, even if no real email address is available (i.e. a generated, non-working value will be + provided). + - Version number of conference data supported by the API client. Version 0 assumes no conference - data support and ignores conference data in the event's body. Version 1 enables support for copying of + + Version number of conference data supported by the API client. Version 0 assumes no conference data + support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. - The default is 0. - [minimum: 0] - [maximum: 1] + The default is 0. + - The maximum number of attendees to include in the response. If there are more than the - specified number of attendees, only the participant is returned. Optional. - [minimum: 1] + + The maximum number of attendees to include in the response. If there are more than the specified number + of attendees, only the participant is returned. Optional. + - Deprecated. Please use sendUpdates instead. - - Whether to send notifications about the event update (for example, description changes, etc.). Note that - some emails might still be sent even if you set the value to false. The default is false. + + Deprecated. Please use sendUpdates instead. Whether to send notifications about the event update (for + example, description changes, etc.). Note that some emails might still be sent even if you set the value + to false. The default is false. + - Guests who should receive notifications about the event update (for example, title changes, - etc.). + + Guests who should receive notifications about the event update (for example, title changes, etc.). + - Guests who should receive notifications about the event update (for example, title changes, - etc.). + + Guests who should receive notifications about the event update (for example, title changes, etc.). + Notifications are sent to all guests. @@ -1567,12 +1746,15 @@ Notifications are sent to non-Google Calendar guests only. - No notifications are sent. This value should only be used for migration use cases (note - that in most migration cases the import method should be used). + + No notifications are sent. For calendar migration tasks, consider using the Events.import method + instead. + - Whether API client performing operation supports event attachments. Optional. The default is - False. + + Whether API client performing operation supports event attachments. Optional. The default is False. + Gets or sets the body of this request. @@ -1593,11 +1775,12 @@ Initializes Patch parameter list. - Creates an event based on a simple text string. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - The text describing the event to be created. + Creates an event based on a simple text string. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + The text describing the event to be created. Creates an event based on a simple text string. @@ -1606,17 +1789,20 @@ Constructs a new QuickAdd request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + The text describing the event to be created. - Deprecated. Please use sendUpdates instead. - - Whether to send notifications about the creation of the event. Note that some emails might still be sent - even if you set the value to false. The default is false. + + Deprecated. Please use sendUpdates instead. Whether to send notifications about the creation of the + event. Note that some emails might still be sent even if you set the value to false. The default is + false. + Guests who should receive notifications about the creation of the new event. @@ -1631,8 +1817,10 @@ Notifications are sent to non-Google Calendar guests only. - No notifications are sent. This value should only be used for migration use cases (note - that in most migration cases the import method should be used). + + No notifications are sent. For calendar migration tasks, consider using the Events.import method + instead. + Gets the method name. @@ -1647,12 +1835,13 @@ Initializes QuickAdd parameter list. - Updates an event. - The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. - - Event identifier. + Updates an event. + The body of the request. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + + Event identifier. Updates an event. @@ -1661,44 +1850,51 @@ Constructs a new Update request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + Event identifier. - Whether to always include a value in the email field for the organizer, creator and attendees, - even if no real email is available (i.e. a generated, non-working value will be provided). The use of - this option is discouraged and should only be used by clients which cannot handle the absence of an - email address value in the mentioned places. Optional. The default is False. + + Deprecated and ignored. A value will always be returned in the email field for the organizer, creator + and attendees, even if no real email address is available (i.e. a generated, non-working value will be + provided). + - Version number of conference data supported by the API client. Version 0 assumes no conference - data support and ignores conference data in the event's body. Version 1 enables support for copying of + + Version number of conference data supported by the API client. Version 0 assumes no conference data + support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. - The default is 0. - [minimum: 0] - [maximum: 1] + The default is 0. + - The maximum number of attendees to include in the response. If there are more than the - specified number of attendees, only the participant is returned. Optional. - [minimum: 1] + + The maximum number of attendees to include in the response. If there are more than the specified number + of attendees, only the participant is returned. Optional. + - Deprecated. Please use sendUpdates instead. - - Whether to send notifications about the event update (for example, description changes, etc.). Note that - some emails might still be sent even if you set the value to false. The default is false. + + Deprecated. Please use sendUpdates instead. Whether to send notifications about the event update (for + example, description changes, etc.). Note that some emails might still be sent even if you set the value + to false. The default is false. + - Guests who should receive notifications about the event update (for example, title changes, - etc.). + + Guests who should receive notifications about the event update (for example, title changes, etc.). + - Guests who should receive notifications about the event update (for example, title changes, - etc.). + + Guests who should receive notifications about the event update (for example, title changes, etc.). + Notifications are sent to all guests. @@ -1707,12 +1903,15 @@ Notifications are sent to non-Google Calendar guests only. - No notifications are sent. This value should only be used for migration use cases (note - that in most migration cases the import method should be used). + + No notifications are sent. For calendar migration tasks, consider using the Events.import method + instead. + - Whether API client performing operation supports event attachments. Optional. The default is - False. + + Whether API client performing operation supports event attachments. Optional. The default is False. + Gets or sets the body of this request. @@ -1735,8 +1934,10 @@ Watch for changes to Events resources. The body of the request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you - want to access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the + primary calendar of the currently logged in user, use the "primary" keyword. + Watch for changes to Events resources. @@ -1745,42 +1946,50 @@ Constructs a new Watch request. - Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to - access the primary calendar of the currently logged in user, use the "primary" keyword. + + Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access + the primary calendar of the currently logged in user, use the "primary" keyword. + - Whether to always include a value in the email field for the organizer, creator and attendees, - even if no real email is available (i.e. a generated, non-working value will be provided). The use of - this option is discouraged and should only be used by clients which cannot handle the absence of an - email address value in the mentioned places. Optional. The default is False. + + Deprecated and ignored. A value will always be returned in the email field for the organizer, creator + and attendees, even if no real email address is available (i.e. a generated, non-working value will be + provided). + Specifies event ID in the iCalendar format to be included in the response. Optional. - The maximum number of attendees to include in the response. If there are more than the - specified number of attendees, only the participant is returned. Optional. - [minimum: 1] + + The maximum number of attendees to include in the response. If there are more than the specified number + of attendees, only the participant is returned. Optional. + - Maximum number of events returned on one result page. The number of events in the resulting - page may be less than this value, or none at all, even if there are more events matching the query. - Incomplete pages can be detected by a non-empty nextPageToken field in the response. By default the - value is 250 events. The page size can never be larger than 2500 events. Optional. - [default: 250] - [minimum: 1] + + Maximum number of events returned on one result page. The number of events in the resulting page may be + less than this value, or none at all, even if there are more events matching the query. Incomplete pages + can be detected by a non-empty nextPageToken field in the response. By default the value is 250 events. + The page size can never be larger than 2500 events. Optional. + - The order of the events returned in the result. Optional. The default is an unspecified, stable - order. + + The order of the events returned in the result. Optional. The default is an unspecified, stable order. + - The order of the events returned in the result. Optional. The default is an unspecified, stable - order. + + The order of the events returned in the result. Optional. The default is an unspecified, stable order. + - Order by the start date/time (ascending). This is only available when querying single - events (i.e. the parameter singleEvents is True) + + Order by the start date/time (ascending). This is only available when querying single events (i.e. + the parameter singleEvents is True) + Order by last modification time (ascending). @@ -1789,66 +1998,80 @@ Token specifying which result page to return. Optional. - Extended properties constraint specified as propertyName=value. Matches only private - properties. This parameter might be repeated multiple times to return events that match all given - constraints. + + Extended properties constraint specified as propertyName=value. Matches only private properties. This + parameter might be repeated multiple times to return events that match all given constraints. + - Free text search terms to find events that match these terms in any field, except for extended - properties. Optional. + + Free text search terms to find events that match these terms in any field, except for extended + properties. Optional. + - Extended properties constraint specified as propertyName=value. Matches only shared properties. - This parameter might be repeated multiple times to return events that match all given - constraints. + + Extended properties constraint specified as propertyName=value. Matches only shared properties. This + parameter might be repeated multiple times to return events that match all given constraints. + - Whether to include deleted events (with status equals "cancelled") in the result. Cancelled - instances of recurring events (but not the underlying recurring event) will still be included if - showDeleted and singleEvents are both False. If showDeleted and singleEvents are both True, only single - instances of deleted events (but not the underlying recurring events) are returned. Optional. The - default is False. + + Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of + recurring events (but not the underlying recurring event) will still be included if showDeleted and + singleEvents are both False. If showDeleted and singleEvents are both True, only single instances of + deleted events (but not the underlying recurring events) are returned. Optional. The default is False. + Whether to include hidden invitations in the result. Optional. The default is False. - Whether to expand recurring events into instances and only return single one-off events and - instances of recurring events, but not the underlying recurring events themselves. Optional. The default - is False. + + Whether to expand recurring events into instances and only return single one-off events and instances of + recurring events, but not the underlying recurring events themselves. Optional. The default is False. + - Token obtained from the nextSyncToken field returned on the last page of results from the - previous list request. It makes the result of this list request contain only entries that have changed - since then. All events deleted since the previous list request will always be in the result set and it - is not allowed to set showDeleted to False. There are several query parameters that cannot be specified - together with nextSyncToken to ensure consistency of the client state. - - These are: - iCalUID - orderBy - privateExtendedProperty - q - sharedExtendedProperty - timeMin - - timeMax - updatedMin If the syncToken expires, the server will respond with a 410 GONE response code and - the client should clear its storage and perform a full synchronization without any syncToken. Learn more - about incremental synchronization. Optional. The default is to return all entries. + + Token obtained from the nextSyncToken field returned on the last page of results from the previous list + request. It makes the result of this list request contain only entries that have changed since then. All + events deleted since the previous list request will always be in the result set and it is not allowed to + set showDeleted to False. There are several query parameters that cannot be specified together with + nextSyncToken to ensure consistency of the client state. These are: - iCalUID - orderBy - + privateExtendedProperty - q - sharedExtendedProperty - timeMin - timeMax - updatedMin If the + syncToken expires, the server will respond with a 410 GONE response code and the client should clear its + storage and perform a full synchronization without any syncToken. Learn more about incremental + synchronization. Optional. The default is to return all entries. + - Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to - filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, + + Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter + by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If - timeMin is set, timeMax must be greater than timeMin. + timeMin is set, timeMax must be greater than timeMin. + - Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to - filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, + + Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by + end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If - timeMax is set, timeMin must be smaller than timeMax. + timeMax is set, timeMin must be smaller than timeMax. + - Time zone used in the response. Optional. The default is the time zone of the - calendar. + + Time zone used in the response. Optional. The default is the time zone of the calendar. + - Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When - specified, entries deleted since this time will always be included regardless of showDeleted. Optional. - The default is not to filter by last modification time. + + Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When specified, + entries deleted since this time will always be included regardless of showDeleted. Optional. The default + is not to filter by last modification time. + Gets or sets the body of this request. @@ -1949,19 +2172,22 @@ Constructs a new List request. - Maximum number of entries returned on one result page. By default the value is 100 entries. The - page size can never be larger than 250 entries. Optional. - [minimum: 1] + + Maximum number of entries returned on one result page. By default the value is 100 entries. The page + size can never be larger than 250 entries. Optional. + Token specifying which result page to return. Optional. - Token obtained from the nextSyncToken field returned on the last page of results from the - previous list request. It makes the result of this list request contain only entries that have changed - since then. If the syncToken expires, the server will respond with a 410 GONE response code and the - client should clear its storage and perform a full synchronization without any syncToken. Learn more - about incremental synchronization. Optional. The default is to return all entries. + + Token obtained from the nextSyncToken field returned on the last page of results from the previous list + request. It makes the result of this list request contain only entries that have changed since then. If + the syncToken expires, the server will respond with a 410 GONE response code and the client should clear + its storage and perform a full synchronization without any syncToken. Learn more about incremental + synchronization. Optional. The default is to return all entries. + Gets the method name. @@ -1986,19 +2212,22 @@ Constructs a new Watch request. - Maximum number of entries returned on one result page. By default the value is 100 entries. The - page size can never be larger than 250 entries. Optional. - [minimum: 1] + + Maximum number of entries returned on one result page. By default the value is 100 entries. The page + size can never be larger than 250 entries. Optional. + Token specifying which result page to return. Optional. - Token obtained from the nextSyncToken field returned on the last page of results from the - previous list request. It makes the result of this list request contain only entries that have changed - since then. If the syncToken expires, the server will respond with a 410 GONE response code and the - client should clear its storage and perform a full synchronization without any syncToken. Learn more - about incremental synchronization. Optional. The default is to return all entries. + + Token obtained from the nextSyncToken field returned on the last page of results from the previous list + request. It makes the result of this list request contain only entries that have changed since then. If + the syncToken expires, the server will respond with a 410 GONE response code and the client should clear + its storage and perform a full synchronization without any syncToken. Learn more about incremental + synchronization. Optional. The default is to return all entries. + Gets or sets the body of this request. @@ -2028,50 +2257,60 @@ Type of the collection ("calendar#acl"). - Token used to access the next page of this result. Omitted if no further results are available, in - which case nextSyncToken is provided. + + Token used to access the next page of this result. Omitted if no further results are available, in which + case nextSyncToken is provided. + - Token used at a later point in time to retrieve only the entries that have changed since this - result was returned. Omitted if further results are available, in which case nextPageToken is - provided. + + Token used at a later point in time to retrieve only the entries that have changed since this result was + returned. Omitted if further results are available, in which case nextPageToken is provided. + ETag of the resource. - Identifier of the ACL rule. + Identifier of the Access Control List (ACL) rule. See Sharing calendars. Type of the resource ("calendar#aclRule"). - The role assigned to the scope. Possible values are: - "none" - Provides no access. - - "freeBusyReader" - Provides read access to free/busy information. - "reader" - Provides read access to the - calendar. Private events will appear to users with reader access, but event details will be hidden. - - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer - access, and event details will be visible. - "owner" - Provides ownership of the calendar. This role has all - of the permissions of the writer role with the additional ability to see and manipulate ACLs. + + The role assigned to the scope. Possible values are: - "none" - Provides no access. - "freeBusyReader" - + Provides read access to free/busy information. - "reader" - Provides read access to the calendar. Private + events will appear to users with reader access, but event details will be hidden. - "writer" - Provides + read and write access to the calendar. Private events will appear to users with writer access, and event + details will be visible. - "owner" - Provides ownership of the calendar. This role has all of the + permissions of the writer role with the additional ability to see and manipulate ACLs. + - The scope of the rule. + The extent to which calendar access is granted by this ACL rule. - The scope of the rule. + The extent to which calendar access is granted by this ACL rule. - The type of the scope. Possible values are: - "default" - The public scope. This is the default - value. - "user" - Limits the scope to a single user. - "group" - Limits the scope to a group. - "domain" - - Limits the scope to a domain. Note: The permissions granted to the "default", or public, scope apply - to any user, authenticated or not. + + The type of the scope. Possible values are: - "default" - The public scope. This is the default value. + - "user" - Limits the scope to a single user. - "group" - Limits the scope to a group. - "domain" - + Limits the scope to a domain. Note: The permissions granted to the "default", or public, scope apply to + any user, authenticated or not. + - The email address of a user or group, or the name of a domain, depending on the scope type. - Omitted for type "default". + + The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for + type "default". + - Conferencing properties for this calendar, for example what types of conferences are - allowed. + + Conferencing properties for this calendar, for example what types of conferences are allowed. + Description of the calendar. Optional. @@ -2092,8 +2331,10 @@ Title of the calendar. - The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. - "Europe/Zurich".) Optional. + + The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) + Optional. + ETag of the collection. @@ -2105,43 +2346,54 @@ Type of the collection ("calendar#calendarList"). - Token used to access the next page of this result. Omitted if no further results are available, in - which case nextSyncToken is provided. + + Token used to access the next page of this result. Omitted if no further results are available, in which + case nextSyncToken is provided. + - Token used at a later point in time to retrieve only the entries that have changed since this - result was returned. Omitted if further results are available, in which case nextPageToken is - provided. + + Token used at a later point in time to retrieve only the entries that have changed since this result was + returned. Omitted if further results are available, in which case nextPageToken is provided. + - The effective access role that the authenticated user has on the calendar. Read-only. Possible - values are: - "freeBusyReader" - Provides read access to free/busy information. - "reader" - Provides read - access to the calendar. Private events will appear to users with reader access, but event details will be - hidden. - "writer" - Provides read and write access to the calendar. Private events will appear to users - with writer access, and event details will be visible. - "owner" - Provides ownership of the calendar. This - role has all of the permissions of the writer role with the additional ability to see and manipulate - ACLs. + + The effective access role that the authenticated user has on the calendar. Read-only. Possible values are: + - "freeBusyReader" - Provides read access to free/busy information. - "reader" - Provides read access to + the calendar. Private events will appear to users with reader access, but event details will be hidden. - + "writer" - Provides read and write access to the calendar. Private events will appear to users with writer + access, and event details will be visible. - "owner" - Provides ownership of the calendar. This role has + all of the permissions of the writer role with the additional ability to see and manipulate ACLs. + - The main color of the calendar in the hexadecimal format "#0088aa". This property supersedes the - index-based colorId property. To set or change this property, you need to specify colorRgbFormat=true in the - parameters of the insert, update and patch methods. Optional. + + The main color of the calendar in the hexadecimal format "#0088aa". This property supersedes the index-based + colorId property. To set or change this property, you need to specify colorRgbFormat=true in the parameters + of the insert, update and patch methods. Optional. + - The color of the calendar. This is an ID referring to an entry in the calendar section of the - colors definition (see the colors endpoint). This property is superseded by the backgroundColor and - foregroundColor properties and can be ignored when using these properties. Optional. + + The color of the calendar. This is an ID referring to an entry in the calendar section of the colors + definition (see the colors endpoint). This property is superseded by the backgroundColor and foregroundColor + properties and can be ignored when using these properties. Optional. + - Conferencing properties for this calendar, for example what types of conferences are - allowed. + + Conferencing properties for this calendar, for example what types of conferences are allowed. + The default reminders that the authenticated user has for this calendar. - Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The - default is False. + + Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default + is False. + Description of the calendar. Optional. Read-only. @@ -2150,12 +2402,17 @@ ETag of the resource. - The foreground color of the calendar in the hexadecimal format "#ffffff". This property supersedes - the index-based colorId property. To set or change this property, you need to specify colorRgbFormat=true in - the parameters of the insert, update and patch methods. Optional. + + The foreground color of the calendar in the hexadecimal format "#ffffff". This property supersedes the + index-based colorId property. To set or change this property, you need to specify colorRgbFormat=true in the + parameters of the insert, update and patch methods. Optional. + - Whether the calendar has been hidden from the list. Optional. The default is False. + + Whether the calendar has been hidden from the list. Optional. The attribute is only returned when the + calendar is hidden, in which case the value is true. + Identifier of the calendar. @@ -2170,8 +2427,10 @@ The notifications that the authenticated user is receiving for this calendar. - Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The - default is False. + + Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is + False. + Whether the calendar content shows up in the calendar UI. Optional. The default is False. @@ -2192,19 +2451,19 @@ The list of notifications set for this calendar. - The method used to deliver the notification. Possible values are: - "email" - Notifications are - sent via email. - "sms" - Deprecated. Once this feature is shutdown, the API will no longer return - notifications using this method. Any newly added SMS notifications will be ignored. See Google Calendar SMS - notifications to be removed for more information. Notifications are sent via SMS. This value is read-only - and is ignored on inserts and updates. SMS notifications are only available for G Suite customers. Required - when adding a notification. + + The method used to deliver the notification. The possible value is: - "email" - Notifications are sent via + email. Required when adding a notification. + - The type of notification. Possible values are: - "eventCreation" - Notification sent when a new - event is put on the calendar. - "eventChange" - Notification sent when an event is changed. - - "eventCancellation" - Notification sent when an event is cancelled. - "eventResponse" - Notification sent - when an attendee responds to the event invitation. - "agenda" - An agenda with the events of the day (sent - out in the morning). Required when adding a notification. + + The type of notification. Possible values are: - "eventCreation" - Notification sent when a new event is + put on the calendar. - "eventChange" - Notification sent when an event is changed. - "eventCancellation" - + Notification sent when an event is cancelled. - "eventResponse" - Notification sent when an attendee + responds to the event invitation. - "agenda" - An agenda with the events of the day (sent out in the + morning). Required when adding a notification. + The ETag of the item. @@ -2213,15 +2472,17 @@ The address where notifications are delivered for this channel. - Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. - Optional. + + Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional. + A UUID or similar unique string that identifies this channel. - Identifies this as a notification channel used to watch for changes to a resource, which is - "api#channel". + + Identifies this as a notification channel used to watch for changes to a resource, which is "api#channel". + Additional parameters controlling delivery channel behavior. Optional. @@ -2230,18 +2491,25 @@ A Boolean value to indicate whether payload is wanted. Optional. - An opaque ID that identifies the resource being watched on this channel. Stable across different - API versions. + + An opaque ID that identifies the resource being watched on this channel. Stable across different API + versions. + A version-specific identifier for the watched resource. - An arbitrary string delivered to the target address with each notification delivered over this - channel. Optional. + + An arbitrary string delivered to the target address with each notification delivered over this channel. + Optional. + - The type of delivery mechanism used for this channel. + + The type of delivery mechanism used for this channel. Valid values are "web_hook" (or "webhook"). Both + values refer to a channel where Http requests are used to deliver messages. + The ETag of the item. @@ -2250,19 +2518,24 @@ The background color associated with this color definition. - The foreground color that can be used to write on top of a background with 'background' - color. + + The foreground color that can be used to write on top of a background with 'background' color. + The ETag of the item. - A global palette of calendar colors, mapping from the color ID to its definition. A - calendarListEntry resource refers to one of these color IDs in its color field. Read-only. + + A global palette of calendar colors, mapping from the color ID to its definition. A calendarListEntry + resource refers to one of these color IDs in its colorId field. Read-only. + - A global palette of event colors, mapping from the color ID to its definition. An event resource - may refer to one of these color IDs in its color field. Read-only. + + A global palette of event colors, mapping from the color ID to its definition. An event resource may refer + to one of these color IDs in its colorId field. Read-only. + Type of the resource ("calendar#colors"). @@ -2277,37 +2550,51 @@ The ETag of the item. - The ID of the conference. Can be used by developers to keep track of conferences, should not be - displayed to users. Values for solution types: - "eventHangout": unset. - "eventNamedHangout": the name of - the Hangout. - "hangoutsMeet": the 10-letter meeting code, for example "aaa-bbbb-ccc". Optional. + + The ID of the conference. Can be used by developers to keep track of conferences, should not be displayed to + users. The ID value is formed differently for each conference solution type: - eventHangout: ID is not + set. (This conference type is deprecated.) - eventNamedHangout: ID is the name of the Hangout. (This + conference type is deprecated.) - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc. + - addOn: ID is defined by the third-party provider. Optional. + - The conference solution, such as Hangouts or Hangouts Meet. Unset for a conference with a failed - create request. Either conferenceSolution and at least one entryPoint, or createRequest is - required. + + The conference solution, such as Google Meet. Unset for a conference with a failed create request. Either + conferenceSolution and at least one entryPoint, or createRequest is required. + - A request to generate a new conference and attach it to the event. The data is generated - asynchronously. To see whether the data is present check the status field. Either conferenceSolution and at - least one entryPoint, or createRequest is required. + + A request to generate a new conference and attach it to the event. The data is generated asynchronously. To + see whether the data is present check the status field. Either conferenceSolution and at least one + entryPoint, or createRequest is required. + - Information about individual conference entry points, such as URLs or phone numbers. All of them - must belong to the same conference. Either conferenceSolution and at least one entryPoint, or createRequest - is required. + + Information about individual conference entry points, such as URLs or phone numbers. All of them must belong + to the same conference. Either conferenceSolution and at least one entryPoint, or createRequest is required. + - Additional notes (such as instructions from the domain administrator, legal notices) to display to - the user. Can contain HTML. The maximum length is 2048 characters. Optional. + + Additional notes (such as instructions from the domain administrator, legal notices) to display to the user. + Can contain HTML. The maximum length is 2048 characters. Optional. + - Additional properties related to a conference. An example would be a solution-specific setting for - enabling video streaming. + + Additional properties related to a conference. An example would be a solution-specific setting for enabling + video streaming. + - The signature of the conference data. Generated on server side. Must be preserved while copying the + + The signature of the conference data. Generated on server side. Must be preserved while copying the conference data between events, otherwise the conference data will not be copied. Unset for a conference - with a failed create request. Optional for a conference with a pending create request. + with a failed create request. Optional for a conference with a pending create request. + The ETag of the item. @@ -2322,17 +2609,21 @@ The ETag of the item. - The types of conference solutions that are supported for this calendar. The possible values are: - - "eventHangout" - "eventNamedHangout" - "hangoutsMeet" Optional. + + The types of conference solutions that are supported for this calendar. The possible values are: - + "eventHangout" - "eventNamedHangout" - "hangoutsMeet" Optional. + The ETag of the item. - The current status of the conference create request. Read-only. The possible values are: - - "pending": the conference create request is still being processed. - "success": the conference create - request succeeded, the entry points are populated. - "failure": the conference create request failed, there - are no entry points. + + The current status of the conference create request. Read-only. The possible values are: - "pending": the + conference create request is still being processed. - "success": the conference create request succeeded, + the entry points are populated. - "failure": the conference create request failed, there are no entry + points. + The ETag of the item. @@ -2350,21 +2641,26 @@ The ETag of the item. - The conference solution type. If a client encounters an unfamiliar or empty type, it should still - be able to display the entry points. However, it should disallow modifications. The possible values are: - - "eventHangout" for Hangouts for consumers (http://hangouts.google.com) - "eventNamedHangout" for classic - Hangouts for G Suite users (http://hangouts.google.com) - "hangoutsMeet" for Hangouts Meet - (http://meet.google.com) + + The conference solution type. If a client encounters an unfamiliar or empty type, it should still be able to + display the entry points. However, it should disallow modifications. The possible values are: - + "eventHangout" for Hangouts for consumers (deprecated; existing events may show this conference solution + type but new conferences cannot be created) - "eventNamedHangout" for classic Hangouts for Google Workspace + users (deprecated; existing events may show this conference solution type but new conferences cannot be + created) - "hangoutsMeet" for Google Meet (http://meet.google.com) - "addOn" for 3P conference providers + The ETag of the item. - The conference solution, such as Hangouts or Hangouts Meet. + The conference solution, such as Hangouts or Google Meet. - The client-generated unique ID for this request. Clients should regenerate this ID for every new - request. If an ID provided is the same as for the previous request, the request is ignored. + + The client-generated unique ID for this request. Clients should regenerate this ID for every new request. If + an ID provided is the same as for the previous request, the request is ignored. + The status of the conference create request. @@ -2373,61 +2669,77 @@ The ETag of the item. - The access code to access the conference. The maximum length is 128 characters. When creating new - conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that - match the terminology that the conference provider uses. Only the populated fields should be displayed. - Optional. + + The access code to access the conference. The maximum length is 128 characters. When creating new conference + data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the + terminology that the conference provider uses. Only the populated fields should be displayed. Optional. + - Features of the entry point, such as being toll or toll-free. One entry point can have multiple - features. However, toll and toll-free cannot be both set on the same entry point. + + Features of the entry point, such as being toll or toll-free. One entry point can have multiple features. + However, toll and toll-free cannot be both set on the same entry point. + - The type of the conference entry point. Possible values are: - "video" - joining a conference over - HTTP. A conference can have zero or one video entry point. - "phone" - joining a conference by dialing a - phone number. A conference can have zero or more phone entry points. - "sip" - joining a conference over - SIP. A conference can have zero or one sip entry point. - "more" - further conference joining instructions, - for example additional phone numbers. A conference can have zero or one more entry point. A conference with - only a more entry point is not a valid conference. + + The type of the conference entry point. Possible values are: - "video" - joining a conference over HTTP. A + conference can have zero or one video entry point. - "phone" - joining a conference by dialing a phone + number. A conference can have zero or more phone entry points. - "sip" - joining a conference over SIP. A + conference can have zero or one sip entry point. - "more" - further conference joining instructions, for + example additional phone numbers. A conference can have zero or one more entry point. A conference with only + a more entry point is not a valid conference. + - The label for the URI. Visible to end users. Not localized. The maximum length is 512 characters. - Examples: - for video: meet.google.com/aaa-bbbb-ccc - for phone: +1 123 268 2601 - for sip: - 12345678@altostrat.com - for more: should not be filled Optional. + + The label for the URI. Visible to end users. Not localized. The maximum length is 512 characters. Examples: + - for video: meet.google.com/aaa-bbbb-ccc - for phone: +1 123 268 2601 - for sip: 12345678@altostrat.com - + for more: should not be filled Optional. + - The meeting code to access the conference. The maximum length is 128 characters. When creating new + + The meeting code to access the conference. The maximum length is 128 characters. When creating new conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the terminology that the conference provider uses. Only the populated fields should be displayed. - Optional. + Optional. + - The passcode to access the conference. The maximum length is 128 characters. When creating new - conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that - match the terminology that the conference provider uses. Only the populated fields should be - displayed. + + The passcode to access the conference. The maximum length is 128 characters. When creating new conference + data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the + terminology that the conference provider uses. Only the populated fields should be displayed. + - The password to access the conference. The maximum length is 128 characters. When creating new - conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that - match the terminology that the conference provider uses. Only the populated fields should be displayed. - Optional. + + The password to access the conference. The maximum length is 128 characters. When creating new conference + data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the + terminology that the conference provider uses. Only the populated fields should be displayed. Optional. + - The PIN to access the conference. The maximum length is 128 characters. When creating new - conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that - match the terminology that the conference provider uses. Only the populated fields should be displayed. - Optional. + + The PIN to access the conference. The maximum length is 128 characters. When creating new conference data, + populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the + terminology that the conference provider uses. Only the populated fields should be displayed. Optional. + - The CLDR/ISO 3166 region code for the country associated with this phone access. Example: "SE" for - Sweden. Calendar backend will populate this field only for EntryPointType.PHONE. + + The CLDR/ISO 3166 region code for the country associated with this phone access. Example: "SE" for Sweden. + Calendar backend will populate this field only for EntryPointType.PHONE. + - The URI of the entry point. The maximum length is 1300 characters. Format: - for video, http: or - https: schema is required. - for phone, tel: schema is required. The URI should include the entire dial - sequence (e.g., tel:+12345678900,,,123456789;1234). - for sip, sip: schema is required, e.g., - sip:12345678@myprovider.com. - for more, http: or https: schema is required. + + The URI of the entry point. The maximum length is 1300 characters. Format: - for video, http: or https: + schema is required. - for phone, tel: schema is required. The URI should include the entire dial sequence + (e.g., tel:+12345678900,,,123456789;1234). - for sip, sip: schema is required, e.g., + sip:12345678@myprovider.com. - for more, http: or https: schema is required. + The ETag of the item. @@ -2436,42 +2748,55 @@ Domain, or broad category, of the error. - Specific reason for the error. Some of the possible values are: - "groupTooBig" - The group of - users requested is too large for a single query. - "tooManyCalendarsRequested" - The number of calendars - requested is too large for a single query. - "notFound" - The requested resource was not found. - + + Specific reason for the error. Some of the possible values are: - "groupTooBig" - The group of users + requested is too large for a single query. - "tooManyCalendarsRequested" - The number of calendars + requested is too large for a single query. - "notFound" - The requested resource was not found. - "internalError" - The API service has encountered an internal error. Additional error types may be added in - the future, so clients should gracefully handle additional error statuses not included in this - list. + the future, so clients should gracefully handle additional error statuses not included in this list. + The ETag of the item. - Whether anyone can invite themselves to the event (currently works for Google+ events only). - Optional. The default is False. + + Whether anyone can invite themselves to the event (deprecated). Optional. The default is False. + - File attachments for the event. Currently only Google Drive attachments are supported. In order to - modify attachments the supportsAttachments request parameter should be set to true. There can be at most 25 - attachments per event, + + File attachments for the event. Currently only Google Drive attachments are supported. In order to modify + attachments the supportsAttachments request parameter should be set to true. There can be at most 25 + attachments per event, + - The attendees of the event. See the Events with attendees guide for more information on scheduling - events with other calendar users. + + The attendees of the event. See the Events with attendees guide for more information on scheduling events + with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the + attendee list. + - Whether attendees may have been omitted from the event's representation. When retrieving an event, - this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this - can be used to only update the participant's response. Optional. The default is False. + + Whether attendees may have been omitted from the event's representation. When retrieving an event, this may + be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be + used to only update the participant's response. Optional. The default is False. + - The color of the event. This is an ID referring to an entry in the event section of the colors - definition (see the colors endpoint). Optional. + + The color of the event. This is an ID referring to an entry in the event section of the colors definition + (see the colors endpoint). Optional. + - The conference-related information, such as details of a Hangouts Meet conference. To create new - conference details use the createRequest field. To persist your changes, remember to set the - conferenceDataVersion request parameter to 1 for all event modification requests. + + The conference-related information, such as details of a Google Meet conference. To create new conference + details use the createRequest field. To persist your changes, remember to set the conferenceDataVersion + request parameter to 1 for all event modification requests. + Creation time of the event (as a RFC3339 timestamp). Read-only. @@ -2483,61 +2808,81 @@ The creator of the event. Read-only. - Description of the event. Optional. + Description of the event. Can contain HTML. Optional. - The (exclusive) end time of the event. For a recurring event, this is the end time of the first - instance. + + The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. + - Whether the end time is actually unspecified. An end time is still provided for compatibility - reasons, even if this attribute is set to True. The default is False. + + Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even + if this attribute is set to True. The default is False. + ETag of the resource. + + + Specific type of the event. Read-only. Possible values are: - "default" - A regular event or not further + specified. - "outOfOffice" - An out-of-office event. + + Extended properties of the event. - A gadget that extends this event. + + A gadget that extends this event. Gadgets are deprecated; this structure is instead only used for returning + birthday calendar metadata. + - Whether attendees other than the organizer can invite others to the event. Optional. The default is - True. + + Whether attendees other than the organizer can invite others to the event. Optional. The default is True. + - Whether attendees other than the organizer can modify the event. Optional. The default is - False. + + Whether attendees other than the organizer can modify the event. Optional. The default is False. + - Whether attendees other than the organizer can see who the event's attendees are. Optional. The - default is True. + + Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is + True. + - An absolute link to the Google+ hangout associated with this event. Read-only. + An absolute link to the Google Hangout associated with this event. Read-only. An absolute link to this event in the Google Calendar Web UI. Read-only. - Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross - calendaring systems and must be supplied when importing events via the import method. Note that the icalUID - and the id are not identical and only one of them should be supplied at event creation time. One difference - in their semantics is that in recurring events, all occurrences of one event have different ids while they - all share the same icalUIDs. + + Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring + systems and must be supplied when importing events via the import method. Note that the icalUID and the id + are not identical and only one of them should be supplied at event creation time. One difference in their + semantics is that in recurring events, all occurrences of one event have different ids while they all share + the same icalUIDs. + - Opaque identifier of the event. When creating new single or recurring events, you can specify their - IDs. Provided IDs must follow these rules: - characters allowed in the ID are those used in base32hex - encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 - the length of the ID - must be between 5 and 1024 characters - the ID must be unique per calendar Due to the globally distributed - nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To - minimize the risk of collisions we recommend using an established UUID algorithm such as one described in - RFC4122. If you do not specify an ID, it will be automatically generated by the server. Note that the - icalUID and the id are not identical and only one of them should be supplied at event creation time. One - difference in their semantics is that in recurring events, all occurrences of one event have different ids - while they all share the same icalUIDs. + + Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. + Provided IDs must follow these rules: - characters allowed in the ID are those used in base32hex encoding, + i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 - the length of the ID must be + between 5 and 1024 characters - the ID must be unique per calendar Due to the globally distributed nature + of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize + the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122. If + you do not specify an ID, it will be automatically generated by the server. Note that the icalUID and the id + are not identical and only one of them should be supplied at event creation time. One difference in their + semantics is that in recurring events, all occurrences of one event have different ids while they all share + the same icalUIDs. + Type of the resource ("calendar#event"). @@ -2546,33 +2891,43 @@ Geographic location of the event as free-form text. Optional. - Whether this is a locked event copy where no changes can be made to the main event fields - "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read- - Only. + + Whether this is a locked event copy where no changes can be made to the main event fields "summary", + "description", "location", "start", "end" or "recurrence". The default is False. Read-Only. + - The organizer of the event. If the organizer is also an attendee, this is indicated with a separate - entry in attendees with the organizer field set to True. To change the organizer, use the move operation. - Read-only, except when importing an event. + + The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in + attendees with the organizer field set to True. To change the organizer, use the move operation. Read-only, + except when importing an event. + - For an instance of a recurring event, this is the time at which this event would start according to - the recurrence data in the recurring event identified by recurringEventId. It uniquely identifies the - instance within the recurring event series even if the instance was moved to a different time. - Immutable. + + For an instance of a recurring event, this is the time at which this event would start according to the + recurrence data in the recurring event identified by recurringEventId. It uniquely identifies the instance + within the recurring event series even if the instance was moved to a different time. Immutable. + - Whether this is a private event copy where changes are not shared with other copies on other - calendars. Optional. Immutable. The default is False. + + If set to True, Event propagation is disabled. Note that it is not the same thing as Private event + properties. Optional. Immutable. The default is False. + - List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Note - that DTSTART and DTEND lines are not allowed in this field; event start and end times are specified in the - start and end fields. This field is omitted for single events or instances of recurring events. + + List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Note that + DTSTART and DTEND lines are not allowed in this field; event start and end times are specified in the start + and end fields. This field is omitted for single events or instances of recurring events. + - For an instance of a recurring event, this is the id of the recurring event to which this instance - belongs. Immutable. + + For an instance of a recurring event, this is the id of the recurring event to which this instance belongs. + Immutable. + Information about the event's reminders for the authenticated user. @@ -2581,24 +2936,28 @@ Sequence number as per iCalendar. - Source from which the event was created. For example, a web page, an email message or any document - identifiable by an URL with HTTP or HTTPS scheme. Can only be seen or modified by the creator of the - event. + + Source from which the event was created. For example, a web page, an email message or any document + identifiable by an URL with HTTP or HTTPS scheme. Can only be seen or modified by the creator of the event. + - The (inclusive) start time of the event. For a recurring event, this is the start time of the first - instance. + + The (inclusive) start time of the event. For a recurring event, this is the start time of the first + instance. + - Status of the event. Optional. Possible values are: - "confirmed" - The event is confirmed. This is - the default status. - "tentative" - The event is tentatively confirmed. - "cancelled" - The event is - cancelled (deleted). The list method returns cancelled events only on incremental sync (when syncToken or - updatedMin are specified) or if the showDeleted flag is set to true. The get method always returns them. A - cancelled status represents two different states depending on the event type: - Cancelled exceptions of an + + Status of the event. Optional. Possible values are: - "confirmed" - The event is confirmed. This is the + default status. - "tentative" - The event is tentatively confirmed. - "cancelled" - The event is cancelled + (deleted). The list method returns cancelled events only on incremental sync (when syncToken or updatedMin + are specified) or if the showDeleted flag is set to true. The get method always returns them. A cancelled + status represents two different states depending on the event type: - Cancelled exceptions of an uncancelled recurring event indicate that this instance should no longer be presented to the user. Clients should store these events for the lifetime of the parent recurring event. Cancelled exceptions are only guaranteed to have values for the id, recurringEventId and originalStartTime fields populated. The other - fields might be empty. - All other cancelled events represent deleted events. Clients should remove their + fields might be empty. - All other cancelled events represent deleted events. Clients should remove their locally synced copies. Such cancelled events will eventually disappear, so do not rely on them being available indefinitely. Deleted events are only guaranteed to have the id field populated. On the organizer's calendar, cancelled events continue to expose event details (summary, location, etc.) so that @@ -2606,16 +2965,19 @@ removed continue to provide details. However, incremental sync requests with showDeleted set to false will not return these details. If an event changes its organizer (for example via the move operation) and the original organizer is not on the attendee list, it will leave behind a cancelled event where only the id - field is guaranteed to be populated. + field is guaranteed to be populated. + Title of the event. - Whether the event blocks time on the calendar. Optional. Possible values are: - "opaque" - Default - value. The event does block time on the calendar. This is equivalent to setting Show me as to Busy in the - Calendar UI. - "transparent" - The event does not block time on the calendar. This is equivalent to setting - Show me as to Available in the Calendar UI. + + Whether the event blocks time on the calendar. Optional. Possible values are: - "opaque" - Default value. + The event does block time on the calendar. This is equivalent to setting Show me as to Busy in the Calendar + UI. - "transparent" - The event does not block time on the calendar. This is equivalent to setting Show me + as to Available in the Calendar UI. + Last modification time of the event (as a RFC3339 timestamp). Read-only. @@ -2624,11 +2986,13 @@ representation of . - Visibility of the event. Optional. Possible values are: - "default" - Uses the default visibility - for events on the calendar. This is the default value. - "public" - The event is public and event details - are visible to all readers of the calendar. - "private" - The event is private and only event attendees may - view event details. - "confidential" - The event is private. This value is provided for compatibility - reasons. + + Visibility of the event. Optional. Possible values are: - "default" - Uses the default visibility for + events on the calendar. This is the default value. - "public" - The event is public and event details are + visible to all readers of the calendar. - "private" - The event is private and only event attendees may + view event details. - "confidential" - The event is private. This value is provided for compatibility + reasons. + The creator of the event. Read-only. @@ -2640,12 +3004,13 @@ The creator's email address, if available. - The creator's Profile ID, if available. It corresponds to the id field in the People collection - of the Google+ API + The creator's Profile ID, if available. - Whether the creator corresponds to the calendar on which this copy of the event appears. Read- - only. The default is False. + + Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The + default is False. + Extended properties of the event. @@ -2657,70 +3022,84 @@ Properties that are shared between copies of the event on other attendees' calendars. - A gadget that extends this event. + + A gadget that extends this event. Gadgets are deprecated; this structure is instead only used for returning + birthday calendar metadata. + - The gadget's display mode. Optional. Possible values are: - "icon" - The gadget displays next - to the event's title in the calendar view. - "chip" - The gadget displays when the event is - clicked. + + The gadget's display mode. Deprecated. Possible values are: - "icon" - The gadget displays next to the + event's title in the calendar view. - "chip" - The gadget displays when the event is clicked. + - The gadget's height in pixels. The height must be an integer greater than 0. - Optional. + + The gadget's height in pixels. The height must be an integer greater than 0. Optional. Deprecated. + - The gadget's icon URL. The URL scheme must be HTTPS. + The gadget's icon URL. The URL scheme must be HTTPS. Deprecated. - The gadget's URL. The URL scheme must be HTTPS. + The gadget's URL. The URL scheme must be HTTPS. Deprecated. Preferences. - The gadget's title. + The gadget's title. Deprecated. - The gadget's type. + The gadget's type. Deprecated. - The gadget's width in pixels. The width must be an integer greater than 0. Optional. + + The gadget's width in pixels. The width must be an integer greater than 0. Optional. Deprecated. + - The organizer of the event. If the organizer is also an attendee, this is indicated with a separate - entry in attendees with the organizer field set to True. To change the organizer, use the move operation. - Read-only, except when importing an event. + + The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in + attendees with the organizer field set to True. To change the organizer, use the move operation. Read-only, + except when importing an event. + The organizer's name, if available. - The organizer's email address, if available. It must be a valid email address as per - RFC5322. + + The organizer's email address, if available. It must be a valid email address as per RFC5322. + - The organizer's Profile ID, if available. It corresponds to the id field in the People - collection of the Google+ API + The organizer's Profile ID, if available. - Whether the organizer corresponds to the calendar on which this copy of the event appears. - Read-only. The default is False. + + Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. + The default is False. + Information about the event's reminders for the authenticated user. - If the event doesn't use the default reminders, this lists the reminders specific to the event, - or, if not set, indicates that no reminders are set for this event. The maximum number of override - reminders is 5. + + If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if + not set, indicates that no reminders are set for this event. The maximum number of override reminders is + 5. + Whether the default reminders of the calendar apply to the event. - Source from which the event was created. For example, a web page, an email message or any document - identifiable by an URL with HTTP or HTTPS scheme. Can only be seen or modified by the creator of the - event. + + Source from which the event was created. For example, a web page, an email message or any document + identifiable by an URL with HTTP or HTTPS scheme. Can only be seen or modified by the creator of the event. + Title of the source; for example a title of a web page or an email subject. @@ -2729,12 +3108,16 @@ URL of the source pointing to a resource. The URL scheme must be HTTP or HTTPS. - ID of the attached file. Read-only. For Google Drive files, this is the ID of the corresponding - Files resource entry in the Drive API. + + ID of the attached file. Read-only. For Google Drive files, this is the ID of the corresponding Files + resource entry in the Drive API. + - URL link to the attachment. For adding Google Drive file attachments use the same format as in - alternateLink property of the Files resource in the Drive API. Required when adding an attachment. + + URL link to the attachment. For adding Google Drive file attachments use the same format as in alternateLink + property of the Files resource in the Drive API. Required when adding an attachment. + URL link to the attachment's icon. Read-only. @@ -2758,12 +3141,13 @@ The attendee's name, if available. Optional. - The attendee's email address, if available. This field must be present when adding an attendee. It - must be a valid email address as per RFC5322. Required when adding an attendee. + + The attendee's email address, if available. This field must be present when adding an attendee. It must be a + valid email address as per RFC5322. Required when adding an attendee. + - The attendee's Profile ID, if available. It corresponds to the id field in the People collection of - the Google+ API + The attendee's Profile ID, if available. Whether this is an optional attendee. Optional. The default is False. @@ -2772,18 +3156,23 @@ Whether the attendee is the organizer of the event. Read-only. The default is False. - Whether the attendee is a resource. Can only be set when the attendee is added to the event for the - first time. Subsequent modifications are ignored. Optional. The default is False. + + Whether the attendee is a resource. Can only be set when the attendee is added to the event for the first + time. Subsequent modifications are ignored. Optional. The default is False. + - The attendee's response status. Possible values are: - "needsAction" - The attendee has not - responded to the invitation. - "declined" - The attendee has declined the invitation. - "tentative" - The - attendee has tentatively accepted the invitation. - "accepted" - The attendee has accepted the - invitation. + + The attendee's response status. Possible values are: - "needsAction" - The attendee has not responded to + the invitation. - "declined" - The attendee has declined the invitation. - "tentative" - The attendee has + tentatively accepted the invitation. - "accepted" - The attendee has accepted the invitation. + - Whether this entry represents the calendar on which this copy of the event appears. Read-only. The - default is False. + + Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default + is False. + The ETag of the item. @@ -2792,49 +3181,56 @@ The date, in the format "yyyy-mm-dd", if this is an all-day event. - The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is - required unless a time zone is explicitly specified in timeZone. + + The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required + unless a time zone is explicitly specified in timeZone. + representation of . - The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. + + The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the - event start/end. + event start/end. + The ETag of the item. - The method used by this reminder. Possible values are: - "email" - Reminders are sent via email. - - "sms" - Deprecated. Once this feature is shutdown, the API will no longer return reminders using this - method. Any newly added SMS reminders will be ignored. See Google Calendar SMS notifications to be removed - for more information. Reminders are sent via SMS. These are only available for G Suite customers. Requests - to set SMS reminders for other account types are ignored. - "popup" - Reminders are sent via a UI popup. - Required when adding a reminder. + + The method used by this reminder. Possible values are: - "email" - Reminders are sent via email. - + "popup" - Reminders are sent via a UI popup. Required when adding a reminder. + - Number of minutes before the start of the event when the reminder should trigger. Valid values are - between 0 and 40320 (4 weeks in minutes). Required when adding a reminder. + + Number of minutes before the start of the event when the reminder should trigger. Valid values are between 0 + and 40320 (4 weeks in minutes). Required when adding a reminder. + The ETag of the item. - The user's access role for this calendar. Read-only. Possible values are: - "none" - The user has - no access. - "freeBusyReader" - The user has read access to free/busy information. - "reader" - The user has + + The user's access role for this calendar. Read-only. Possible values are: - "none" - The user has no + access. - "freeBusyReader" - The user has read access to free/busy information. - "reader" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will - be hidden. - "writer" - The user has read and write access to the calendar. Private events will appear to - users with writer access, and event details will be visible. - "owner" - The user has ownership of the + be hidden. - "writer" - The user has read and write access to the calendar. Private events will appear to + users with writer access, and event details will be visible. - "owner" - The user has ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and - manipulate ACLs. + manipulate ACLs. + - The default reminders on the calendar for the authenticated user. These reminders apply to all - events on this calendar that do not explicitly override them (i.e. do not have reminders.useDefault set to - True). + + The default reminders on the calendar for the authenticated user. These reminders apply to all events on + this calendar that do not explicitly override them (i.e. do not have reminders.useDefault set to True). + Description of the calendar. Read-only. @@ -2849,13 +3245,16 @@ Type of the collection ("calendar#events"). - Token used to access the next page of this result. Omitted if no further results are available, in - which case nextSyncToken is provided. + + Token used to access the next page of this result. Omitted if no further results are available, in which + case nextSyncToken is provided. + - Token used at a later point in time to retrieve only the entries that have changed since this - result was returned. Omitted if further results are available, in which case nextPageToken is - provided. + + Token used at a later point in time to retrieve only the entries that have changed since this result was + returned. Omitted if further results are available, in which case nextPageToken is provided. + Title of the calendar. Read-only. @@ -2888,12 +3287,15 @@ The ETag of the item. - Maximal number of calendars for which FreeBusy information is to be provided. Optional. Maximum - value is 50. + + Maximal number of calendars for which FreeBusy information is to be provided. Optional. Maximum value is 50. + - Maximal number of calendar identifiers to be provided for a single group. Optional. An error is - returned for a group with more members than this value. Maximum value is 100. + + Maximal number of calendar identifiers to be provided for a single group. Optional. An error is returned for + a group with more members than this value. Maximum value is 100. + List of calendars and/or groups to query. @@ -2956,8 +3358,10 @@ Type of the resource ("calendar#setting"). - Value of the user setting. The format of the value depends on the ID of the setting. It must always - be a UTF-8 string of length up to 1024 characters. + + Value of the user setting. The format of the value depends on the ID of the setting. It must always be a + UTF-8 string of length up to 1024 characters. + Etag of the collection. @@ -2969,13 +3373,16 @@ Type of the collection ("calendar#settings"). - Token used to access the next page of this result. Omitted if no further results are available, in - which case nextSyncToken is provided. + + Token used to access the next page of this result. Omitted if no further results are available, in which + case nextSyncToken is provided. + - Token used at a later point in time to retrieve only the entries that have changed since this - result was returned. Omitted if further results are available, in which case nextPageToken is - provided. + + Token used at a later point in time to retrieve only the entries that have changed since this result was + returned. Omitted if further results are available, in which case nextPageToken is provided. + The (exclusive) end of the time period. diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Core.dll b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Core.dll index a5b758ee36e445e12cab38dc4147bd001db232fd..f2065b3ea2bcd9d7e93ae5391628469e6059adba 100644 GIT binary patch literal 77312 zcmcG12b@$z@_+YxGjGBMcJd}R!0z(con1DN7EpExCQw0=pb`X85P32q!m&HBD~h6k zV!*5*c;<`&MFm9^&wyDJQItcy;|wRpL;QcM`pxWM`rYsU`Ttj^x~jUny1Kf$x?jJZ z;n)e630(-`z~`4=gm?@o{WUTCbI^wD?Bd6>#d^=nrH{$sFPDx!V@AB>?3i_WY|2?B zQ>VS-mhxwA`V%q|&n{HT(%tZAp!WMz5FY|$fz3Nc*jVsokMpUKuf5?x9% zWUUZoQV6%=9yb_x3Gm5Cg~(xCQ+gA_AV7bskq`bOmq_$$@�s{_jX_l34iragY?p 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 literal 67072 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 diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Core.pdb b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Core.pdb index 70b035a08c07ba790ecc41221babacb2e669caba..184685c98b4f7eb52b4ac5040b8891f2837d91ec 100644 GIT binary patch literal 24396 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 diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Core.xml b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Core.xml index 874377a4..e5a29245 100644 --- a/src/OutlookGoogleCalendarSync/lib/Google.Apis.Core.xml +++ b/src/OutlookGoogleCalendarSync/lib/Google.Apis.Core.xml @@ -171,6 +171,15 @@ Constructs a new HTTP client. + This is equivalent to calling ConfigurableHttpClient(handler, true) + + + + Constructs a new HTTP client. + + The handler for this client to use. + Whether the created + should dispose of the internal message handler or not when it iself is disposed. @@ -207,6 +216,11 @@ Key for a stream response interceptor provider in an properties. + + + Key for a credential in a properties. + + The current API version of this client library. @@ -367,6 +381,17 @@ Gets or sets the application name which will be used on the User-Agent header. + + Gets or sets the value set for the x-goog-api-client header. + + + + The credential to apply to all requests made with this client, + unless theres a specific call credential set. + If implements + then it will also be included as a handler of an unsuccessful response. + + Constructs a new configurable message handler. @@ -434,8 +459,33 @@ The default implementation of the HTTP client factory. - - The class logger. + + + Creates a new instance of that + will set the given proxy on HTTP clients created by this factory. + + The proxy to set on HTTP clients created by this factory. + May be null, in which case no proxy will be used. + + + + Creates a new instance of . + + + + + Creates a new instance of that + will set the given proxy on HTTP clients created by this factory. + + The proxy to set on HTTP clients created by this factory. + May be null, in which case no proxy will be used. + + + + Gets the proxy to use when creating HTTP clients, if any. + May be null, in which case, no proxy will be set for HTTP clients + created by this factory. + @@ -443,11 +493,123 @@ Creates a HTTP message handler. Override this method to mock a message handler. - + Creates a simple client handler with redirection and compression disabled. + + + Create a for use when communicating with the server. + Please read the remarks closely before overriding this method. + + + When overriding this method, please observe the following: + + + and + + of the returned instance are configured after this method returns. + Configuring these within this method will have no effect. + + + is set in this method to + if value is not null. You may override that behaviour. + + + Return a new instance of an for each call to this method. + + + This method may be called once, or more than once, when initializing a single client service. + + + + A suitable . + + + + An implementation of that allows + for the inner message handler to be injected. + + + + + Factory for obtaining the underlying + of the returned by + . + Won't be null. + + + + + Creates an that will use + the given factory for creating the inner + message handlers that will be used when creating the . + + + The obtained from the factory won't be disposed + when the created is. This allows calling code + to control the handlers' lifetime and so they can possibly be reused. + This may be a requirement for using System.Net.Http.IHttpMessageHandler. See + https://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests + for information on why to use System.Net.Http.IHttpMessageHandler. + + + + + + + + Specifies the configuration options for a message handler. + + + + + Whether the message handler built from these options + may perform automatic decompression or not. + If set to true, the message handler may or may not perform automatic decompression. + If set to false, the message handler must not perform automatic decompression. + + + + + Whether the message handler built from these options + may handle redirects or not. Redirects that are not handled + should bubble up the handlers chain. + If set to true, the message handler may or may not handle redirects. + If set to false, the message handler must not handle redirects. + + + + + Represents the already configured to be used + when building a by the factory and + information about the actual configuration. + + + + + The already configured to be used + when building a by the factory. + + + + + Whether is configured + to perform automatic decompression or not. + + + + + Whether is configured + to handle redirects or not. + + + + + Builds a new with the given parameters. + + HTTP constants. @@ -501,6 +663,9 @@ Gets a list of initializers to initialize the HTTP client instance. + + Gets or sets the value for the x-goog-api-client header + Constructs a new argument instance. @@ -788,6 +953,16 @@ + + + Deserializes the given stream but reads from it asynchronously, observing the given cancellation token. + Note that this means the complete JSON is read before it is deserialized into objects. + + The type to convert to. + The stream to read from. + Cancellation token for the operation. + The deserialized object. + An abstract base logger, upon which real loggers may be built. @@ -1135,9 +1310,15 @@ Validates a parameter value against the methods regex. + + Validates a parameter value against the methods regex. + Validates if a parameter is valid. + + Validates if a parameter is valid. + Utility class for building a URI using or a HTTP request using from the query and path parameters of a REST call. @@ -1234,6 +1415,16 @@ The error message returned + + + The full content of the error response that + this instance was created from. + + + The response may contain custom information that is not represented + by any of the properties in . + + Returns a string summary of this error @@ -1482,6 +1673,12 @@ Creates a new string value attribute with the specified text. + + + Returns a task which can be cancelled by the given cancellation token, but otherwise observes the original + task's state. This does *not* cancel any work that the original task was doing, and should be used carefully. + + Workarounds for some unfortunate behaviors in the .NET Framework's @@ -1552,6 +1749,26 @@ Returns true in case the enumerable is null or empty. + + + Checks that the given value is in fact defined in the enum used as the type argument of the method. + + The enum type to check the value within. + The value to check. + The name of the parameter whose value is being tested. + if it was a defined value + + + + Checks that given argument-based condition is met, throwing an otherwise. + + The (already evaluated) condition to check. + The name of the parameter whose value is being tested. + The format string to use to create the exception message if the + condition is not met. + The first argument to the format string. + The second argument to the format string. + A Google.Apis utility method for returning the first matching custom attribute (or null) of the specified member. diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.PlatformServices.dll b/src/OutlookGoogleCalendarSync/lib/Google.Apis.PlatformServices.dll index 26c11cd2d6f91106e77890e3ce2d834fe1f0e8f5..38a407bd26ccc3984708b6ccbb90f10fe864d927 100644 GIT binary patch delta 749 zcmZorX;7Ka!J@&fdVOM#3?tLTmHJG#ZcMzT#zc*n?7Y zQWJ|)85rak86=(a3o45;(=$pGj0}tn6_C~PGBR)&>Y1A88R!`>FmN+6ut9i}|FNso zPuu9d`$W0D>zm9ON>x1~*PO!7$FB&VAA59;Fhlqef2%$5uK%NxzD~Um*5C7|+RO2{ z(6*rDUP+PXrFtAY*$T{CS#q~2#LwvHiaWQ7RpRHG9*yYCOiS(<%ZF~C3$6Lq`TO&o z3fQll(eve7-j#VVYzq#)>Wp-`o493K{wm8YE2S2L!tuhz<`6fU1sI-R zChz4CXKe$e(3n>US6`BT${QRg7anW@1rg49L^E1{S&o zmU@N;x(0^2CX;nIQ+1)5%wU>87NwjE$xv83w_K%3|NK>;@i6dy@;**!#)q44ahfnq zG+>#`$79Dkj~OP*z%XxeB#%D788FU307_4u&XdUWk7@ER9wo+GlVy3uff30)*_>CK z-G{*k81W2~GkLq&O&LrW^cV~#|K`nQj$n|QoXuw`X~ba2puphHkPn3E3^@#`Kpt4n h(K`SD delta 772 zcmY*XZ%9*76hHU9<)*&y}w8xZm6RkvuTK~W- z(%1b^Mjvb#rqG8mQv6^9fu$8v5r4WJmuL}lO-l#UpD7Nt|5 zz`e+hrZJ*oH-r;ElWh5RD*Wb%%c{^=ANd zzS8l|mX+w`N3+SD3AUNLgUucG{qsYwt-*c1)1yPrMn=}#hr7#yqL-e3JX*vIEL}29 zy|~x6xRQ1M!LpWh8Rz9B9hKwwDCHO(an&c5xbDi_tgcg^e`S*3TlET6oy6PCL8lu$37?8z=b1vZMr*N6p3PXnq@W)+CISYl*w&`PKk zPpDFbg~lg0zkXQG>z(QA=rNDo4pmuqmgUvgI2xMENGGy6VFxFQykOzP?OYZ%L`uf6 zNL~|#uHJB=|LT-;@wvIU>HJjajxgpzF)OERMAQDsNE3xMOpe-1ucZOJxP-~n8ptRC zC^F7J9$#l16h-48vjx4yiRw7o0t_~*w<-643#x#}HR{Vs69~YA5&uxv(WS5%AJb$f uieLs7^1)4(6KX*syRZfT4{GNAs`|BJQuqXN3YqH~*wvq`viM`77SM09Guj9M diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.dll b/src/OutlookGoogleCalendarSync/lib/Google.Apis.dll index 10ac4cd3e1b533bfb630e78602d480ad60687cdd..9916c24ca6cf77a82c9b69a5a4c0b2dbdfd42091 100644 GIT binary patch literal 80896 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%0D>?3*GGrDHuQp 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 diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Apis.pdb b/src/OutlookGoogleCalendarSync/lib/Google.Apis.pdb index 968a19d3b792aeafe6fd891784891212455c07bb..8ff44aba0e9026bfb6d75c11671c5f559cd3ebee 100644 GIT binary patch literal 21696 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 T)av}@%xN$D<=Bz(Lo5Cty-0U^ literal 17516 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 The ETag will be added as an "If-None-Match" header. - A request sent with an "If-Match" header will only succeed if both ETags are not identical. + A request sent with an "If-None-Match" header will only succeed if ETags are not identical. @@ -355,6 +355,13 @@ Unsuccessful response handlers for this request only. + + + Credential to use for this request. + If implements + then it will also be included as a handler of an unsuccessful response. + + Add an unsuccessful response handler for this request only. @@ -394,6 +401,14 @@ Gets or sets the callback for modifying HTTP requests made by this service request. + + + Override for service-wide validation configuration in . + If this is null (the default) then the value from the service initializer is used to determine + whether or not parameters should be validated client-side. If this is non-null, it overrides + whatever value is specified in the service. + + @@ -471,6 +486,22 @@ Adds path and query parameters to the given requestBuilder. + + + Extension methods for request objects. + + + + + Allows a request to be configured in a fluent manner, where normally separate statements are required + after the request creation method is called. + + The type of the request to configure. + The request to configure. Must not be null. + The configuration action to apply to the request. This is typically + setting properties. Must not be null. + The value of , after applying the configuration action. + Extension methods to . @@ -626,6 +657,45 @@ A task whose result (when complete) is the complete set of results fetched starting with the given request, and continuing to make further requests until a response has no "next page" token. + + + Helps build version strings for the x-goog-api-client header. + The value is a space-separated list of name/value pairs, where the value + should be a semantic version string. Names must be unique. + + + + + The name of the header to set. + + + + + Appends the given name/version string to the list. + + The name. Must not be null or empty, or contain a space or a slash. + The version. Must not be null, or contain a space or a slash. + + + + Appends a name/version string, taking the version from the version of the assembly + containing the given type. + + + + + Appends the .NET environment information to the list. + + + + + + + + Clones this VersionHeaderBuilder, creating an independent copy with the same names/values. + + A clone of this builder. + A base class for a client service which provides common mechanism for all services, like @@ -701,12 +771,32 @@ the default base URI for the service is used. + + + Builder for the x-goog-api-client header, collecting version information. + Services automatically add the API library version to this. + Most users will never need to configure this, but higher level abstraction Google libraries + may add their own version here. + + + + + Determines whether request parameters are validated (client-side) by default. + Defaults to true. This can be overridden on a per-request basis using . + + Constructs a new initializer with default values. Constructs a new base client with the specified initializer. + + + Determines whether or not request parameters should be validated client-side. + This may be overridden on a per-request basis. + + The BaseUri provided in the initializer, which may be null. @@ -930,6 +1020,11 @@ Content-Range header value for the body upload of zero length files. + + + The x-goog-api-client header value used for resumable uploads initiated without any options or an HttpClient. + + Creates a instance. @@ -969,17 +1064,13 @@ unknown. - - - Gets or sets the content of the last buffer request to the server or null. It is used when the media - content length is unknown, for resending it in case of server error. - Only used with a non-seekable stream. - - - + - Gets or sets the last request length. - Only used with a non-seekable stream. + The buffer used for reading from the stream, to prepare HTTP requests. + This is used for both seekable and non-seekable streams, but in a slightly different way: + with seekable streams, we never reuse any *data* between chunks, just the allocated byte arrays. + For non-seekable streams, if some of the data we sent was not received by the server, + we reuse the data in the buffer. @@ -1219,10 +1310,10 @@ A callback when the media was uploaded successfully. - + Prepares the given request with the next chunk in case the steam length is unknown. - + Prepares the given request with the next chunk in case the steam length is known. @@ -1245,6 +1336,77 @@ Size of the chunk being sent. The content range header value. + + + A buffer to be uploaded. This abstraction allows us to use small byte arrays, + avoiding anything which might end up on the large object heap. + + + + + The upload using this buffer; used to find the chunk size etc. + + + + + The capacity of this buffer; + will read until the buffer contains this much data. + + + + + The amount of usable data within the buffer. + + + + + The data in the buffer, divided into blocks each of size (at most) . + + + + + Reads from the stream until the stream has run out of data, or the buffer is full. + + The stream to read from + + true if the stream is exhausted; false otherwise + + + + Resets the length of this buffer to 0, *effectively* discarding the data within it. + (The blocks are actually retained for reuse.) + + + + + Returns the block that contains the specified offset, creating it if necessary. + + The offset within the buffer to fetch the block for. + The offset within the returned block corresponding to within the buffer. + The block for the given position. + + + + Moves any unsent data to the start of this buffer, based on the number of bytes we actually sent, + and the number of bytes the server received. + + + + + Creates an HttpContent for the data in this buffer, up to bytes. + + The length of the content. + + + + Determines how much data should actually be sent from this buffer. + + + + + A read-only stream reading from an UploadBuffer, reading all the blocks in turn. + + Media upload which uses Google's resumable media upload protocol to upload data. @@ -1344,10 +1506,21 @@ The stream containing the content to upload. Content type of the content to be uploaded. - The stream must support the "Length" property. + Considerations regarding : + + + If is seekable, then the stream position will be reset to + 0 before reading commences. If is not + seekable, then it will be read from its current position. + + Caller is responsible for maintaining the open until the upload is completed. + + Caller is responsible for closing the . + + diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Cloud.DevTools.Common.dll b/src/OutlookGoogleCalendarSync/lib/Google.Cloud.DevTools.Common.dll new file mode 100644 index 0000000000000000000000000000000000000000..1da460912c34da3117335ccbb5545ea3af2b0e9c GIT binary patch literal 33792 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 DTbAH% literal 0 HcmV?d00001 diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Cloud.DevTools.Common.pdb b/src/OutlookGoogleCalendarSync/lib/Google.Cloud.DevTools.Common.pdb new file mode 100644 index 0000000000000000000000000000000000000000..3016465971fa5d5c7fe56ebf7d59a6f08e9324c8 GIT binary patch literal 11144 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 Olf& + + + Google.Cloud.DevTools.Common + + + + Holder for reflection information generated from google/devtools/source/v1/source_context.proto + + + File descriptor for google/devtools/source/v1/source_context.proto + + + + A SourceContext is a reference to a tree of files. A SourceContext together + with a path point to a unique revision of a single file or directory. + + + + Field number for the "cloud_repo" field. + + + + A SourceContext referring to a revision in a cloud repo. + + + + Field number for the "cloud_workspace" field. + + + + A SourceContext referring to a snapshot in a cloud workspace. + + + + Field number for the "gerrit" field. + + + + A SourceContext referring to a Gerrit project. + + + + Field number for the "git" field. + + + + A SourceContext referring to any third party Git repo (e.g. GitHub). + + + + Enum of possible cases for the "context" oneof. + + + + The func that reads file all text. Can be overridden by unit tests. + + + + + The func that tests if file exists. Can be overridden by unit tests. + + + + + Gets the custom log label of Stackdriver Logging entry to set Git revision id. + When writing a Stackdriver Logging entry, the user should add this custom label, + with a value of the git revision id for the source code. + This enables Google Cloud Tools for Visual Studio to locate the source file revision + of the log entry. + + + + + Gets the for the application. + + + The source context file is valid JSON, but is not valid as a SourceContext. + + + The source context file is not valid JSON. + + + The application does not have permission to read the file. + + + The application is not authorized to access the file. + + + + + Open the source context file and parses it (as JSON) to a proto. + + + A object if the file is read and parsed successfully, or + null if there is an error reading/parsing the file or the source context file is not found. + + + + + Finds the source context file and reads the content as a string. + + + + + Intended to be used by unit test only. + + + + + An ExtendedSourceContext is a SourceContext combined with additional + details describing the context. + + + + Field number for the "context" field. + + + + Any source context. + + + + Field number for the "labels" field. + + + + Labels with user defined metadata. + + + + + An alias to a repo revision. + + + + Field number for the "kind" field. + + + + The alias kind. + + + + Field number for the "name" field. + + + + The alias name. + + + + Container for nested types declared in the AliasContext message type. + + + + The type of an Alias. + + + + + Do not use. + + + + + Git tag + + + + + Git branch + + + + + OTHER is used to specify non-standard aliases, those not of the kinds + above. For example, if a Git repo has a ref named "refs/foo/bar", it + is considered to be of kind OTHER. + + + + + A CloudRepoSourceContext denotes a particular revision in a cloud + repo (a repo hosted by the Google Cloud Platform). + + + + Field number for the "repo_id" field. + + + + The ID of the repo. + + + + Field number for the "revision_id" field. + + + + A revision ID. + + + + Field number for the "alias_name" field. + + + + The name of an alias (branch, tag, etc.). + + + + Field number for the "alias_context" field. + + + + An alias, which may be a branch or tag. + + + + Enum of possible cases for the "revision" oneof. + + + + A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. + + + + Field number for the "workspace_id" field. + + + + The ID of the workspace. + + + + Field number for the "snapshot_id" field. + + + + The ID of the snapshot. + An empty snapshot_id refers to the most recent snapshot. + + + + + A SourceContext referring to a Gerrit project. + + + + Field number for the "host_uri" field. + + + + The URI of a running Gerrit instance. + + + + Field number for the "gerrit_project" field. + + + + The full project name within the host. Projects may be nested, so + "project/subproject" is a valid project name. + The "repo name" is hostURI/project. + + + + Field number for the "revision_id" field. + + + + A revision (commit) ID. + + + + Field number for the "alias_name" field. + + + + The name of an alias (branch, tag, etc.). + + + + Field number for the "alias_context" field. + + + + An alias, which may be a branch or tag. + + + + Enum of possible cases for the "revision" oneof. + + + + A GitSourceContext denotes a particular revision in a third party Git + repository (e.g. GitHub). + + + + Field number for the "url" field. + + + + Git repository URL. + + + + Field number for the "revision_id" field. + + + + Git commit hash. + required. + + + + + A unique identifier for a cloud repo. + + + + Field number for the "project_repo_id" field. + + + + A combination of a project ID and a repo name. + + + + Field number for the "uid" field. + + + + A server-assigned, globally unique identifier. + + + + Enum of possible cases for the "id" oneof. + + + + Selects a repo using a Google Cloud Platform project ID + (e.g. winged-cargo-31) and a repo name within that project. + + + + Field number for the "project_id" field. + + + + The ID of the project. + + + + Field number for the "repo_name" field. + + + + The name of the repo. Leave empty for the default repo. + + + + + A CloudWorkspaceId is a unique identifier for a cloud workspace. + A cloud workspace is a place associated with a repo where modified files + can be stored before they are committed. + + + + Field number for the "repo_id" field. + + + + The ID of the repo containing the workspace. + + + + Field number for the "name" field. + + + + The unique name of the workspace within the repo. This is the name + chosen by the client in the Source API's CreateWorkspace method. + + + + diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Log4Net.dll b/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Log4Net.dll index 080a12c2b2ddd3f8171529af771cde19f7196c0e..c1fac565b899c0f74e0c6bc28c80cd9794383cb7 100644 GIT binary patch delta 372 zcmZqZVQT1Mn$W>=kUj6w#2z2!8~%(NZ};0XvQEx+@MYFyV4S?$L6wnl@ce)MP7O#$Oj>z07AZDs( zpl86qz{SYGYNQ9`Ffb@GGRRDJtdf~*UG=oy@rSX8&E9J<1xI7v7SBzqy0u$k`R{D; zm4bh(pPo;hAoa5Ok4W&|{?Fy_Z`sUIEaqPS;6UZID<9KudA-R_4oli=2oe;^ZIzUJco5dFvk>jKHEIT!MxPr5D* z`C9J4|DUr42mRHuPy=2D6N78?1PUfgtqW}|RhYEsJKbaCIPawlH$C0s{pEST|3s`_0H`y1BPuJCK^}+GGsmR5rCU0|4WRlCb~) delta 372 zcmZqZVQT1Mn$W?rdhV$O6MKA^GmkKAyxnil$TB(G!IxQsfobw?2USLf$qyZbMVT02 zU@=E9n8U=tIhoVZnvrv|E0AQ^+~{~*U7+vHhMAx89UWH%NG+58(K>Z=MCL{TF%vxl zJp%>?E=C4cBRwF8fkBaxL1waJmCR)8s;Bib^WQam(>T8~J2Tn5kYnjV=QUj~yyP1a zo^~AP4ZhhH@=d|&cK8f4tv$aRzM5%#-Tw0EhM$s`x-INi9b@4C-xvPBMP=o=Ggovz zpWMDQ@g<`$ZIC$Rx2m3s16WdJGb<`*R=}{dqfM$cfJ)cpUhFSMgc1Lp#~}lQY~{_ w*QbM-$?90dQtH!?Y6IW{mdW-(#20}$5=6owZ15;5{sxyrqDMm_);)1G70 W@w4t4@d5#Mli(dq0hF^Y9<4Uu#TD$oRDsIqN* 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 delta 6379 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 Xx^u1CH@WdiGd`CTyGZDn%(DLi&p^d0 literal 0 HcmV?d00001 diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Type.xml b/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Type.xml index 0aeee033..fa8d3a6d 100644 --- a/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Type.xml +++ b/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.Type.xml @@ -68,7 +68,8 @@ The user agent sent by the client. Example: - `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`. + `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET + CLR 1.0.3705)"`. @@ -95,7 +96,8 @@ The referer URL of the request, as defined in - [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + [HTTP/1.1 Header Field + Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). @@ -143,6 +145,14 @@ cache fill was attempted. + + Field number for the "protocol" field. + + + + Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket" + + Holder for reflection information generated from google/logging/type/log_severity.proto diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.V2.dll b/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.V2.dll index 1760cff079a3d947e7d5d890bb128958e31b6803..9fb19ac9c3a1b4b53145989b91abfbb014dc694d 100644 GIT binary patch literal 214016 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

ifWHBVNMycUMA_oQiT4 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

+ Builder class for to provide simple configuration of credentials, endpoint etc. + + + + + The settings to use for RPCs, or null for the default settings. + + + + + + + + + + + + + + + + + ConfigServiceV2 client wrapper, for convenient use. @@ -464,6 +489,14 @@ Optional . The created . + + + Creates a which uses the specified call invoker for remote operations. + + The for remote operations. Must not be null. + Optional . + The created . + Shuts down any channels automatically created by @@ -534,6 +567,60 @@ A pageable sequence of resources. + + + Lists sinks. + + + Required. The parent resource whose sinks are to be listed: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + + The token returned from the previous request. + A value of null or an empty string retrieves the first page. + + + The size of page to request. The response will not be larger than this, but may be smaller. + A value of null or 0 uses a server-defined page size. + + + If not null, applies overrides to this RPC call. + + + A pageable asynchronous sequence of resources. + + + + + Lists sinks. + + + Required. The parent resource whose sinks are to be listed: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + + The token returned from the previous request. + A value of null or an empty string retrieves the first page. + + + The size of page to request. The response will not be larger than this, but may be smaller. + A value of null or 0 uses a server-defined page size. + + + If not null, applies overrides to this RPC call. + + + A pageable sequence of resources. + + Lists sinks. @@ -625,6 +712,69 @@ The RPC response. + + + Gets a sink. + + + Required. The resource name of the sink: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Gets a sink. + + + Required. The resource name of the sink: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Gets a sink. + + + Required. The resource name of the sink: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + Gets a sink. @@ -669,9 +819,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. @@ -697,9 +847,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. @@ -725,9 +875,93 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The + export of newly-ingested log entries begins immediately, unless the sink's + `writer_identity` is not permitted to write to the destination. A sink can + export log entries only from the resource owning the sink. + + + Required. The resource in which to create the sink: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. + + + Required. The new sink, whose `name` parameter is a sink identifier that + is not already in use. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Creates a sink that exports specified log entries to a destination. The + export of newly-ingested log entries begins immediately, unless the sink's + `writer_identity` is not permitted to write to the destination. A sink can + export log entries only from the resource owning the sink. + + + Required. The resource in which to create the sink: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. + + + Required. The new sink, whose `name` parameter is a sink identifier that + is not already in use. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Creates a sink that exports specified log entries to a destination. The + export of newly-ingested log entries begins immediately, unless the sink's + `writer_identity` is not permitted to write to the destination. A sink can + export log entries only from the resource owning the sink. + + + Required. The resource in which to create the sink: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. + + + Required. The new sink, whose `name` parameter is a sink identifier that + is not already in use. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. @@ -753,9 +987,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. @@ -770,9 +1004,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. @@ -787,9 +1021,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. @@ -804,8 +1038,9 @@ - Updates a sink. This method replaces the following fields in the existing + Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: `destination`, and `filter`. + The updated sink might also have a new `writer_identity`; see the `unique_writer_identity` field. @@ -827,7 +1062,7 @@ Optional. Field mask that specifies the fields in `sink` that need an update. A sink field will be overwritten if, and only if, it is - in the update mask. `name` and output only fields cannot be updated. + in the update mask. `name` and output only fields cannot be updated. An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: @@ -836,7 +1071,7 @@ empty updateMask will be an error. For a detailed `FieldMask` definition, see - https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask Example: `updateMask=filter`. @@ -849,8 +1084,9 @@ - Updates a sink. This method replaces the following fields in the existing + Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: `destination`, and `filter`. + The updated sink might also have a new `writer_identity`; see the `unique_writer_identity` field. @@ -872,7 +1108,7 @@ Optional. Field mask that specifies the fields in `sink` that need an update. A sink field will be overwritten if, and only if, it is - in the update mask. `name` and output only fields cannot be updated. + in the update mask. `name` and output only fields cannot be updated. An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: @@ -881,7 +1117,7 @@ empty updateMask will be an error. For a detailed `FieldMask` definition, see - https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask Example: `updateMask=filter`. @@ -894,8 +1130,9 @@ - Updates a sink. This method replaces the following fields in the existing + Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: `destination`, and `filter`. + The updated sink might also have a new `writer_identity`; see the `unique_writer_identity` field. @@ -917,7 +1154,7 @@ Optional. Field mask that specifies the fields in `sink` that need an update. A sink field will be overwritten if, and only if, it is - in the update mask. `name` and output only fields cannot be updated. + in the update mask. `name` and output only fields cannot be updated. An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: @@ -926,7 +1163,7 @@ empty updateMask will be an error. For a detailed `FieldMask` definition, see - https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask Example: `updateMask=filter`. @@ -937,10 +1174,11 @@ The RPC response. - + - Updates a sink. This method replaces the following fields in the existing + Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: `destination`, and `filter`. + The updated sink might also have a new `writer_identity`; see the `unique_writer_identity` field. @@ -959,6 +1197,22 @@ Required. The updated sink, whose name is the same identifier that appears as part of `sink_name`. + + Optional. Field mask that specifies the fields in `sink` that need + an update. A sink field will be overwritten if, and only if, it is + in the update mask. `name` and output only fields cannot be updated. + + An empty updateMask is temporarily treated as using the following mask + for backwards compatibility purposes: + destination,filter,includeChildren + At some point in the future, behavior will be removed and specifying an + empty updateMask will be an error. + + For a detailed `FieldMask` definition, see + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + + Example: `updateMask=filter`. + If not null, applies overrides to this RPC call. @@ -966,10 +1220,11 @@ A Task containing the RPC response. - + - Updates a sink. This method replaces the following fields in the existing + Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: `destination`, and `filter`. + The updated sink might also have a new `writer_identity`; see the `unique_writer_identity` field. @@ -988,6 +1243,22 @@ Required. The updated sink, whose name is the same identifier that appears as part of `sink_name`. + + Optional. Field mask that specifies the fields in `sink` that need + an update. A sink field will be overwritten if, and only if, it is + in the update mask. `name` and output only fields cannot be updated. + + An empty updateMask is temporarily treated as using the following mask + for backwards compatibility purposes: + destination,filter,includeChildren + At some point in the future, behavior will be removed and specifying an + empty updateMask will be an error. + + For a detailed `FieldMask` definition, see + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + + Example: `updateMask=filter`. + A to use for this RPC. @@ -995,10 +1266,11 @@ A Task containing the RPC response. - + - Updates a sink. This method replaces the following fields in the existing + Updates a sink. This method replaces the following fields in the existing sink with values from the new sink: `destination`, and `filter`. + The updated sink might also have a new `writer_identity`; see the `unique_writer_identity` field. @@ -1017,65 +1289,330 @@ Required. The updated sink, whose name is the same identifier that appears as part of `sink_name`. - - If not null, applies overrides to this RPC call. - - - The RPC response. - - - - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - - The request object containing all of the parameters for the API call. - - - If not null, applies overrides to this RPC call. - - - A Task containing the RPC response. - + + Optional. Field mask that specifies the fields in `sink` that need + an update. A sink field will be overwritten if, and only if, it is + in the update mask. `name` and output only fields cannot be updated. + + An empty updateMask is temporarily treated as using the following mask + for backwards compatibility purposes: + destination,filter,includeChildren + At some point in the future, behavior will be removed and specifying an + empty updateMask will be an error. + + For a detailed `FieldMask` definition, see + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + + Example: `updateMask=filter`. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + Required. The full resource name of the sink to update, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + Required. The updated sink, whose name is the same identifier that appears + as part of `sink_name`. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + Required. The full resource name of the sink to update, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + Required. The updated sink, whose name is the same identifier that appears + as part of `sink_name`. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + Required. The full resource name of the sink to update, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + Required. The updated sink, whose name is the same identifier that appears + as part of `sink_name`. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + Required. The full resource name of the sink to update, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + Required. The updated sink, whose name is the same identifier that appears + as part of `sink_name`. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + Required. The full resource name of the sink to update, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + Required. The updated sink, whose name is the same identifier that appears + as part of `sink_name`. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + Required. The full resource name of the sink to update, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + Required. The updated sink, whose name is the same identifier that appears + as part of `sink_name`. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + The request object containing all of the parameters for the API call. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - - The request object containing all of the parameters for the API call. - - - A to use for this RPC. - - - A Task containing the RPC response. - + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + The request object containing all of the parameters for the API call. + + + A to use for this RPC. + + + A Task containing the RPC response. + - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - - The request object containing all of the parameters for the API call. - - - If not null, applies overrides to this RPC call. - - - The RPC response. - + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + The request object containing all of the parameters for the API call. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Deletes a sink. If the sink has a unique `writer_identity`, then that + service account is also deleted. + + + Required. The full resource name of the sink to delete, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + If not null, applies overrides to this RPC call. + + + A Task that completes when the RPC has completed. + + + + + Deletes a sink. If the sink has a unique `writer_identity`, then that + service account is also deleted. + + + Required. The full resource name of the sink to delete, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + A to use for this RPC. + + + A Task that completes when the RPC has completed. + - + + + Deletes a sink. If the sink has a unique `writer_identity`, then that + service account is also deleted. + + + Required. The full resource name of the sink to delete, including the + parent resource and the sink identifier: + + "projects/[PROJECT_ID]/sinks/[SINK_ID]" + "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + "folders/[FOLDER_ID]/sinks/[SINK_ID]" + + Example: `"projects/my-project-id/sinks/my-sink-id"`. + + + If not null, applies overrides to this RPC call. + + + Deletes a sink. If the sink has a unique `writer_identity`, then that service account is also deleted. @@ -1098,7 +1635,7 @@ A Task that completes when the RPC has completed. - + Deletes a sink. If the sink has a unique `writer_identity`, then that service account is also deleted. @@ -1121,7 +1658,7 @@ A Task that completes when the RPC has completed. - + Deletes a sink. If the sink has a unique `writer_identity`, then that service account is also deleted. @@ -1237,6 +1774,60 @@ A pageable sequence of resources. + + + Lists all the exclusions in a parent resource. + + + Required. The parent resource whose exclusions are to be listed. + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + + The token returned from the previous request. + A value of null or an empty string retrieves the first page. + + + The size of page to request. The response will not be larger than this, but may be smaller. + A value of null or 0 uses a server-defined page size. + + + If not null, applies overrides to this RPC call. + + + A pageable asynchronous sequence of resources. + + + + + Lists all the exclusions in a parent resource. + + + Required. The parent resource whose exclusions are to be listed. + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + + The token returned from the previous request. + A value of null or an empty string retrieves the first page. + + + The size of page to request. The response will not be larger than this, but may be smaller. + A value of null or 0 uses a server-defined page size. + + + If not null, applies overrides to this RPC call. + + + A pageable sequence of resources. + + Lists all the exclusions in a parent resource. @@ -1314,12 +1905,198 @@ Required. The resource name of an existing exclusion: - "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" - "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" - "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" - "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Gets the description of an exclusion. + + + Required. The resource name of an existing exclusion: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Gets the description of an exclusion. + + + Required. The resource name of an existing exclusion: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Gets the description of an exclusion. + + + Required. The resource name of an existing exclusion: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Gets the description of an exclusion. + + + The request object containing all of the parameters for the API call. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Gets the description of an exclusion. + + + The request object containing all of the parameters for the API call. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Gets the description of an exclusion. + + + The request object containing all of the parameters for the API call. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Creates a new exclusion in a specified parent resource. + Only log entries belonging to that resource can be excluded. + You can have up to 10 exclusions in a resource. + + + Required. The parent resource in which to create the exclusion: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. + + + Required. The new exclusion, whose `name` parameter is an exclusion name + that is not already used in the parent resource. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Creates a new exclusion in a specified parent resource. + Only log entries belonging to that resource can be excluded. + You can have up to 10 exclusions in a resource. + + + Required. The parent resource in which to create the exclusion: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. + + + Required. The new exclusion, whose `name` parameter is an exclusion name + that is not already used in the parent resource. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Creates a new exclusion in a specified parent resource. + Only log entries belonging to that resource can be excluded. + You can have up to 10 exclusions in a resource. + + + Required. The parent resource in which to create the exclusion: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" - Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + Examples: `"projects/my-logging-project"`, `"organizations/123456789"`. + + + Required. The new exclusion, whose `name` parameter is an exclusion name + that is not already used in the parent resource. If not null, applies overrides to this RPC call. @@ -1328,49 +2105,7 @@ The RPC response. - - - Gets the description of an exclusion. - - - The request object containing all of the parameters for the API call. - - - If not null, applies overrides to this RPC call. - - - A Task containing the RPC response. - - - - - Gets the description of an exclusion. - - - The request object containing all of the parameters for the API call. - - - A to use for this RPC. - - - A Task containing the RPC response. - - - - - Gets the description of an exclusion. - - - The request object containing all of the parameters for the API call. - - - If not null, applies overrides to this RPC call. - - - The RPC response. - - - + Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. @@ -1397,7 +2132,7 @@ A Task containing the RPC response. - + Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. @@ -1424,7 +2159,7 @@ A Task containing the RPC response. - + Creates a new exclusion in a specified parent resource. Only log entries belonging to that resource can be excluded. @@ -1518,7 +2253,7 @@ in `update_mask` are relevant. - Required. A nonempty list of fields to change in the existing exclusion. + Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in `update_mask` are not changed and are ignored in the request. @@ -1552,7 +2287,7 @@ in `update_mask` are relevant. - Required. A nonempty list of fields to change in the existing exclusion. + Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in `update_mask` are not changed and are ignored in the request. @@ -1586,7 +2321,109 @@ in `update_mask` are relevant. - Required. A nonempty list of fields to change in the existing exclusion. + Required. A non-empty list of fields to change in the existing exclusion. + New values for the fields are taken from the corresponding fields in the + [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in + `update_mask` are not changed and are ignored in the request. + + For example, to change the filter and description of an exclusion, + specify an `update_mask` of `"filter,description"`. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Changes one or more properties of an existing exclusion. + + + Required. The resource name of the exclusion to update: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + Required. New values for the existing exclusion. Only the fields specified + in `update_mask` are relevant. + + + Required. A non-empty list of fields to change in the existing exclusion. + New values for the fields are taken from the corresponding fields in the + [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in + `update_mask` are not changed and are ignored in the request. + + For example, to change the filter and description of an exclusion, + specify an `update_mask` of `"filter,description"`. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Changes one or more properties of an existing exclusion. + + + Required. The resource name of the exclusion to update: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + Required. New values for the existing exclusion. Only the fields specified + in `update_mask` are relevant. + + + Required. A non-empty list of fields to change in the existing exclusion. + New values for the fields are taken from the corresponding fields in the + [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in + `update_mask` are not changed and are ignored in the request. + + For example, to change the filter and description of an exclusion, + specify an `update_mask` of `"filter,description"`. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Changes one or more properties of an existing exclusion. + + + Required. The resource name of the exclusion to update: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + Required. New values for the existing exclusion. Only the fields specified + in `update_mask` are relevant. + + + Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in `update_mask` are not changed and are ignored in the request. @@ -1703,6 +2540,66 @@ If not null, applies overrides to this RPC call. + + + Deletes an exclusion. + + + Required. The resource name of an existing exclusion to delete: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + If not null, applies overrides to this RPC call. + + + A Task that completes when the RPC has completed. + + + + + Deletes an exclusion. + + + Required. The resource name of an existing exclusion to delete: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + A to use for this RPC. + + + A Task that completes when the RPC has completed. + + + + + Deletes an exclusion. + + + Required. The resource name of an existing exclusion to delete: + + "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + + Example: `"projects/my-project-id/exclusions/my-exclusion-id"`. + + + If not null, applies overrides to this RPC call. + + Deletes an exclusion. @@ -1817,9 +2714,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. @@ -1834,9 +2731,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. @@ -1850,38 +2747,40 @@ - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - - The request object containing all of the parameters for the API call. - - - If not null, applies overrides to this RPC call. - - - A Task containing the RPC response. - + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + The request object containing all of the parameters for the API call. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - - The request object containing all of the parameters for the API call. - - - If not null, applies overrides to this RPC call. - - - The RPC response. - + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + + The request object containing all of the parameters for the API call. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + @@ -2075,8 +2974,8 @@ Optional. If present, then retrieve the next batch of results from the - preceding call to this method. `pageToken` must be the value of - `nextPageToken` from the previous response. The values of other method + preceding call to this method. `pageToken` must be the value of + `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call. @@ -2086,7 +2985,7 @@ Optional. The maximum number of results to return from this request. - Non-positive values are ignored. The presence of `nextPageToken` in the + Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available. @@ -2122,7 +3021,7 @@ If there might be more results than appear in this response, then - `nextPageToken` is included. To get the next set of results, call the same + `nextPageToken` is included. To get the next set of results, call the same method again using the value of `nextPageToken` as `pageToken`. @@ -2150,8 +3049,8 @@ Optional. If present, then retrieve the next batch of results from the - preceding call to this method. `pageToken` must be the value of - `nextPageToken` from the previous response. The values of other method + preceding call to this method. `pageToken` must be the value of + `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call. @@ -2161,7 +3060,7 @@ Optional. The maximum number of results to return from this request. - Non-positive values are ignored. The presence of `nextPageToken` in the + Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available. @@ -2197,7 +3096,7 @@ If there might be more results than appear in this response, then - `nextPageToken` is included. To get the next set of results, call the same + `nextPageToken` is included. To get the next set of results, call the same method again using the value of `nextPageToken` as `pageToken`. @@ -2224,9 +3123,9 @@ "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" - A project number may optionally be used in place of PROJECT_ID. The - project number is translated to its corresponding PROJECT_ID internally - and the `log_name` field will contain PROJECT_ID in queries and exports. + A project number may optionally be used in place of PROJECT_ID. The project + number is translated to its corresponding PROJECT_ID internally and the + `log_name` field will contain PROJECT_ID in queries and exports. `[LOG_ID]` must be URL-encoded within `log_name`. Example: `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. @@ -2245,22 +3144,28 @@ Field number for the "resource" field. - - Required. The primary monitored resource associated with this log entry. - Example: a log entry that reports a database error would be - associated with the monitored resource designating the particular - database that reported the error. - + + Required. The monitored resource that produced this log entry. + + Example: a log entry that reports a database error would be associated with + the monitored resource designating the particular database that reported + the error. + Field number for the "proto_payload" field. - - The log entry payload, represented as a protocol buffer. Some - Google Cloud Platform services use this field for their log - entry payloads. - + + The log entry payload, represented as a protocol buffer. Some Google + Cloud Platform services use this field for their log entry payloads. + + The following protocol buffer types are supported; user-defined types + are not supported: + + "type.googleapis.com/google.cloud.audit.AuditLog" + "type.googleapis.com/google.appengine.logging.v1.RequestLog" + Field number for the "text_payload" field. @@ -2284,19 +3189,18 @@ - Optional. The time the event described by the log entry occurred. - This time is used to compute the log entry's age and to enforce - the logs retention period. If this field is omitted in a new log - entry, then Stackdriver Logging assigns it the current time. - Timestamps have nanosecond accuracy, but trailing zeros in the fractional - seconds might be omitted when the timestamp is displayed. - - Incoming log entries should have timestamps that are no more than - the [logs retention period](/logging/quotas) in the past, - and no more than 24 hours in the future. Log entries outside those time - boundaries will not be available when calling `entries.list`, but - those log entries can still be exported with - [LogSinks](/logging/docs/api/tasks/exporting-logs). + Optional. The time the event described by the log entry occurred. This + time is used to compute the log entry's age and to enforce the logs + retention period. If this field is omitted in a new log entry, then Logging + assigns it the current time. Timestamps have nanosecond accuracy, but + trailing zeros in the fractional seconds might be omitted when the + timestamp is displayed. + + Incoming log entries should have timestamps that are no more than the [logs + retention period](/logging/quotas) in the past, and no more than 24 hours + in the future. Log entries outside those time boundaries will not be + available when calling `entries.list`, but those log entries can still be + [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). @@ -2304,7 +3208,7 @@ - Output only. The time the log entry was received by Stackdriver Logging. + Output only. The time the log entry was received by Logging. @@ -2322,11 +3226,11 @@ Optional. A unique identifier for the log entry. If you provide a value, - then Stackdriver Logging considers other log entries in the same project, - with the same `timestamp`, and with the same `insert_id` to be duplicates - which can be removed. If omitted in new log entries, then Stackdriver - Logging assigns its own unique identifier. The `insert_id` is also used - to order log entries that have the same `timestamp` value. + then Logging considers other log entries in the same project, with the same + `timestamp`, and with the same `insert_id` to be duplicates which can be + removed. If omitted in new log entries, then Logging assigns its own unique + identifier. The `insert_id` is also used to order log entries that have the + same `timestamp` value. @@ -2334,8 +3238,8 @@ - Optional. Information about the HTTP request associated with this - log entry, if applicable. + Optional. Information about the HTTP request associated with this log + entry, if applicable. @@ -2351,11 +3255,17 @@ Field number for the "metadata" field. - - Output only. Additional metadata about the monitored resource. - Only `k8s_container`, `k8s_pod`, and `k8s_node` MonitoredResources have - this field populated. - + + Deprecated. Output only. Additional metadata about the monitored resource. + + Only `k8s_container`, `k8s_pod`, and `k8s_node` MonitoredResources have + this field populated for GKE versions older than 1.12.6. For GKE versions + 1.12.6 and above, the `metadata` field has been deprecated. The Kubernetes + pod labels that used to be in `metadata.userLabels` will now be present in + the `labels` field with a key prefix of `k8s-pod/`. The Stackdriver system + labels that were present in the `metadata.systemLabels` field will no + longer be available in the LogEntry. + Field number for the "operation" field. @@ -2381,12 +3291,27 @@ Field number for the "span_id" field. - - Optional. The span ID within the trace associated with the log entry. For - Stackdriver Trace spans, this is the same format that the Stackdriver Trace - API v2 uses: a 16-character hexadecimal encoding of an 8-byte array, such - as <code>"000000000000004a"</code>. - + + Optional. The span ID within the trace associated with the log entry. + + For Trace spans, this is the same format that the Trace API v2 uses: a + 16-character hexadecimal encoding of an 8-byte array, such as + <code>"000000000000004a"</code>. + + + + Field number for the "trace_sampled" field. + + + + Optional. The sampling decision of the trace associated with the log entry. + + True means that the trace resource name in the `trace` field was sampled + for storage in a trace backend. False means that the trace was not sampled + for storage when this log entry was written, or the sampling decision was + unknown at the time. A non-sampled `trace` value is still useful as a + request correlation identifier. The default is False. + Field number for the "source_location" field. @@ -2416,8 +3341,8 @@ - Optional. An arbitrary operation identifier. Log entries with the - same identifier are assumed to be part of the same operation. + Optional. An arbitrary operation identifier. Log entries with the same + identifier are assumed to be part of the same operation. @@ -2425,8 +3350,8 @@ - Optional. An arbitrary producer identifier. The combination of - `id` and `producer` must be globally unique. Examples for `producer`: + Optional. An arbitrary producer identifier. The combination of `id` and + `producer` must be globally unique. Examples for `producer`: `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`. @@ -2536,11 +3461,15 @@ "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" - `[LOG_ID]` must be URL-encoded. For example, - `"projects/my-project-id/logs/syslog"` or - `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. - For more information about log names, see - [LogEntry][google.logging.v2.LogEntry]. + `[LOG_ID]` must be URL-encoded. For example: + + "projects/my-project-id/logs/syslog" + "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + + The permission <code>logging.logEntries.create</code> is needed on each + project, organization, billing account, or folder that is receiving + new log entries, whether the resource is specified in + <code>logName</code> or in an individual log entry. @@ -2574,7 +3503,7 @@ - Required. The log entries to send to Stackdriver Logging. The order of log + Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's `log_name`, `resource`, and `labels` fields are copied into those log entries in this list that do not include values for their corresponding @@ -2590,8 +3519,8 @@ Log entries with timestamps that are more than the [logs retention period](/logging/quota-policy) in the past or more than 24 hours in the future will not be available when calling `entries.list`. - However, those log entries can still be exported with - [LogSinks](/logging/docs/api/tasks/exporting-logs). + However, those log entries can still be + [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). To improve throughput and to avoid exceeding the [quota limit](/logging/quota-policy) for calls to `entries.write`, @@ -2662,9 +3591,7 @@ Deprecated. Use `resource_names` instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: - `"my-project-1A"`. If present, these project identifiers are converted to - resource name format and added to the list of resources in - `resource_names`. + `"my-project-1A"`. @@ -2888,8 +3815,8 @@ A list of log names. For example, - `"projects/my-project/syslog"` or - `"organizations/123/cloudresourcemanager.googleapis.com%2Factivity"`. + `"projects/my-project/logs/syslog"` or + `"organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity"`. @@ -2920,9 +3847,9 @@ Describes a sink used to export log entries to one of the following destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a - Cloud Pub/Sub topic. A logs filter controls which log entries are - exported. The sink must be created within a project, organization, billing - account, or folder. + Cloud Pub/Sub topic. A logs filter controls which log entries are exported. + The sink must be created within a project, organization, billing account, or + folder. @@ -2931,7 +3858,7 @@ Required. The client-assigned sink identifier, unique within the - project. Example: `"my-syslog-errors-to-pubsub"`. Sink identifiers are + project. Example: `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited to 100 characters and can include only the following characters: upper and lower-case alphanumeric characters, underscores, hyphens, and periods. @@ -2950,8 +3877,8 @@ The sink's `writer_identity`, set when the sink is created, must have permission to write to the destination or else the log - entries are not exported. For more information, see - [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs). + entries are not exported. For more information, see + [Exporting Logs with Sinks](/logging/docs/api/tasks/exporting-logs). @@ -2959,10 +3886,9 @@ - Optional. - An [advanced logs filter](/logging/docs/view/advanced_filters). The only + Optional. An [advanced logs filter](/logging/docs/view/advanced-queries). The only exported log entries are those that are in the resource owning the sink and - that match the filter. For example: + that match the filter. For example: logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR @@ -2973,7 +3899,7 @@ Deprecated. The log entry format to use for this sink's exported log - entries. The v2 format is used by default and cannot be changed. + entries. The v2 format is used by default and cannot be changed. @@ -2982,17 +3908,17 @@ Output only. An IAM identity&mdash;a service account or group&mdash;under - which Stackdriver Logging writes the exported log entries to the sink's - destination. This field is set by - [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create) + which Logging writes the exported log entries to the sink's destination. + This field is set by + [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and - [sinks.update](/logging/docs/api/reference/rest/v2/projects.sinks/update), - based on the setting of `unique_writer_identity` in those methods. + [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] + based on the value of `unique_writer_identity` in those methods. Until you grant this identity write-access to the destination, log entry exports from this sink will fail. For more information, - see [Granting access for a - resource](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). + see [Granting Access for a + Resource](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). Consult the destination service's documentation to determine the appropriate IAM roles to assign to the identity. @@ -3017,12 +3943,40 @@ resource.type=gce_instance + + Field number for the "bigquery_options" field. + + + + Optional. Options that affect sinks exporting data to BigQuery. + + + + Field number for the "create_time" field. + + + + Output only. The creation timestamp of the sink. + + This field may not be present for older sinks. + + + + Field number for the "update_time" field. + + + + Output only. The last update timestamp of the sink. + + This field may not be present for older sinks. + + Field number for the "start_time" field. - Deprecated. This field is ignored when creating or updating sinks. + Do not use. This field is ignored. @@ -3030,15 +3984,18 @@ - Deprecated. This field is ignored when creating or updating sinks. + Do not use. This field is ignored. + + Enum of possible cases for the "options" oneof. + Container for nested types declared in the LogSink message type. - Available log entry formats. Log entries can be written to Stackdriver + Available log entry formats. Log entries can be written to Logging in either format and can be exported in either format. Version 2 is the preferred format. @@ -3063,6 +4020,25 @@ -typed view over the resource name property. + + + Options that change functionality of a sink exporting data to BigQuery. + + + + Field number for the "use_partitioned_tables" field. + + + + Optional. Whether to use [BigQuery's partition + tables](/bigquery/docs/partitioned-tables). By default, Logging + creates dated tables based on the log entries' timestamps, e.g. + syslog_20170523. With partitioned tables the date suffix is no longer + present and [special query + syntax](/bigquery/docs/querying-partitioned-tables) has to be used instead. + In both cases, tables are sharded based on UTC timezone. + + The parameters to `GetSink`. @@ -3123,15 +4099,15 @@ Optional. Determines the kind of IAM identity returned as `writer_identity` - in the new sink. If this value is omitted or set to false, and if the + in the new sink. If this value is omitted or set to false, and if the sink's parent is a project, then the value returned as `writer_identity` is - the same group or service account used by Stackdriver Logging before the - addition of writer identities to this API. The sink's destination must be - in the same project as the sink itself. + the same group or service account used by Logging before the addition of + writer identities to this API. The sink's destination must be in the same + project as the sink itself. If this field is set to true, or if the sink is owned by a non-project resource such as an organization, then the value of `writer_identity` will - be a unique service account used only for exports from the new sink. For + be a unique service account used only for exports from the new sink. For more information, see `writer_identity` in [LogSink][google.logging.v2.LogSink]. @@ -3175,9 +4151,8 @@ - Optional. See - [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create) - for a description of this field. When updating a sink, the effect of this + Optional. See [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] + for a description of this field. When updating a sink, the effect of this field on the value of `writer_identity` in the updated sink depends on both the old and new values of this field: @@ -3196,7 +4171,7 @@ Optional. Field mask that specifies the fields in `sink` that need an update. A sink field will be overwritten if, and only if, it is - in the update mask. `name` and output only fields cannot be updated. + in the update mask. `name` and output only fields cannot be updated. An empty updateMask is temporarily treated as using the following mask for backwards compatibility purposes: @@ -3205,7 +4180,7 @@ empty updateMask will be an error. For a detailed `FieldMask` definition, see - https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask Example: `updateMask=filter`. @@ -3243,12 +4218,12 @@ - Specifies a set of log entries that are not to be stored in Stackdriver - Logging. If your project receives a large volume of logs, you might be able - to use exclusions to reduce your chargeable logs. Exclusions are processed - after log sinks, so you can export log entries before they are excluded. - Audit log entries and log entries from Amazon Web Services are never - excluded. + Specifies a set of log entries that are not to be stored in + Logging. If your GCP resource receives a large volume of logs, you can + use exclusions to reduce your chargeable logs. Exclusions are + processed after log sinks, so you can export log entries before they are + excluded. Note that organization-level and folder-level exclusions don't + apply to child resources, and that you can't exclude audit log entries. @@ -3274,15 +4249,14 @@ - Required. - An [advanced logs filter](/logging/docs/view/advanced_filters) + Required. An [advanced logs filter](/logging/docs/view/advanced-queries) that matches the log entries to be excluded. By using the - [sample function](/logging/docs/view/advanced_filters#sample), + [sample function](/logging/docs/view/advanced-queries#sample), you can exclude less than 100% of the matching log entries. - For example, the following filter matches 99% of low-severity log - entries from load balancers: + For example, the following query matches 99% of low-severity log + entries from Google Cloud Storage buckets: - `"resource.type=http_load_balancer severity<ERROR sample(insertId, 0.99)"` + `"resource.type=gcs_bucket severity<ERROR sample(insertId, 0.99)"` @@ -3291,11 +4265,31 @@ Optional. If set to True, then this exclusion is disabled and it does not - exclude any log entries. You can use - [exclusions.patch](/logging/docs/reference/v2/rest/v2/projects.exclusions/patch) - to change the value of this field. + exclude any log entries. You can [update an + exclusion][google.logging.v2.ConfigServiceV2.UpdateExclusion] to change the + value of this field. + + Field number for the "create_time" field. + + + + Output only. The creation timestamp of the exclusion. + + This field may not be present for older exclusions. + + + + Field number for the "update_time" field. + + + + Output only. The last update timestamp of the exclusion. + + This field may not be present for older exclusions. + + The parameters to `GetExclusion`. @@ -3389,7 +4383,7 @@ - Required. A nonempty list of fields to change in the existing exclusion. + Required. A non-empty list of fields to change in the existing exclusion. New values for the fields are taken from the corresponding fields in the [LogExclusion][google.logging.v2.LogExclusion] included in this request. Fields not mentioned in `update_mask` are not changed and are ignored in the request. @@ -3430,8 +4424,7 @@ - Service for configuring sinks used to export log entries outside of - Stackdriver Logging. + Service for configuring sinks used to route log entries. @@ -3458,9 +4451,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. The request received from the client. @@ -3468,15 +4461,16 @@ The response to send back to the client (wrapped by a task). - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - The request received from the client. - The context of the server-side call handler being invoked. - The response to send back to the client (wrapped by a task). + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + The request received from the client. + The context of the server-side call handler being invoked. + The response to send back to the client (wrapped by a task). @@ -3621,9 +4615,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. The request to send to the server. @@ -3634,9 +4628,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. The request to send to the server. @@ -3645,9 +4639,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. The request to send to the server. @@ -3658,9 +4652,9 @@ - Creates a sink that exports specified log entries to a destination. The + Creates a sink that exports specified log entries to a destination. The export of newly-ingested log entries begins immediately, unless the sink's - `writer_identity` is not permitted to write to the destination. A sink can + `writer_identity` is not permitted to write to the destination. A sink can export log entries only from the resource owning the sink. The request to send to the server. @@ -3668,52 +4662,56 @@ The call object. - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - The request to send to the server. - The initial metadata to send with the call. This parameter is optional. - An optional deadline for the call. The call will be cancelled if deadline is hit. - An optional token for canceling the call. - The response received from the server. + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + The request to send to the server. + The initial metadata to send with the call. This parameter is optional. + An optional deadline for the call. The call will be cancelled if deadline is hit. + An optional token for canceling the call. + The response received from the server. - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - The request to send to the server. - The options for the call. - The response received from the server. + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + The request to send to the server. + The options for the call. + The response received from the server. - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - The request to send to the server. - The initial metadata to send with the call. This parameter is optional. - An optional deadline for the call. The call will be cancelled if deadline is hit. - An optional token for canceling the call. - The call object. + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + The request to send to the server. + The initial metadata to send with the call. This parameter is optional. + An optional deadline for the call. The call will be cancelled if deadline is hit. + An optional token for canceling the call. + The call object. - - Updates a sink. This method replaces the following fields in the existing - sink with values from the new sink: `destination`, and `filter`. - The updated sink might also have a new `writer_identity`; see the - `unique_writer_identity` field. - - The request to send to the server. - The options for the call. - The call object. + + Updates a sink. This method replaces the following fields in the existing + sink with values from the new sink: `destination`, and `filter`. + + The updated sink might also have a new `writer_identity`; see the + `unique_writer_identity` field. + + The request to send to the server. + The options for the call. + The call object. @@ -3950,6 +4948,12 @@ Creates service definition that can be registered with a server An object implementing the server-side handling logic. + + Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. + Note: this method is part of an experimental API that can change or be removed without any prior notice. + Service methods will be bound by calling AddMethod on this object. + An object implementing the server-side handling logic. + Service for ingesting and querying logs. @@ -3974,11 +4978,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -3989,9 +4992,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request received from the client. The context of the server-side call handler being invoked. @@ -3999,8 +5002,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request received from the client. The context of the server-side call handler being invoked. @@ -4083,11 +5085,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -4100,11 +5101,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -4115,11 +5115,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -4132,11 +5131,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -4147,9 +5145,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request to send to the server. The initial metadata to send with the call. This parameter is optional. @@ -4159,9 +5157,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request to send to the server. The options for the call. @@ -4169,9 +5167,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request to send to the server. The initial metadata to send with the call. This parameter is optional. @@ -4181,9 +5179,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request to send to the server. The options for the call. @@ -4191,8 +5189,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request to send to the server. The initial metadata to send with the call. This parameter is optional. @@ -4202,8 +5199,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request to send to the server. The options for the call. @@ -4211,8 +5207,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request to send to the server. The initial metadata to send with the call. This parameter is optional. @@ -4222,8 +5217,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request to send to the server. The options for the call. @@ -4276,6 +5270,12 @@ Creates service definition that can be registered with a server An object implementing the server-side handling logic. + + Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. + Note: this method is part of an experimental API that can change or be removed without any prior notice. + Service methods will be bound by calling AddMethod on this object. + An object implementing the server-side handling logic. + Holder for reflection information generated from google/logging/v2/logging_metrics.proto @@ -4284,8 +5284,8 @@ - Describes a logs-based metric. The value of the metric is the - number of log entries that match a logs filter in a given time interval. + Describes a logs-based metric. The value of the metric is the number of log + entries that match a logs filter in a given time interval. Logs-based metric can also be used to extract values from logs and create a a distribution of the values. The distribution records the statistics of the @@ -4301,18 +5301,16 @@ Required. The client-assigned metric identifier. Examples: `"error_count"`, `"nginx/requests"`. - Metric identifiers are limited to 100 characters and can include - only the following characters: `A-Z`, `a-z`, `0-9`, and the - special characters `_-.,+!*',()%/`. The forward-slash character - (`/`) denotes a hierarchy of name pieces, and it cannot be the - first character of the name. + Metric identifiers are limited to 100 characters and can include only the + following characters: `A-Z`, `a-z`, `0-9`, and the special characters + `_-.,+!*',()%/`. The forward-slash character (`/`) denotes a hierarchy of + name pieces, and it cannot be the first character of the name. The metric identifier in this field must not be [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding). - However, when the metric identifier appears as the `[METRIC_ID]` - part of a `metric_name` API parameter, then the metric identifier - must be URL-encoded. Example: - `"projects/my-project/metrics/nginx%2Frequests"`. + However, when the metric identifier appears as the `[METRIC_ID]` part of a + `metric_name` API parameter, then the metric identifier must be + URL-encoded. Example: `"projects/my-project/metrics/nginx%2Frequests"`. @@ -4321,6 +5319,7 @@ Optional. A description of this metric, which is used in documentation. + The maximum length of the description is 8000 characters. @@ -4422,6 +5421,26 @@ used to create a histogram of the extracted values. + + Field number for the "create_time" field. + + + + Output only. The creation timestamp of the metric. + + This field may not be present for older metrics. + + + + Field number for the "update_time" field. + + + + Output only. The last update timestamp of the metric. + + This field may not be present for older metrics. + + Field number for the "version" field. @@ -4436,17 +5455,17 @@ - Stackdriver Logging API version. + Logging API version. - Stackdriver Logging API v2. + Logging API v2. - Stackdriver Logging API v1. + Logging API v1. @@ -4475,8 +5494,8 @@ Optional. If present, then retrieve the next batch of results from the - preceding call to this method. `pageToken` must be the value of - `nextPageToken` from the previous response. The values of other method + preceding call to this method. `pageToken` must be the value of + `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call. @@ -4486,7 +5505,7 @@ Optional. The maximum number of results to return from this request. - Non-positive values are ignored. The presence of `nextPageToken` in the + Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available. @@ -4514,7 +5533,7 @@ If there might be more results than appear in this response, then - `nextPageToken` is included. To get the next set of results, call this + `nextPageToken` is included. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`. @@ -4885,6 +5904,12 @@ Creates service definition that can be registered with a server An object implementing the server-side handling logic. + + Register service method with a service binder with or without implementation. Useful when customizing the service binding logic. + Note: this method is part of an experimental API that can change or be removed without any prior notice. + Service methods will be bound by calling AddMethod on this object. + An object implementing the server-side handling logic. + Settings for a . @@ -5033,7 +6058,9 @@ Retry will be attempted on the following response status codes: - No status codes + + + Default RPC expiration is 600000 milliseconds. @@ -5119,6 +6146,31 @@ A deep clone of this object. + + + Builder class for to provide simple configuration of credentials, endpoint etc. + + + + + The settings to use for RPCs, or null for the default settings. + + + + + + + + + + + + + + + + + LoggingServiceV2 client wrapper, for convenient use. @@ -5224,6 +6276,14 @@ Optional . The created . + + + Creates a which uses the specified call invoker for remote operations. + + The for remote operations. Must not be null. + Optional . + The created . + Shuts down any channels automatically created by @@ -5321,6 +6381,87 @@ If not null, applies overrides to this RPC call. + + + Deletes all the log entries in a log. + The log reappears if it receives new entries. + Log entries written shortly before the delete operation might not be + deleted. + + + Required. The resource name of the log to delete: + + "projects/[PROJECT_ID]/logs/[LOG_ID]" + "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + "folders/[FOLDER_ID]/logs/[LOG_ID]" + + `[LOG_ID]` must be URL-encoded. For example, + `"projects/my-project-id/logs/syslog"`, + `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. + For more information about log names, see + [LogEntry][google.logging.v2.LogEntry]. + + + If not null, applies overrides to this RPC call. + + + A Task that completes when the RPC has completed. + + + + + Deletes all the log entries in a log. + The log reappears if it receives new entries. + Log entries written shortly before the delete operation might not be + deleted. + + + Required. The resource name of the log to delete: + + "projects/[PROJECT_ID]/logs/[LOG_ID]" + "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + "folders/[FOLDER_ID]/logs/[LOG_ID]" + + `[LOG_ID]` must be URL-encoded. For example, + `"projects/my-project-id/logs/syslog"`, + `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. + For more information about log names, see + [LogEntry][google.logging.v2.LogEntry]. + + + A to use for this RPC. + + + A Task that completes when the RPC has completed. + + + + + Deletes all the log entries in a log. + The log reappears if it receives new entries. + Log entries written shortly before the delete operation might not be + deleted. + + + Required. The resource name of the log to delete: + + "projects/[PROJECT_ID]/logs/[LOG_ID]" + "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + "folders/[FOLDER_ID]/logs/[LOG_ID]" + + `[LOG_ID]` must be URL-encoded. For example, + `"projects/my-project-id/logs/syslog"`, + `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. + For more information about log names, see + [LogEntry][google.logging.v2.LogEntry]. + + + If not null, applies overrides to this RPC call. + + Deletes all the log entries in a log. @@ -5371,11 +6512,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -5389,11 +6529,15 @@ "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" - `[LOG_ID]` must be URL-encoded. For example, - `"projects/my-project-id/logs/syslog"` or - `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. - For more information about log names, see - [LogEntry][google.logging.v2.LogEntry]. + `[LOG_ID]` must be URL-encoded. For example: + + "projects/my-project-id/logs/syslog" + "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + + The permission <code>logging.logEntries.create</code> is needed on each + project, organization, billing account, or folder that is receiving + new log entries, whether the resource is specified in + <code>logName</code> or in an individual log entry. Optional. A default monitored resource object that is assigned to all log @@ -5412,7 +6556,7 @@ See [LogEntry][google.logging.v2.LogEntry]. - Required. The log entries to send to Stackdriver Logging. The order of log + Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's `log_name`, `resource`, and `labels` fields are copied into those log entries in this list that do not include values for their corresponding @@ -5428,8 +6572,8 @@ Log entries with timestamps that are more than the [logs retention period](/logging/quota-policy) in the past or more than 24 hours in the future will not be available when calling `entries.list`. - However, those log entries can still be exported with - [LogSinks](/logging/docs/api/tasks/exporting-logs). + However, those log entries can still be + [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). To improve throughput and to avoid exceeding the [quota limit](/logging/quota-policy) for calls to `entries.write`, @@ -5445,11 +6589,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -5463,11 +6606,15 @@ "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" - `[LOG_ID]` must be URL-encoded. For example, - `"projects/my-project-id/logs/syslog"` or - `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. - For more information about log names, see - [LogEntry][google.logging.v2.LogEntry]. + `[LOG_ID]` must be URL-encoded. For example: + + "projects/my-project-id/logs/syslog" + "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + + The permission <code>logging.logEntries.create</code> is needed on each + project, organization, billing account, or folder that is receiving + new log entries, whether the resource is specified in + <code>logName</code> or in an individual log entry. Optional. A default monitored resource object that is assigned to all log @@ -5486,7 +6633,7 @@ See [LogEntry][google.logging.v2.LogEntry]. - Required. The log entries to send to Stackdriver Logging. The order of log + Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's `log_name`, `resource`, and `labels` fields are copied into those log entries in this list that do not include values for their corresponding @@ -5502,8 +6649,8 @@ Log entries with timestamps that are more than the [logs retention period](/logging/quota-policy) in the past or more than 24 hours in the future will not be available when calling `entries.list`. - However, those log entries can still be exported with - [LogSinks](/logging/docs/api/tasks/exporting-logs). + However, those log entries can still be + [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). To improve throughput and to avoid exceeding the [quota limit](/logging/quota-policy) for calls to `entries.write`, @@ -5519,11 +6666,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -5537,11 +6683,246 @@ "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" "folders/[FOLDER_ID]/logs/[LOG_ID]" - `[LOG_ID]` must be URL-encoded. For example, - `"projects/my-project-id/logs/syslog"` or - `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. - For more information about log names, see - [LogEntry][google.logging.v2.LogEntry]. + `[LOG_ID]` must be URL-encoded. For example: + + "projects/my-project-id/logs/syslog" + "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + + The permission <code>logging.logEntries.create</code> is needed on each + project, organization, billing account, or folder that is receiving + new log entries, whether the resource is specified in + <code>logName</code> or in an individual log entry. + + + Optional. A default monitored resource object that is assigned to all log + entries in `entries` that do not specify a value for `resource`. Example: + + { "type": "gce_instance", + "labels": { + "zone": "us-central1-a", "instance_id": "00000000000000000000" }} + + See [LogEntry][google.logging.v2.LogEntry]. + + + Optional. Default labels that are added to the `labels` field of all log + entries in `entries`. If a log entry already has a label with the same key + as a label in this parameter, then the log entry's label is not changed. + See [LogEntry][google.logging.v2.LogEntry]. + + + Required. The log entries to send to Logging. The order of log + entries in this list does not matter. Values supplied in this method's + `log_name`, `resource`, and `labels` fields are copied into those log + entries in this list that do not include values for their corresponding + fields. For more information, see the + [LogEntry][google.logging.v2.LogEntry] type. + + If the `timestamp` or `insert_id` fields are missing in log entries, then + this method supplies the current time or a unique identifier, respectively. + The supplied values are chosen so that, among the log entries that did not + supply their own values, the entries earlier in the list will sort before + the entries later in the list. See the `entries.list` method. + + Log entries with timestamps that are more than the + [logs retention period](/logging/quota-policy) in the past or more than + 24 hours in the future will not be available when calling `entries.list`. + However, those log entries can still be + [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). + + To improve throughput and to avoid exceeding the + [quota limit](/logging/quota-policy) for calls to `entries.write`, + you should try to include several log entries in this list, + rather than calling this method for each individual log entry. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + + + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. + A single request may contain log entries for a maximum of 1000 + different resources (projects, organizations, billing accounts or + folders) + + + Optional. A default log resource name that is assigned to all log entries + in `entries` that do not specify a value for `log_name`: + + "projects/[PROJECT_ID]/logs/[LOG_ID]" + "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + "folders/[FOLDER_ID]/logs/[LOG_ID]" + + `[LOG_ID]` must be URL-encoded. For example: + + "projects/my-project-id/logs/syslog" + "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + + The permission <code>logging.logEntries.create</code> is needed on each + project, organization, billing account, or folder that is receiving + new log entries, whether the resource is specified in + <code>logName</code> or in an individual log entry. + + + Optional. A default monitored resource object that is assigned to all log + entries in `entries` that do not specify a value for `resource`. Example: + + { "type": "gce_instance", + "labels": { + "zone": "us-central1-a", "instance_id": "00000000000000000000" }} + + See [LogEntry][google.logging.v2.LogEntry]. + + + Optional. Default labels that are added to the `labels` field of all log + entries in `entries`. If a log entry already has a label with the same key + as a label in this parameter, then the log entry's label is not changed. + See [LogEntry][google.logging.v2.LogEntry]. + + + Required. The log entries to send to Logging. The order of log + entries in this list does not matter. Values supplied in this method's + `log_name`, `resource`, and `labels` fields are copied into those log + entries in this list that do not include values for their corresponding + fields. For more information, see the + [LogEntry][google.logging.v2.LogEntry] type. + + If the `timestamp` or `insert_id` fields are missing in log entries, then + this method supplies the current time or a unique identifier, respectively. + The supplied values are chosen so that, among the log entries that did not + supply their own values, the entries earlier in the list will sort before + the entries later in the list. See the `entries.list` method. + + Log entries with timestamps that are more than the + [logs retention period](/logging/quota-policy) in the past or more than + 24 hours in the future will not be available when calling `entries.list`. + However, those log entries can still be + [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). + + To improve throughput and to avoid exceeding the + [quota limit](/logging/quota-policy) for calls to `entries.write`, + you should try to include several log entries in this list, + rather than calling this method for each individual log entry. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. + A single request may contain log entries for a maximum of 1000 + different resources (projects, organizations, billing accounts or + folders) + + + Optional. A default log resource name that is assigned to all log entries + in `entries` that do not specify a value for `log_name`: + + "projects/[PROJECT_ID]/logs/[LOG_ID]" + "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + "folders/[FOLDER_ID]/logs/[LOG_ID]" + + `[LOG_ID]` must be URL-encoded. For example: + + "projects/my-project-id/logs/syslog" + "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + + The permission <code>logging.logEntries.create</code> is needed on each + project, organization, billing account, or folder that is receiving + new log entries, whether the resource is specified in + <code>logName</code> or in an individual log entry. + + + Optional. A default monitored resource object that is assigned to all log + entries in `entries` that do not specify a value for `resource`. Example: + + { "type": "gce_instance", + "labels": { + "zone": "us-central1-a", "instance_id": "00000000000000000000" }} + + See [LogEntry][google.logging.v2.LogEntry]. + + + Optional. Default labels that are added to the `labels` field of all log + entries in `entries`. If a log entry already has a label with the same key + as a label in this parameter, then the log entry's label is not changed. + See [LogEntry][google.logging.v2.LogEntry]. + + + Required. The log entries to send to Logging. The order of log + entries in this list does not matter. Values supplied in this method's + `log_name`, `resource`, and `labels` fields are copied into those log + entries in this list that do not include values for their corresponding + fields. For more information, see the + [LogEntry][google.logging.v2.LogEntry] type. + + If the `timestamp` or `insert_id` fields are missing in log entries, then + this method supplies the current time or a unique identifier, respectively. + The supplied values are chosen so that, among the log entries that did not + supply their own values, the entries earlier in the list will sort before + the entries later in the list. See the `entries.list` method. + + Log entries with timestamps that are more than the + [logs retention period](/logging/quota-policy) in the past or more than + 24 hours in the future will not be available when calling `entries.list`. + However, those log entries can still be + [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). + + To improve throughput and to avoid exceeding the + [quota limit](/logging/quota-policy) for calls to `entries.write`, + you should try to include several log entries in this list, + rather than calling this method for each individual log entry. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. + A single request may contain log entries for a maximum of 1000 + different resources (projects, organizations, billing accounts or + folders) + + + Optional. A default log resource name that is assigned to all log entries + in `entries` that do not specify a value for `log_name`: + + "projects/[PROJECT_ID]/logs/[LOG_ID]" + "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + "folders/[FOLDER_ID]/logs/[LOG_ID]" + + `[LOG_ID]` must be URL-encoded. For example: + + "projects/my-project-id/logs/syslog" + "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity" + + The permission <code>logging.logEntries.create</code> is needed on each + project, organization, billing account, or folder that is receiving + new log entries, whether the resource is specified in + <code>logName</code> or in an individual log entry. Optional. A default monitored resource object that is assigned to all log @@ -5560,7 +6941,7 @@ See [LogEntry][google.logging.v2.LogEntry]. - Required. The log entries to send to Stackdriver Logging. The order of log + Required. The log entries to send to Logging. The order of log entries in this list does not matter. Values supplied in this method's `log_name`, `resource`, and `labels` fields are copied into those log entries in this list that do not include values for their corresponding @@ -5576,8 +6957,8 @@ Log entries with timestamps that are more than the [logs retention period](/logging/quota-policy) in the past or more than 24 hours in the future will not be available when calling `entries.list`. - However, those log entries can still be exported with - [LogSinks](/logging/docs/api/tasks/exporting-logs). + However, those log entries can still be + [exported with LogSinks](/logging/docs/api/tasks/exporting-logs). To improve throughput and to avoid exceeding the [quota limit](/logging/quota-policy) for calls to `entries.write`, @@ -5593,11 +6974,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -5614,11 +6994,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -5635,11 +7014,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -5654,11 +7032,111 @@ The RPC response. - + + + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). + + + Required. Names of one or more parent resources from which to + retrieve log entries: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + + Projects listed in the `project_ids` field are added to this list. + + + Optional. A filter that chooses which log entries to return. See [Advanced + Logs Filters](/logging/docs/view/advanced_filters). Only log entries that + match the filter are returned. An empty filter matches all log entries in + the resources listed in `resource_names`. Referencing a parent resource + that is not listed in `resource_names` will cause the filter to return no + results. + The maximum length of the filter is 20000 characters. + + + Optional. How the results should be sorted. Presently, the only permitted + values are `"timestamp asc"` (default) and `"timestamp desc"`. The first + option returns entries in order of increasing values of + `LogEntry.timestamp` (oldest first), and the second option returns entries + in order of decreasing timestamps (newest first). Entries with equal + timestamps are returned in order of their `insert_id` values. + + + The token returned from the previous request. + A value of null or an empty string retrieves the first page. + + + The size of page to request. The response will not be larger than this, but may be smaller. + A value of null or 0 uses a server-defined page size. + + + If not null, applies overrides to this RPC call. + + + A pageable asynchronous sequence of resources. + + + + + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). + + + Required. Names of one or more parent resources from which to + retrieve log entries: + + "projects/[PROJECT_ID]" + "organizations/[ORGANIZATION_ID]" + "billingAccounts/[BILLING_ACCOUNT_ID]" + "folders/[FOLDER_ID]" + + + Projects listed in the `project_ids` field are added to this list. + + + Optional. A filter that chooses which log entries to return. See [Advanced + Logs Filters](/logging/docs/view/advanced_filters). Only log entries that + match the filter are returned. An empty filter matches all log entries in + the resources listed in `resource_names`. Referencing a parent resource + that is not listed in `resource_names` will cause the filter to return no + results. + The maximum length of the filter is 20000 characters. + + + Optional. How the results should be sorted. Presently, the only permitted + values are `"timestamp asc"` (default) and `"timestamp desc"`. The first + option returns entries in order of increasing values of + `LogEntry.timestamp` (oldest first), and the second option returns entries + in order of decreasing timestamps (newest first). Entries with equal + timestamps are returned in order of their `insert_id` values. + + + The token returned from the previous request. + A value of null or an empty string retrieves the first page. + + + The size of page to request. The response will not be larger than this, but may be smaller. + A value of null or 0 uses a server-defined page size. + + + If not null, applies overrides to this RPC call. + + + A pageable sequence of resources. + + + - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). Required. Names of one or more parent resources from which to @@ -5669,6 +7147,7 @@ "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + Projects listed in the `project_ids` field are added to this list. @@ -5703,11 +7182,11 @@ A pageable asynchronous sequence of resources. - + - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). Required. Names of one or more parent resources from which to @@ -5718,6 +7197,7 @@ "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" + Projects listed in the `project_ids` field are added to this list. @@ -5754,9 +7234,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request object containing all of the parameters for the API call. @@ -5770,9 +7250,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request object containing all of the parameters for the API call. @@ -5786,8 +7266,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request object containing all of the parameters for the API call. @@ -5801,8 +7280,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request object containing all of the parameters for the API call. @@ -5870,69 +7348,18 @@ A pageable sequence of resources. - - - Lists the logs in projects, organizations, folders, or billing accounts. - Only logs that have entries are listed. - - - The request object containing all of the parameters for the API call. - - - If not null, applies overrides to this RPC call. - - - A pageable asynchronous sequence of resources. - - - - - Lists the logs in projects, organizations, folders, or billing accounts. - Only logs that have entries are listed. - - - The request object containing all of the parameters for the API call. - - - If not null, applies overrides to this RPC call. - - - A pageable sequence of resources. - - - + - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists the logs in projects, organizations, folders, or billing accounts. + Only logs that have entries are listed. - - Required. Names of one or more parent resources from which to - retrieve log entries: + + Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" - - Projects listed in the `project_ids` field are added to this list. - - - Optional. A filter that chooses which log entries to return. See [Advanced - Logs Filters](/logging/docs/view/advanced_filters). Only log entries that - match the filter are returned. An empty filter matches all log entries in - the resources listed in `resource_names`. Referencing a parent resource - that is not listed in `resource_names` will cause the filter to return no - results. - The maximum length of the filter is 20000 characters. - - - Optional. How the results should be sorted. Presently, the only permitted - values are `"timestamp asc"` (default) and `"timestamp desc"`. The first - option returns entries in order of increasing values of - `LogEntry.timestamp` (oldest first), and the second option returns entries - in order of decreasing timestamps (newest first). Entries with equal - timestamps are returned in order of their `insert_id` values. The token returned from the previous request. @@ -5946,42 +7373,21 @@ If not null, applies overrides to this RPC call. - A pageable asynchronous sequence of resources. + A pageable asynchronous sequence of resources. - + - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists the logs in projects, organizations, folders, or billing accounts. + Only logs that have entries are listed. - - Required. Names of one or more parent resources from which to - retrieve log entries: + + Required. The resource name that owns the logs: "projects/[PROJECT_ID]" "organizations/[ORGANIZATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "folders/[FOLDER_ID]" - - Projects listed in the `project_ids` field are added to this list. - - - Optional. A filter that chooses which log entries to return. See [Advanced - Logs Filters](/logging/docs/view/advanced_filters). Only log entries that - match the filter are returned. An empty filter matches all log entries in - the resources listed in `resource_names`. Referencing a parent resource - that is not listed in `resource_names` will cause the filter to return no - results. - The maximum length of the filter is 20000 characters. - - - Optional. How the results should be sorted. Presently, the only permitted - values are `"timestamp asc"` (default) and `"timestamp desc"`. The first - option returns entries in order of increasing values of - `LogEntry.timestamp` (oldest first), and the second option returns entries - in order of decreasing timestamps (newest first). Entries with equal - timestamps are returned in order of their `insert_id` values. The token returned from the previous request. @@ -5995,9 +7401,39 @@ If not null, applies overrides to this RPC call. - A pageable sequence of resources. + A pageable sequence of resources. + + + Lists the logs in projects, organizations, folders, or billing accounts. + Only logs that have entries are listed. + + + The request object containing all of the parameters for the API call. + + + If not null, applies overrides to this RPC call. + + + A pageable asynchronous sequence of resources. + + + + + Lists the logs in projects, organizations, folders, or billing accounts. + Only logs that have entries are listed. + + + The request object containing all of the parameters for the API call. + + + If not null, applies overrides to this RPC call. + + + A pageable sequence of resources. + + LoggingServiceV2 client wrapper implementation, for convenient use. @@ -6048,11 +7484,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -6069,11 +7504,10 @@ - Writes log entries to Stackdriver Logging. This API method is the - only way to send log entries to Stackdriver Logging. This method - is used, directly or indirectly, by the Stackdriver Logging agent - (fluentd) and all logging libraries configured to use Stackdriver - Logging. + Writes log entries to Logging. This API method is the + only way to send log entries to Logging. This method + is used, directly or indirectly, by the Logging agent + (fluentd) and all logging libraries configured to use Logging. A single request may contain log entries for a maximum of 1000 different resources (projects, organizations, billing accounts or folders) @@ -6090,9 +7524,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request object containing all of the parameters for the API call. @@ -6106,9 +7540,9 @@ - Lists log entries. Use this method to retrieve log entries from - Stackdriver Logging. For ways to export log entries, see - [Exporting Logs](/logging/docs/export). + Lists log entries. Use this method to retrieve log entries that originated + from a project/folder/organization/billing account. For ways to export log + entries, see [Exporting Logs](/logging/docs/export). The request object containing all of the parameters for the API call. @@ -6122,8 +7556,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request object containing all of the parameters for the API call. @@ -6137,8 +7570,7 @@ - Lists the descriptors for monitored resource types used by Stackdriver - Logging. + Lists the descriptors for monitored resource types used by Logging. The request object containing all of the parameters for the API call. @@ -6382,6 +7814,31 @@ A deep clone of this object. + + + Builder class for to provide simple configuration of credentials, endpoint etc. + + + + + The settings to use for RPCs, or null for the default settings. + + + + + + + + + + + + + + + + + MetricsServiceV2 client wrapper, for convenient use. @@ -6487,6 +7944,14 @@ Optional . The created . + + + Creates a which uses the specified call invoker for remote operations. + + The for remote operations. Must not be null. + Optional . + The created . + Shuts down any channels automatically created by @@ -6551,6 +8016,54 @@ A pageable sequence of resources. + + + Lists logs-based metrics. + + + Required. The name of the project containing the metrics: + + "projects/[PROJECT_ID]" + + + The token returned from the previous request. + A value of null or an empty string retrieves the first page. + + + The size of page to request. The response will not be larger than this, but may be smaller. + A value of null or 0 uses a server-defined page size. + + + If not null, applies overrides to this RPC call. + + + A pageable asynchronous sequence of resources. + + + + + Lists logs-based metrics. + + + Required. The name of the project containing the metrics: + + "projects/[PROJECT_ID]" + + + The token returned from the previous request. + A value of null or an empty string retrieves the first page. + + + The size of page to request. The response will not be larger than this, but may be smaller. + A value of null or 0 uses a server-defined page size. + + + If not null, applies overrides to this RPC call. + + + A pageable sequence of resources. + + Lists logs-based metrics. @@ -6579,7 +8092,55 @@ A pageable sequence of resources. - + + + Gets a logs-based metric. + + + The resource name of the desired metric: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Gets a logs-based metric. + + + The resource name of the desired metric: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Gets a logs-based metric. + + + The resource name of the desired metric: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + + Gets a logs-based metric. @@ -6595,7 +8156,7 @@ A Task containing the RPC response. - + Gets a logs-based metric. @@ -6611,7 +8172,7 @@ A Task containing the RPC response. - + Gets a logs-based metric. @@ -6735,6 +8296,72 @@ The RPC response. + + + Creates a logs-based metric. + + + The resource name of the project in which to create the metric: + + "projects/[PROJECT_ID]" + + The new metric must be provided in the request. + + + The new logs-based metric, which must not have an identifier that + already exists. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Creates a logs-based metric. + + + The resource name of the project in which to create the metric: + + "projects/[PROJECT_ID]" + + The new metric must be provided in the request. + + + The new logs-based metric, which must not have an identifier that + already exists. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Creates a logs-based metric. + + + The resource name of the project in which to create the metric: + + "projects/[PROJECT_ID]" + + The new metric must be provided in the request. + + + The new logs-based metric, which must not have an identifier that + already exists. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + Creates a logs-based metric. @@ -6846,6 +8473,75 @@ The RPC response. + + + Creates or updates a logs-based metric. + + + The resource name of the metric to update: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + The updated metric must be provided in the request and it's + `name` field must be the same as `[METRIC_ID]` If the metric + does not exist in `[PROJECT_ID]`, then a new metric is created. + + + The updated metric. + + + If not null, applies overrides to this RPC call. + + + A Task containing the RPC response. + + + + + Creates or updates a logs-based metric. + + + The resource name of the metric to update: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + The updated metric must be provided in the request and it's + `name` field must be the same as `[METRIC_ID]` If the metric + does not exist in `[PROJECT_ID]`, then a new metric is created. + + + The updated metric. + + + A to use for this RPC. + + + A Task containing the RPC response. + + + + + Creates or updates a logs-based metric. + + + The resource name of the metric to update: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + The updated metric must be provided in the request and it's + `name` field must be the same as `[METRIC_ID]` If the metric + does not exist in `[PROJECT_ID]`, then a new metric is created. + + + The updated metric. + + + If not null, applies overrides to this RPC call. + + + The RPC response. + + Creates or updates a logs-based metric. @@ -6933,6 +8629,51 @@ If not null, applies overrides to this RPC call. + + + Deletes a logs-based metric. + + + The resource name of the metric to delete: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + + If not null, applies overrides to this RPC call. + + + A Task that completes when the RPC has completed. + + + + + Deletes a logs-based metric. + + + The resource name of the metric to delete: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + + A to use for this RPC. + + + A Task that completes when the RPC has completed. + + + + + Deletes a logs-based metric. + + + The resource name of the metric to delete: + + "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + + + If not null, applies overrides to this RPC call. + + Deletes a logs-based metric. @@ -7126,262 +8867,285 @@ If not null, applies overrides to this RPC call. - + - Resource name for the 'project' resource. + Resource name for the 'billing' resource. - + - Parses the given project resource name in string form into a new - instance. + Parses the given billing resource name in string form into a new + instance. - The project resource name in string form. Must not be null. - The parsed if successful. + The billing resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse the given project resource name in string form into a new - instance. + Tries to parse the given billing resource name in string form into a new + instance. - This method still throws if is null, + This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The project resource name in string form. Must not be null. - When this method returns, the parsed , + The billing resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The billingAccount ID. Must not be null. + The string representation of the . + + - Constructs a new instance of the resource name class + Constructs a new instance of the resource name class from its component parts. - The project ID. Must not be null. + The billingAccount ID. Must not be null. - + - The project ID. Never null. + The billingAccount ID. Never null. - + - + - + - + - + - + - + - + - Resource name for the 'log' resource. + Resource name for the 'billing_exclusion' resource. - + - Parses the given log resource name in string form into a new - instance. + Parses the given billing_exclusion resource name in string form into a new + instance. - The log resource name in string form. Must not be null. - The parsed if successful. + The billing_exclusion resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse the given log resource name in string form into a new - instance. + Tries to parse the given billing_exclusion resource name in string form into a new + instance. - This method still throws if is null, + This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The log resource name in string form. Must not be null. - When this method returns, the parsed , + The billing_exclusion resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The billingAccount ID. Must not be null. + The exclusion ID. Must not be null. + The string representation of the . + + - Constructs a new instance of the resource name class + Constructs a new instance of the resource name class from its component parts. - The project ID. Must not be null. - The log ID. Must not be null. + The billingAccount ID. Must not be null. + The exclusion ID. Must not be null. - + - The project ID. Never null. + The billingAccount ID. Never null. - + - The log ID. Never null. + The exclusion ID. Never null. - + - + - + - + - + - + - + - + - Resource name for the 'sink' resource. + Resource name for the 'billing_log' resource. - + - Parses the given sink resource name in string form into a new - instance. + Parses the given billing_log resource name in string form into a new + instance. - The sink resource name in string form. Must not be null. - The parsed if successful. + The billing_log resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse the given sink resource name in string form into a new - instance. + Tries to parse the given billing_log resource name in string form into a new + instance. - This method still throws if is null, + This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The sink resource name in string form. Must not be null. - When this method returns, the parsed , + The billing_log resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The billingAccount ID. Must not be null. + The log ID. Must not be null. + The string representation of the . + + - Constructs a new instance of the resource name class + Constructs a new instance of the resource name class from its component parts. - The project ID. Must not be null. - The sink ID. Must not be null. + The billingAccount ID. Must not be null. + The log ID. Must not be null. - + - The project ID. Never null. + The billingAccount ID. Never null. - + - The sink ID. Never null. + The log ID. Never null. - + - + - + - + - + - + - + - + - Resource name for the 'metric' resource. + Resource name for the 'billing_sink' resource. - + - Parses the given metric resource name in string form into a new - instance. + Parses the given billing_sink resource name in string form into a new + instance. - The metric resource name in string form. Must not be null. - The parsed if successful. + The billing_sink resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse the given metric resource name in string form into a new - instance. + Tries to parse the given billing_sink resource name in string form into a new + instance. - This method still throws if is null, + This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The metric resource name in string form. Must not be null. - When this method returns, the parsed , + The billing_sink resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The billingAccount ID. Must not be null. + The sink ID. Must not be null. + The string representation of the . + + - Constructs a new instance of the resource name class + Constructs a new instance of the resource name class from its component parts. - The project ID. Must not be null. - The metric ID. Must not be null. + The billingAccount ID. Must not be null. + The sink ID. Must not be null. - + - The project ID. Never null. + The billingAccount ID. Never null. - + - The metric ID. Never null. + The sink ID. Never null. - + - + - + - + - + - + - + @@ -7411,6 +9175,12 @@ or null if parsing fails. true if the name was parsed successfully; false otherwise. + + Formats the IDs into the string representation of the . + The project ID. Must not be null. + The exclusion ID. Must not be null. + The string representation of the . + Constructs a new instance of the resource name class @@ -7450,322 +9220,331 @@ - + - Resource name for the 'organization' resource. + Resource name which will contain one of a choice of resource names. + + This resource name will contain one of the following: + + ExclusionName: A resource of type 'exclusion'. + OrganizationExclusionName: A resource of type 'organization_exclusion'. + FolderExclusionName: A resource of type 'folder_exclusion'. + BillingExclusionName: A resource of type 'billing_exclusion'. + + - + - Parses the given organization resource name in string form into a new - instance. + The possible contents of . - The organization resource name in string form. Must not be null. - The parsed if successful. - + - Tries to parse the given organization resource name in string form into a new - instance. + A resource of an unknown type. - - This method still throws if is null, - as this would usually indicate a programming error rather than a data error. - - The organization resource name in string form. Must not be null. - When this method returns, the parsed , - or null if parsing fails. - true if the name was parsed successfully; false otherwise. - + - Constructs a new instance of the resource name class - from its component parts. + A resource of type 'exclusion'. - The organization ID. Must not be null. - + - The organization ID. Never null. + A resource of type 'organization_exclusion'. - - - - - - - - - - - - - - - - - - - - + + + A resource of type 'folder_exclusion'. + - + - Resource name for the 'organization_log' resource. + A resource of type 'billing_exclusion'. - + - Parses the given organization_log resource name in string form into a new - instance. + Parses a resource name in string form into a new instance. - The organization_log resource name in string form. Must not be null. - The parsed if successful. + + To parse successfully the resource name must be one of the following: + + ExclusionName: A resource of type 'exclusion'. + OrganizationExclusionName: A resource of type 'organization_exclusion'. + FolderExclusionName: A resource of type 'folder_exclusion'. + BillingExclusionName: A resource of type 'billing_exclusion'. + + Or an if is true. + + The resource name in string form. Must not be null. + If true, will successfully parse an unknown resource name + into an ; otherwise will throw an + if an unknown resource name is given. + The parsed if successful. - + - Tries to parse the given organization_log resource name in string form into a new - instance. + Tries to parse a resource name in string form into a new instance. - This method still throws if is null, - as this would usually indicate a programming error rather than a data error. + To parse successfully the resource name must be one of the following: + + ExclusionName: A resource of type 'exclusion'. + OrganizationExclusionName: A resource of type 'organization_exclusion'. + FolderExclusionName: A resource of type 'folder_exclusion'. + BillingExclusionName: A resource of type 'billing_exclusion'. + + Or an if is true. - The organization_log resource name in string form. Must not be null. - When this method returns, the parsed , + The resource name in string form. Must not be null. + If true, will successfully parse an unknown resource name + into an . + When this method returns, the parsed , or null if parsing fails. - true if the name was parsed successfully; false otherwise. + true if the name was parsed succssfully; false otherwise. - + - Constructs a new instance of the resource name class - from its component parts. + Construct a new instance of from the provided - The organization ID. Must not be null. - The log ID. Must not be null. + The to be contained within + the returned . Must not be null. + A new , containing . - + - The organization ID. Never null. + Construct a new instance of from the provided + The to be contained within + the returned . Must not be null. + A new , containing . - + - The log ID. Never null. + Construct a new instance of from the provided + The to be contained within + the returned . Must not be null. + A new , containing . - - - - - - - - - - - - - - - - - + + + Construct a new instance of from the provided + + The to be contained within + the returned . Must not be null. + A new , containing . - - + + + Constructs a new instance of the resource name class + from a suitable instance. + - + - Resource name for the 'organization_sink' resource. + The of the Name contained in this instance. - + - Parses the given organization_sink resource name in string form into a new - instance. + The contained in this instance. - The organization_sink resource name in string form. Must not be null. - The parsed if successful. - + - Tries to parse the given organization_sink resource name in string form into a new - instance. + Get the contained as . - This method still throws if is null, - as this would usually indicate a programming error rather than a data error. + An will be thrown if this does not + contain an instance of . - The organization_sink resource name in string form. Must not be null. - When this method returns, the parsed , - or null if parsing fails. - true if the name was parsed successfully; false otherwise. - + - Constructs a new instance of the resource name class - from its component parts. + Get the contained as . - The organization ID. Must not be null. - The sink ID. Must not be null. + + An will be thrown if this does not + contain an instance of . + - + - The organization ID. Never null. + Get the contained as . + + An will be thrown if this does not + contain an instance of . + - + - The sink ID. Never null. + Get the contained as . + + An will be thrown if this does not + contain an instance of . + - + - + - + - + - + - + - + - + - Resource name for the 'organization_exclusion' resource. + Resource name for the 'folder' resource. - + - Parses the given organization_exclusion resource name in string form into a new - instance. + Parses the given folder resource name in string form into a new + instance. - The organization_exclusion resource name in string form. Must not be null. - The parsed if successful. + The folder resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse the given organization_exclusion resource name in string form into a new - instance. + Tries to parse the given folder resource name in string form into a new + instance. - This method still throws if is null, + This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The organization_exclusion resource name in string form. Must not be null. - When this method returns, the parsed , + The folder resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. - - - Constructs a new instance of the resource name class - from its component parts. - - The organization ID. Must not be null. - The exclusion ID. Must not be null. + + Formats the IDs into the string representation of the . + The folder ID. Must not be null. + The string representation of the . - + - The organization ID. Never null. + Constructs a new instance of the resource name class + from its component parts. + The folder ID. Must not be null. - + - The exclusion ID. Never null. + The folder ID. Never null. - + - + - + - + - + - + - + - + - Resource name for the 'folder' resource. + Resource name for the 'folder_exclusion' resource. - + - Parses the given folder resource name in string form into a new - instance. + Parses the given folder_exclusion resource name in string form into a new + instance. - The folder resource name in string form. Must not be null. - The parsed if successful. + The folder_exclusion resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse the given folder resource name in string form into a new - instance. + Tries to parse the given folder_exclusion resource name in string form into a new + instance. - This method still throws if is null, + This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The folder resource name in string form. Must not be null. - When this method returns, the parsed , + The folder_exclusion resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The folder ID. Must not be null. + The exclusion ID. Must not be null. + The string representation of the . + + - Constructs a new instance of the resource name class + Constructs a new instance of the resource name class from its component parts. The folder ID. Must not be null. + The exclusion ID. Must not be null. - + The folder ID. Never null. - + + + The exclusion ID. Never null. + + + - + - + - + - + - + - + @@ -7795,6 +9574,12 @@ or null if parsing fails. true if the name was parsed successfully; false otherwise. + + Formats the IDs into the string representation of the . + The folder ID. Must not be null. + The log ID. Must not be null. + The string representation of the . + Constructs a new instance of the resource name class @@ -7861,6 +9646,12 @@ or null if parsing fails. true if the name was parsed successfully; false otherwise. + + Formats the IDs into the string representation of the . + The folder ID. Must not be null. + The sink ID. Must not be null. + The string representation of the . + Constructs a new instance of the resource name class @@ -7900,385 +9691,374 @@ - + - Resource name for the 'folder_exclusion' resource. + Resource name for the 'log' resource. - + - Parses the given folder_exclusion resource name in string form into a new - instance. + Parses the given log resource name in string form into a new + instance. - The folder_exclusion resource name in string form. Must not be null. - The parsed if successful. + The log resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse the given folder_exclusion resource name in string form into a new - instance. + Tries to parse the given log resource name in string form into a new + instance. - This method still throws if is null, + This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The folder_exclusion resource name in string form. Must not be null. - When this method returns, the parsed , + The log resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The project ID. Must not be null. + The log ID. Must not be null. + The string representation of the . + + - Constructs a new instance of the resource name class + Constructs a new instance of the resource name class from its component parts. - The folder ID. Must not be null. - The exclusion ID. Must not be null. + The project ID. Must not be null. + The log ID. Must not be null. - + - The folder ID. Never null. + The project ID. Never null. - + - The exclusion ID. Never null. + The log ID. Never null. - + - + - + - + - + - + - + - + - Resource name for the 'billing' resource. + Resource name which will contain one of a choice of resource names. + + This resource name will contain one of the following: + + LogName: A resource of type 'log'. + OrganizationLogName: A resource of type 'organization_log'. + FolderLogName: A resource of type 'folder_log'. + BillingLogName: A resource of type 'billing_log'. + + - + - Parses the given billing resource name in string form into a new - instance. + The possible contents of . - The billing resource name in string form. Must not be null. - The parsed if successful. - + - Tries to parse the given billing resource name in string form into a new - instance. + A resource of an unknown type. - - This method still throws if is null, - as this would usually indicate a programming error rather than a data error. - - The billing resource name in string form. Must not be null. - When this method returns, the parsed , - or null if parsing fails. - true if the name was parsed successfully; false otherwise. - + - Constructs a new instance of the resource name class - from its component parts. + A resource of type 'log'. - The billingAccount ID. Must not be null. - + - The billingAccount ID. Never null. + A resource of type 'organization_log'. - - - - - - - - - - - - - - - - - - - - + + + A resource of type 'folder_log'. + - + - Resource name for the 'billing_log' resource. + A resource of type 'billing_log'. - + - Parses the given billing_log resource name in string form into a new - instance. + Parses a resource name in string form into a new instance. - The billing_log resource name in string form. Must not be null. - The parsed if successful. + + To parse successfully the resource name must be one of the following: + + LogName: A resource of type 'log'. + OrganizationLogName: A resource of type 'organization_log'. + FolderLogName: A resource of type 'folder_log'. + BillingLogName: A resource of type 'billing_log'. + + Or an if is true. + + The resource name in string form. Must not be null. + If true, will successfully parse an unknown resource name + into an ; otherwise will throw an + if an unknown resource name is given. + The parsed if successful. - + - Tries to parse the given billing_log resource name in string form into a new - instance. + Tries to parse a resource name in string form into a new instance. - This method still throws if is null, - as this would usually indicate a programming error rather than a data error. + To parse successfully the resource name must be one of the following: + + LogName: A resource of type 'log'. + OrganizationLogName: A resource of type 'organization_log'. + FolderLogName: A resource of type 'folder_log'. + BillingLogName: A resource of type 'billing_log'. + + Or an if is true. - The billing_log resource name in string form. Must not be null. - When this method returns, the parsed , + The resource name in string form. Must not be null. + If true, will successfully parse an unknown resource name + into an . + When this method returns, the parsed , or null if parsing fails. - true if the name was parsed successfully; false otherwise. + true if the name was parsed succssfully; false otherwise. - + - Constructs a new instance of the resource name class - from its component parts. + Construct a new instance of from the provided - The billingAccount ID. Must not be null. - The log ID. Must not be null. + The to be contained within + the returned . Must not be null. + A new , containing . - + - The billingAccount ID. Never null. + Construct a new instance of from the provided + The to be contained within + the returned . Must not be null. + A new , containing . - + - The log ID. Never null. + Construct a new instance of from the provided + The to be contained within + the returned . Must not be null. + A new , containing . - - - - - - - - - - - - - - - - - + + + Construct a new instance of from the provided + + The to be contained within + the returned . Must not be null. + A new , containing . - - + + + Constructs a new instance of the resource name class + from a suitable instance. + - + - Resource name for the 'billing_sink' resource. + The of the Name contained in this instance. - + - Parses the given billing_sink resource name in string form into a new - instance. + The contained in this instance. - The billing_sink resource name in string form. Must not be null. - The parsed if successful. - + - Tries to parse the given billing_sink resource name in string form into a new - instance. + Get the contained as . - This method still throws if is null, - as this would usually indicate a programming error rather than a data error. + An will be thrown if this does not + contain an instance of . - The billing_sink resource name in string form. Must not be null. - When this method returns, the parsed , - or null if parsing fails. - true if the name was parsed successfully; false otherwise. - + - Constructs a new instance of the resource name class - from its component parts. + Get the contained as . - The billingAccount ID. Must not be null. - The sink ID. Must not be null. + + An will be thrown if this does not + contain an instance of . + - + - The billingAccount ID. Never null. + Get the contained as . + + An will be thrown if this does not + contain an instance of . + - + - The sink ID. Never null. + Get the contained as . + + An will be thrown if this does not + contain an instance of . + - + - + - + - + - + - + - + - + - Resource name for the 'billing_exclusion' resource. + Resource name for the 'metric' resource. - + - Parses the given billing_exclusion resource name in string form into a new - instance. + Parses the given metric resource name in string form into a new + instance. - The billing_exclusion resource name in string form. Must not be null. - The parsed if successful. + The metric resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse the given billing_exclusion resource name in string form into a new - instance. + Tries to parse the given metric resource name in string form into a new + instance. - This method still throws if is null, + This method still throws if is null, as this would usually indicate a programming error rather than a data error. - The billing_exclusion resource name in string form. Must not be null. - When this method returns, the parsed , + The metric resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The project ID. Must not be null. + The metric ID. Must not be null. + The string representation of the . + + - Constructs a new instance of the resource name class + Constructs a new instance of the resource name class from its component parts. - The billingAccount ID. Must not be null. - The exclusion ID. Must not be null. + The project ID. Must not be null. + The metric ID. Must not be null. - + - The billingAccount ID. Never null. + The project ID. Never null. - + - The exclusion ID. Never null. + The metric ID. Never null. - + - + - + - + - + - + - + - + Resource name which will contain one of a choice of resource names. This resource name will contain one of the following: - ProjectName: A resource of type 'project'. - OrganizationName: A resource of type 'organization'. - FolderName: A resource of type 'folder'. - BillingName: A resource of type 'billing'. + MetricName: A resource of type 'metric'. - + - The possible contents of . + The possible contents of . - + A resource of an unknown type. - - - A resource of type 'project'. - - - - - A resource of type 'organization'. - - - - - A resource of type 'folder'. - - - + - A resource of type 'billing'. + A resource of type 'metric'. - + - Parses a resource name in string form into a new instance. + Parses a resource name in string form into a new instance. To parse successfully the resource name must be one of the following: - ProjectName: A resource of type 'project'. - OrganizationName: A resource of type 'organization'. - FolderName: A resource of type 'folder'. - BillingName: A resource of type 'billing'. + MetricName: A resource of type 'metric'. Or an if is true. @@ -8286,379 +10066,416 @@ If true, will successfully parse an unknown resource name into an ; otherwise will throw an if an unknown resource name is given. - The parsed if successful. + The parsed if successful. - + - Tries to parse a resource name in string form into a new instance. + Tries to parse a resource name in string form into a new instance. To parse successfully the resource name must be one of the following: - ProjectName: A resource of type 'project'. - OrganizationName: A resource of type 'organization'. - FolderName: A resource of type 'folder'. - BillingName: A resource of type 'billing'. + MetricName: A resource of type 'metric'. Or an if is true. The resource name in string form. Must not be null. If true, will successfully parse an unknown resource name into an . - When this method returns, the parsed , + When this method returns, the parsed , or null if parsing fails. true if the name was parsed succssfully; false otherwise. - + - Construct a new instance of from the provided + Construct a new instance of from the provided - The to be contained within - the returned . Must not be null. - A new , containing . + The to be contained within + the returned . Must not be null. + A new , containing . - + - Construct a new instance of from the provided + Constructs a new instance of the resource name class + from a suitable instance. - The to be contained within - the returned . Must not be null. - A new , containing . - + - Construct a new instance of from the provided + The of the Name contained in this instance. - The to be contained within - the returned . Must not be null. - A new , containing . - + - Construct a new instance of from the provided + The contained in this instance. - The to be contained within - the returned . Must not be null. - A new , containing . - + - Constructs a new instance of the resource name class - from a suitable instance. + Get the contained as . + + An will be thrown if this does not + contain an instance of . + - - - The of the Name contained in this instance. - + + - + + + + + + + + + + + + + + + + + + + - The contained in this instance. + Resource name for the 'organization' resource. - + - Get the contained as . + Parses the given organization resource name in string form into a new + instance. - - An will be thrown if this does not - contain an instance of . - + The organization resource name in string form. Must not be null. + The parsed if successful. - + - Get the contained as . + Tries to parse the given organization resource name in string form into a new + instance. - An will be thrown if this does not - contain an instance of . + This method still throws if is null, + as this would usually indicate a programming error rather than a data error. + The organization resource name in string form. Must not be null. + When this method returns, the parsed , + or null if parsing fails. + true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The organization ID. Must not be null. + The string representation of the . + + - Get the contained as . + Constructs a new instance of the resource name class + from its component parts. - - An will be thrown if this does not - contain an instance of . - + The organization ID. Must not be null. - + - Get the contained as . + The organization ID. Never null. - - An will be thrown if this does not - contain an instance of . - - + - + - + - + - + - + - + - + - Resource name which will contain one of a choice of resource names. + Resource name for the 'organization_exclusion' resource. - - This resource name will contain one of the following: - - SinkName: A resource of type 'sink'. - OrganizationSinkName: A resource of type 'organization_sink'. - FolderSinkName: A resource of type 'folder_sink'. - BillingSinkName: A resource of type 'billing_sink'. - - - + - The possible contents of . + Parses the given organization_exclusion resource name in string form into a new + instance. + The organization_exclusion resource name in string form. Must not be null. + The parsed if successful. - + - A resource of an unknown type. + Tries to parse the given organization_exclusion resource name in string form into a new + instance. + + This method still throws if is null, + as this would usually indicate a programming error rather than a data error. + + The organization_exclusion resource name in string form. Must not be null. + When this method returns, the parsed , + or null if parsing fails. + true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The organization ID. Must not be null. + The exclusion ID. Must not be null. + The string representation of the . + + - A resource of type 'sink'. + Constructs a new instance of the resource name class + from its component parts. + The organization ID. Must not be null. + The exclusion ID. Must not be null. - + - A resource of type 'organization_sink'. + The organization ID. Never null. - + - A resource of type 'folder_sink'. + The exclusion ID. Never null. - + + + + + + + + + + + + + + + + + + + + + + - A resource of type 'billing_sink'. + Resource name for the 'organization_log' resource. - + - Parses a resource name in string form into a new instance. + Parses the given organization_log resource name in string form into a new + instance. - - To parse successfully the resource name must be one of the following: - - SinkName: A resource of type 'sink'. - OrganizationSinkName: A resource of type 'organization_sink'. - FolderSinkName: A resource of type 'folder_sink'. - BillingSinkName: A resource of type 'billing_sink'. - - Or an if is true. - - The resource name in string form. Must not be null. - If true, will successfully parse an unknown resource name - into an ; otherwise will throw an - if an unknown resource name is given. - The parsed if successful. + The organization_log resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse a resource name in string form into a new instance. + Tries to parse the given organization_log resource name in string form into a new + instance. - To parse successfully the resource name must be one of the following: - - SinkName: A resource of type 'sink'. - OrganizationSinkName: A resource of type 'organization_sink'. - FolderSinkName: A resource of type 'folder_sink'. - BillingSinkName: A resource of type 'billing_sink'. - - Or an if is true. + This method still throws if is null, + as this would usually indicate a programming error rather than a data error. - The resource name in string form. Must not be null. - If true, will successfully parse an unknown resource name - into an . - When this method returns, the parsed , + The organization_log resource name in string form. Must not be null. + When this method returns, the parsed , or null if parsing fails. - true if the name was parsed succssfully; false otherwise. + true if the name was parsed successfully; false otherwise. - - - Construct a new instance of from the provided - - The to be contained within - the returned . Must not be null. - A new , containing . + + Formats the IDs into the string representation of the . + The organization ID. Must not be null. + The log ID. Must not be null. + The string representation of the . - + - Construct a new instance of from the provided + Constructs a new instance of the resource name class + from its component parts. - The to be contained within - the returned . Must not be null. - A new , containing . + The organization ID. Must not be null. + The log ID. Must not be null. - + - Construct a new instance of from the provided + The organization ID. Never null. - The to be contained within - the returned . Must not be null. - A new , containing . - + - Construct a new instance of from the provided + The log ID. Never null. - The to be contained within - the returned . Must not be null. - A new , containing . - - - Constructs a new instance of the resource name class - from a suitable instance. - + + - + + + + + + + + + + + + + + + + + + + - The of the Name contained in this instance. + Resource name for the 'organization_sink' resource. - + - The contained in this instance. + Parses the given organization_sink resource name in string form into a new + instance. + The organization_sink resource name in string form. Must not be null. + The parsed if successful. - + - Get the contained as . + Tries to parse the given organization_sink resource name in string form into a new + instance. - An will be thrown if this does not - contain an instance of . + This method still throws if is null, + as this would usually indicate a programming error rather than a data error. + The organization_sink resource name in string form. Must not be null. + When this method returns, the parsed , + or null if parsing fails. + true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The organization ID. Must not be null. + The sink ID. Must not be null. + The string representation of the . + + - Get the contained as . + Constructs a new instance of the resource name class + from its component parts. - - An will be thrown if this does not - contain an instance of . - + The organization ID. Must not be null. + The sink ID. Must not be null. - + - Get the contained as . + The organization ID. Never null. - - An will be thrown if this does not - contain an instance of . - - + - Get the contained as . + The sink ID. Never null. - - An will be thrown if this does not - contain an instance of . - - + - + - + - + - + - + - + - + Resource name which will contain one of a choice of resource names. This resource name will contain one of the following: - ExclusionName: A resource of type 'exclusion'. - OrganizationExclusionName: A resource of type 'organization_exclusion'. - FolderExclusionName: A resource of type 'folder_exclusion'. - BillingExclusionName: A resource of type 'billing_exclusion'. + ProjectName: A resource of type 'project'. + OrganizationName: A resource of type 'organization'. + FolderName: A resource of type 'folder'. + BillingName: A resource of type 'billing'. - + - The possible contents of . + The possible contents of . - + A resource of an unknown type. - + - A resource of type 'exclusion'. + A resource of type 'project'. - + - A resource of type 'organization_exclusion'. + A resource of type 'organization'. - + - A resource of type 'folder_exclusion'. + A resource of type 'folder'. - + - A resource of type 'billing_exclusion'. + A resource of type 'billing'. - + - Parses a resource name in string form into a new instance. + Parses a resource name in string form into a new instance. To parse successfully the resource name must be one of the following: - ExclusionName: A resource of type 'exclusion'. - OrganizationExclusionName: A resource of type 'organization_exclusion'. - FolderExclusionName: A resource of type 'folder_exclusion'. - BillingExclusionName: A resource of type 'billing_exclusion'. + ProjectName: A resource of type 'project'. + OrganizationName: A resource of type 'organization'. + FolderName: A resource of type 'folder'. + BillingName: A resource of type 'billing'. Or an if is true. @@ -8666,358 +10483,326 @@ If true, will successfully parse an unknown resource name into an ; otherwise will throw an if an unknown resource name is given. - The parsed if successful. + The parsed if successful. - + - Tries to parse a resource name in string form into a new instance. + Tries to parse a resource name in string form into a new instance. To parse successfully the resource name must be one of the following: - ExclusionName: A resource of type 'exclusion'. - OrganizationExclusionName: A resource of type 'organization_exclusion'. - FolderExclusionName: A resource of type 'folder_exclusion'. - BillingExclusionName: A resource of type 'billing_exclusion'. + ProjectName: A resource of type 'project'. + OrganizationName: A resource of type 'organization'. + FolderName: A resource of type 'folder'. + BillingName: A resource of type 'billing'. Or an if is true. The resource name in string form. Must not be null. If true, will successfully parse an unknown resource name into an . - When this method returns, the parsed , + When this method returns, the parsed , or null if parsing fails. true if the name was parsed succssfully; false otherwise. - + - Construct a new instance of from the provided + Construct a new instance of from the provided - The to be contained within - the returned . Must not be null. - A new , containing . + The to be contained within + the returned . Must not be null. + A new , containing . - + - Construct a new instance of from the provided + Construct a new instance of from the provided - The to be contained within - the returned . Must not be null. - A new , containing . + The to be contained within + the returned . Must not be null. + A new , containing . - + - Construct a new instance of from the provided + Construct a new instance of from the provided - The to be contained within - the returned . Must not be null. - A new , containing . + The to be contained within + the returned . Must not be null. + A new , containing . - + - Construct a new instance of from the provided + Construct a new instance of from the provided - The to be contained within - the returned . Must not be null. - A new , containing . + The to be contained within + the returned . Must not be null. + A new , containing . - + - Constructs a new instance of the resource name class + Constructs a new instance of the resource name class from a suitable instance. - + - The of the Name contained in this instance. + The of the Name contained in this instance. - + The contained in this instance. - + - Get the contained as . + Get the contained as . An will be thrown if this does not - contain an instance of . + contain an instance of . - + - Get the contained as . + Get the contained as . An will be thrown if this does not - contain an instance of . + contain an instance of . - + - Get the contained as . + Get the contained as . An will be thrown if this does not - contain an instance of . + contain an instance of . - + - Get the contained as . + Get the contained as . An will be thrown if this does not - contain an instance of . + contain an instance of . - + - + - + - + - + - + - + - - - Resource name which will contain one of a choice of resource names. - - - This resource name will contain one of the following: - - LogName: A resource of type 'log'. - OrganizationLogName: A resource of type 'organization_log'. - FolderLogName: A resource of type 'folder_log'. - BillingLogName: A resource of type 'billing_log'. - - - - - - The possible contents of . - - - - - A resource of an unknown type. - - - - - A resource of type 'log'. - - - - - A resource of type 'organization_log'. - - - - - A resource of type 'folder_log'. - - - + - A resource of type 'billing_log'. + Resource name for the 'project' resource. - + - Parses a resource name in string form into a new instance. + Parses the given project resource name in string form into a new + instance. - - To parse successfully the resource name must be one of the following: - - LogName: A resource of type 'log'. - OrganizationLogName: A resource of type 'organization_log'. - FolderLogName: A resource of type 'folder_log'. - BillingLogName: A resource of type 'billing_log'. - - Or an if is true. - - The resource name in string form. Must not be null. - If true, will successfully parse an unknown resource name - into an ; otherwise will throw an - if an unknown resource name is given. - The parsed if successful. + The project resource name in string form. Must not be null. + The parsed if successful. - + - Tries to parse a resource name in string form into a new instance. + Tries to parse the given project resource name in string form into a new + instance. - To parse successfully the resource name must be one of the following: - - LogName: A resource of type 'log'. - OrganizationLogName: A resource of type 'organization_log'. - FolderLogName: A resource of type 'folder_log'. - BillingLogName: A resource of type 'billing_log'. - - Or an if is true. + This method still throws if is null, + as this would usually indicate a programming error rather than a data error. - The resource name in string form. Must not be null. - If true, will successfully parse an unknown resource name - into an . - When this method returns, the parsed , - or null if parsing fails. - true if the name was parsed succssfully; false otherwise. - - - - Construct a new instance of from the provided - - The to be contained within - the returned . Must not be null. - A new , containing . - - - - Construct a new instance of from the provided - - The to be contained within - the returned . Must not be null. - A new , containing . + The project resource name in string form. Must not be null. + When this method returns, the parsed , + or null if parsing fails. + true if the name was parsed successfully; false otherwise. - - - Construct a new instance of from the provided - - The to be contained within - the returned . Must not be null. - A new , containing . + + Formats the IDs into the string representation of the . + The project ID. Must not be null. + The string representation of the . - + - Construct a new instance of from the provided + Constructs a new instance of the resource name class + from its component parts. - The to be contained within - the returned . Must not be null. - A new , containing . + The project ID. Must not be null. - + - Constructs a new instance of the resource name class - from a suitable instance. + The project ID. Never null. - + + + + + + + + + + + + + + + + + + + + + + - The of the Name contained in this instance. + Resource name for the 'sink' resource. - + - The contained in this instance. + Parses the given sink resource name in string form into a new + instance. + The sink resource name in string form. Must not be null. + The parsed if successful. - + - Get the contained as . + Tries to parse the given sink resource name in string form into a new + instance. - An will be thrown if this does not - contain an instance of . + This method still throws if is null, + as this would usually indicate a programming error rather than a data error. + The sink resource name in string form. Must not be null. + When this method returns, the parsed , + or null if parsing fails. + true if the name was parsed successfully; false otherwise. - + + Formats the IDs into the string representation of the . + The project ID. Must not be null. + The sink ID. Must not be null. + The string representation of the . + + - Get the contained as . + Constructs a new instance of the resource name class + from its component parts. - - An will be thrown if this does not - contain an instance of . - + The project ID. Must not be null. + The sink ID. Must not be null. - + - Get the contained as . + The project ID. Never null. - - An will be thrown if this does not - contain an instance of . - - + - Get the contained as . + The sink ID. Never null. - - An will be thrown if this does not - contain an instance of . - - + - + - + - + - + - + - + - + Resource name which will contain one of a choice of resource names. This resource name will contain one of the following: - MetricName: A resource of type 'metric'. + SinkName: A resource of type 'sink'. + OrganizationSinkName: A resource of type 'organization_sink'. + FolderSinkName: A resource of type 'folder_sink'. + BillingSinkName: A resource of type 'billing_sink'. - + - The possible contents of . + The possible contents of . - + A resource of an unknown type. - + - A resource of type 'metric'. + A resource of type 'sink'. - + - Parses a resource name in string form into a new instance. + A resource of type 'organization_sink'. + + + + + A resource of type 'folder_sink'. + + + + + A resource of type 'billing_sink'. + + + + + Parses a resource name in string form into a new instance. To parse successfully the resource name must be one of the following: - MetricName: A resource of type 'metric'. + SinkName: A resource of type 'sink'. + OrganizationSinkName: A resource of type 'organization_sink'. + FolderSinkName: A resource of type 'folder_sink'. + BillingSinkName: A resource of type 'billing_sink'. Or an if is true. @@ -9025,78 +10810,132 @@ If true, will successfully parse an unknown resource name into an ; otherwise will throw an if an unknown resource name is given. - The parsed if successful. + The parsed if successful. - + - Tries to parse a resource name in string form into a new instance. + Tries to parse a resource name in string form into a new instance. To parse successfully the resource name must be one of the following: - MetricName: A resource of type 'metric'. + SinkName: A resource of type 'sink'. + OrganizationSinkName: A resource of type 'organization_sink'. + FolderSinkName: A resource of type 'folder_sink'. + BillingSinkName: A resource of type 'billing_sink'. Or an if is true. The resource name in string form. Must not be null. If true, will successfully parse an unknown resource name into an . - When this method returns, the parsed , + When this method returns, the parsed , or null if parsing fails. true if the name was parsed succssfully; false otherwise. - + - Construct a new instance of from the provided + Construct a new instance of from the provided - The to be contained within - the returned . Must not be null. - A new , containing . + The to be contained within + the returned . Must not be null. + A new , containing . - + - Constructs a new instance of the resource name class + Construct a new instance of from the provided + + The to be contained within + the returned . Must not be null. + A new , containing . + + + + Construct a new instance of from the provided + + The to be contained within + the returned . Must not be null. + A new , containing . + + + + Construct a new instance of from the provided + + The to be contained within + the returned . Must not be null. + A new , containing . + + + + Constructs a new instance of the resource name class from a suitable instance. - + - The of the Name contained in this instance. + The of the Name contained in this instance. - + The contained in this instance. - + - Get the contained as . + Get the contained as . An will be thrown if this does not - contain an instance of . + contain an instance of . - + + + Get the contained as . + + + An will be thrown if this does not + contain an instance of . + + + + + Get the contained as . + + + An will be thrown if this does not + contain an instance of . + + + + + Get the contained as . + + + An will be thrown if this does not + contain an instance of . + + + - + - + - + - + - + - + diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Protobuf.dll b/src/OutlookGoogleCalendarSync/lib/Google.Protobuf.dll index 1847a1e20f9ddd96878ce68db50aefa4ab896a48..9e0a1896ae65e255e6ad90ab372197de28413782 100644 GIT binary patch literal 401064 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 z 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®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

lx++*QjS1>#;0z&&uVoevMH$x3QL&OT}?S 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

@_XeL~{FB_AYaP4k09^`tz!>ZeEWHRBZ zd(~LL)OYR=0k0Z`Oy9t&d(Bv@$%gA}hw%avuCpD+7WRAtR^$%j6((HsZy0-s^qPOe zs3OuU@(trtCR~v_jd~`$Ke*GlK!nHik~TYyj5qWe{5-K7=s452(XX`GWsKg5Wx3)| z)GKYujV(m@?Ap>cyN#qbby;1s5_^m-L>TKV^|sN-gmZt#5WCRxjH&P3Md}^Hm+6~P zi`BbEcP5PdUgI%M6p4MtY9@@tK4UFWf!KKSANGAleYqa>@9qDv?>D|9Is?C~6=kV3 znuv5HDha>+9v>Mym@dNafgLldnLdvh=TT$SGnM9! z^7z>JiD@pJCq6aoZ&L)}STTv?Mn@uj933}qCt58c;CI=M8xcgOOn67?gt7D;9naaJ zw*ajn!dG;YIB9GmS}kT>zb*Ep(a3aP`&~eT-o<*W#l^6Lv9(4r)3?zd$NtmECepp1 zGM=bF&t`g-NS{Ma8Kp#d;zjXg>?va_Q;f&i*e{J8O#MvfV(X1POvN4-W4|&EFl{x> z?Ekg#KGT;Tf5e_OK4DU3759zt1=IBwd)&9i*G#!k_MLH#>24_d-nhhMl5OJ78)7ex zI!~lq+Q$80*q9bb759_j$5aaSE*R~YK7x7|jm}K9Q12JxW~M>LO>w^(y_tTobd9@g zgfkUES(6dX)XCa4?ssD-lU;TRZB)^eM#I?D8$*I}EVs&7@VjcVkw{!p)tYP0Xknz%-FB+@-xqq-60i2_Tx?HU!v zR03^Yt0G%@UZ)bctPt9~PR%0H>+E{9u$AZas(?NBLYvpCVy1VX%^TE)R-WyYi_6wR zo9)z_O!ve5+N*<1Ht)l>8&yrKdL30Qmu*vvJv*v%OmnOyo;N9Dzg|l>dGGP;q`DC4 z*>+YpbJ+oP*w$I~)@9by!$!n)QFpZR?4s@_!e7_8AIk0}(zETNCUCtenOjvCHI3xi|G^iAJ#5vz9u-rzYgo7mbTCXae-jkQdiO zonksaFFWpLb%|)TXy3CaE<{bOqIB_N4K&Nq5>=a zHegQ`#)Na|slu5ero%UDR5THevlPl6&}BeM^io+ZR2Fxe%GV@DPu~$2rq(izTKHDn z?W&CFT*1D$KI%Op9nZe%6I}*v!mkLbFNpHQMB{K=U)9KDwH}Tepe{2V@j4uLr!o%e zJ$>5ya9o7CiOIupI4(*BGxY_ERlS*J136WsCg|_uxCAwts8ZnXM%=ARTFSnRyIa+? zD!WJRuEPFu#V276ardZtCj7m@VXF8&U3UAFAL53oh{Kwm4MnPD>YLyY!&G9mE_-?G z&vC=m_V+bSU358ag!2DDQ{45JRm}7heBw7+i6gq~ z-AN`fMm<2JqdP`DOr(#1F)D{BPk1W-_%UkUQLLxS#;P2mJaItPIL4|~M7ou+>Nz*h z&FuNB+}nSwdfCmh+|6?@dmcAi28>mQ+&pXCJZoD#Q^51Io98(<&tKT{R*?;!f4F&i ze$;wKZHV&3Ao&b<-aynmqpohAx3K3;;#cqt(`D9C@H-V_RXEcO_^r&bDu$^Gl-;L> zGTjMf_o!2)Ir7*n-WyxxaCR*j=)I&siEaTJyx3WBXF6nluuqD5 zvQ@nlwV_qL6y;*iE#}SxQq*=g&pmFQl`WpT?nqIG-8?^a^ZX}!4wqko=NUK8AKg4J zv*#A`&){h~hWkO!FGYD1>2;Q(t|iJ7ji&7I6xG4av%8yTD0?m!N5QkNn`e}p=MeVv zHC+bJ;clKOZl06b^N{(rJ5$tyZk}0gp1JI~%X}YrE_L%PcJo}vp0|oD@GN!ne8tW4 zP4?VkehNI_ar1o7&GVxc&o{vHgq!DAZl2$@cpd}K3vQmG=F0JqqO3%DVvG3)@bo2W z-bd}-JiD}b`rehIdboM^ar3;Z#q$>MjB)cE=H@x3#d8RFrn-4%xOrx_c&3Br0yobk zZk|uHcrF3YHJad4uV2Gb)N@R|oxcNZ)&$4jgSV%soh>x$_WRX8h;$@U)iENyT2s|$ z+7n{t7?`TQbo2b)&GRCA1{?js^LIB-+s9Y-L#py4$`dyjo58a!QFHHsZk{3RxyAe= zc=mSl9O&j5$DSXE_7SP-Za2@dZk`j^(7nptl&)sgG2i-hBV9%-MTOw1{$8Mgd+&mlD^PeIUqIBNPv&qfV z_yqR@{NkqE2cCAK=Ez@9)V$wsV$ZYYJ7ApM+&ph{^BlmQBaF%58R_OZ)Xno=_Ou!6 zz%$v+bE=!?4ECI8d<32kyLslhc|O+SX@w}Qa`Sx7&2uw*&Nh03=gV%M52~p| zc%?Hi{z3IftFnjG;+8UJ{6oscRAe0yKU2NW)W>^V{A^WAq*u=zb(To?Fh`wd&)1D9 z@pIHAO)%T(@pF~sIGqbb>?CK*!^)p&3{fYdJkjaaIq?sxp1KTvAKeo?2e*)nnWrXe zqU(t)HJ$4nP`UA0>M5oot22Iqs$lBlJtF=Q)xh+V_ha#kRGSkx7Cnbt)saZgAy;)H z$`hA--;TxD=~v zneKnYB#KpMO}3ReZ$R0tOhpB*pkfuxrQ@0(G-#;;RLnPR5dyFaI1V0vTFPw~&GG9rBk@_DtRrCzCeUiJF| zThZ~{pdyI!#9;M9zy>vjNJoC7n$*g3qk51%N18Wx+NkC-b(DUcOVuK#`^CC0o78he zcqTGAUr^hbmIYg!FRH^ty7w*WSc|8ZbBj9L;@QUek~02zWt>};7ZJ93y%WBV%d{*w z$oaBb(8_b0%5U-P<=m!@ws=N5x2vC8dA_QCYau0GRi1U&-zk$d%p_h@UQD=_UQ-2{ zY~eXBkJr?4E{k{sJ)h*VS+KHRQyYnN1Yc9zi1chK!8dZ^=yOZgqeO|C?~P`jkljH{ove1(6>0ZgsYW7DBy*FL5k*Cx5Z?EtN!6 zU`@?E=kb=xV44P}y|+{z)1ut1YL8l>No3}l#2&SQ%YuU7e~DE&)2%^pUtb+ziU``O z-d3M;y}m&v@wWP&%hDeHap2qPBGZhAzXkdi6Mhf+9p!nNRu6p-`W*iz5cU3-@;VWf@`jH7gx2RA}?1}$(U!i8y>$&6qIqp?;OuG^nI`^vNuXGtc31FZ4 zh)A!3{pvCiMt+rZzcQUcPyNJ@{puPb9r^vL9g&Xwe$}~!)*^ z)gmU0e5G2$gpog>N;OgB52zhnhLJy@s+lnI2h?dMjQl}$p6g-c4=U5wIBFfigUXi( zBj|GeLnU$9W@Dz;0NkfA|1gG)SW~a!GAbE zRM}jH5j>)5m@tAzR4sdA1dph&Z?8n~s48OGmAKn^RMoc7#y%gZkj5(!Jf@O}FoGXA zkE#2ZFoMU_gG4%l$5bYfj^Hts-9pEqUO5p)@Sn~awO5x}zq|GYdyV>t>9=bgqDFni z)b_fq>SJ|YldxT95+AEyxvXe7mic|BW43Pi*I^&4?o4k(*(d6DO`>eLNqnMWiF5=% zQAtD?!LOX3s!d#m5j?JbWx@y^SH|}`W*EWaDwPS3;uETjX;V2W!;ShvNeg>x0u9NYB87j!GDH-rPedGAFiNm2U94l-7{)0*Xs&v_l)|8%kZpmMt#GC zXN@z;bP>m?&l+DVA5C=D_*&gWr1!(uDwGKKL#M%K)g~^(HQ%5De!*7sC&Ue^JCWWG z4Qe|R?uTzw*d-koc-Gb6Z&XisL0>HW~CW)kV>HmWQlxC3d_c575ct;)Vr z#a!0gTHEbA^=hlK?^QXMbyOXKzE{<)%Fd}8E<371g3hVNR%Pea1ui?Uh6SBh-j^v# za1~?{KdNhq@MZV*JO1qc6t1yLYZD&oTYwJ{h3bp9p-gGMKXQYcVL$bYOp3~ zQ+4@SjnO3V9m7Snlt@39|Dp={O~(w+A-||(CXDAL^%&79+hO=!*-L6Uk&fUc^{gAc zNTlO=NxedpC(7kw=Owk%&2yid=X>lq(I^Gaqi&v`yLo=q;<*<*8{IrFxp|5voDqIv z^iS}#5H*kb8lvWLwr9^q)9>Kf+0C=3n`fUE&-Q~a!FyQv-SGB8n8l<=@czT`Tp}_1K4wuyt?3qO9>wMMRRdiK8eO3n*Zinh7Oy@Rndk9t9C7AI(II*p!E%$$0r7$7`E@{h z97fV?zZrvR-RA!tt0UIBFOM`F!wrkkULD(&6jdEb9X-r}@3>PwMzuM8rPNH(mK?*@ zef@8z_3Us)W^sRS9Gl)RMV^>O3qRK9?Vgsx>hte%3~{65&-0atqtgFuM(*pj^*Yhx z{NJ)>(cTN!upd|*6SL?!1=GL7N;ZqBU?t~VJq90G=VtK?_)D=S8jmLJ(>lLAUFSO- zidr*?e^-jfAok@UBppY373mo2W2bdI0}^nAi|H8G>9>P%B$y+GF{ioIOsf%|uS2E2 zBd~Nj9QE-2w3R=W8Ujldm+Bt%dVc0+^#89G&XXfCU)#^@j_o#c(?PJ<3 zFiIxsu{nKpzpclh)6c`XuDMO!{>u~xojykUOGjAe=xAVCzoIoCJNlKbVhPUc8L);3 z_d_2&2Hnn|rFENnJ?Or)y}viU!p`aMa7Ym}09$MQ%8195Nfg4$H;V#T$<41Fx~~X$ zeKGUvi*Bv;`TPvMzT+#kS;P;&Quk^fJ?7i5N1rQcNw4zoFK%=^UdeCv(MOZczmje) zy>gT_AFb%AOPhVLM=5Te-kfh1ItRzB`&Iv@w6#C>>)t}^oP1c}W^O^x4z2q+S?BBV zx3;ZU_&j~o(D-%l*fKmr=zrY4ZVmUHna>ri)B5U2zq;vo>ep_azY+GYS-hKpBhh>R z&nzDG&1W0Es +oxODYqBYae*L;1o81{>queG$N&bd;n*P0?Ey2S$1lR1E33#XD(E`%>h}MBUw>Wqf6~rh&++Ph z|JvX35XMA;g{LC5I$yQEqHdjT?SCaL#aTEL>g!muSWmB*t^3vKtM|y?@xfPTxX!2c zTgOemYFANT+UmXh;}9H)-q$*V;qCC7b@wI1z%Z!Wrp*0cDt z^k4UNb*-&*MWORs*VXB(N85|8B39G83BBL19$V{nu5RJV-gkfh)q1tGPPgu{b=@oJ z=2fKo?MG+SNP6w~pQNvz*VR$FdUk(S>*~l~o%7dm`?Hq+(^~&~{(rya|L>_I@Yn0- zucPD{WQOybUPb?Jrty5MU;XtNSYPX2eU$y3SY3TIUER)KNBi&l|Mh;+rGGY_zmxx; zw*SBF|Mw%)dUpTms9M);o&M`~T92)Dt^b?p|M>|2=Pk6J@856j?|c6D+Sj%I(_a2l z|G(3VZnO0){w)31y|*sa=|4NGwD!E(=gC{}>h$@Z_-;|(o!0N9^ws9i^zOKI`pir` zTVgE})za3?Iq0dcT}>jD-mU2OP>rq9`b@jOKYHT3ezQmzg=swZn#KMpnEnU(AD}x< zSJH65B@9c8;9jxrQHol4?_*mg@2Ae)V02fA0@Z=U$5K=rLb;_vHRgO7ES2 z-+~hBZp9w;{Z$?3Zgka${!*kstPJ6OH{NH9fwYHcI~x7=UELR!D(*#>;uvJBoaT4L7%P4EMv57;aGYUam6!%SdWhwahNq=d?>hb0 z@%gJrHeVZD9mDqUF12~ItLa{c-gkPh{hd8HkoI65+>es~W(l>_tGoqUiyC;ht_*v_x^WUc#S?Q!4aCo_N*&*J*BnnPw$Mb zShLV~FEOWib+t~{QvNBbrSF9vrF(-qKA3J^IXZoG@s+E-<{WHU`_H3Q`d}i~(pGYnuJ1#(9&_u_ zwjTfSm@5(ZvpDE?zS_3F!>Rpoc4m&Dp6M0a9PQR|xVp6U3fF1fX6tsE z0IytT@d2G@^d}30>58KDC)CYpJcFH~&jPgnZLv6C9h25}{#eY{uSfSdF|DtNbdElc z=_B{+Z0udXQmle26Ej~^T}ewZY6!mCqG$7+TkOj$ydl5&{=YtoalbUTFql5S)A{;U z39ql3N2OmoI>Pvy{qdUQ-=+0?TiuSn68p2)wZEI+dgRU5PQ^4fJ;FeEb%tMTnTB=& zT^&sU3-`(>+IanD79Z0mm01*lzdrZ2KGzMU{eHFm819gp#j|j2(EORve=nz=t~T|m zxZ3LVHW%V-;@4JvT(@IxOElk`)#rh$YyH3O|958n@2@JGkAk&ytZARt z@zk%j&F4=E*Q-(th0PO=tMzbww;ocV!kf11K--BnqNBJ`bcQVywr;TX5I2dQu!X{Q z8*F_ZKLQV zHp3PQ+e@%*gRMJkuZb|R6Sh#;cEk3LxLxdnEfltcu)PN}`T(|2*gk^o6VX?kge?@d zFJSvp^b==b3x(|)*uIC^{|H+sY!_j>Ebb70z!nOd*>s2SFog?G*g{1({1kP#Xk)rl zTnAgIxKp$P?P$77bcQVyqSp zgF){$4HCm)3x&v!1RZON5h<{RiWo5gbh0T{OoJ^H_R4h7S*AEK7q(ClC+34LG{uW& zU<(!T;yKWbCa2g8Tc~h~mq53f28-8V3x&P86Lhy}hPB4!avtSDqqs3g%`Q|ZV8Em0qj93o3$~;!A zHH{bROcTUra~hDBlL@eda9i$pW7&@W}$7 z`Qi)neE7xr`Qi+0$W^edG|d;^0DlkLkFZ@dKO!C%N5n?+36U!6#8;vYqVc6TX#P^X z2OC5f>NJSU<_0)s8=&k5@u=ws81oOJ0Cbt@N3k5XP*|C(K-ZXl7Vp6pDt;CpfPQ4U zEGC;T178-?K&P936ANJr6~Bo`K?}@HVhwDeqDedh`kYysLWND>e`)%GRpJIpcLM7P z#}wxG2kU?}iPlMW7}+so$CFJbJCke{*<7+K$v!P&rd=zJLOKZMfoZ=N>cdTs3e6?h)PoUWT+&CPlP%F-@|$wY+rcl*$H^M(^{}^ zz|)I5$#38ZN+(PO@KmJ}rg!0KW+zO^@D#I762H^cN#b|8PMF#ymV-@$r<5hDcj4(| z$tpSXs9H(2Rzm4;kCjk53heLjB&C(q%Sw|u7Sns+iAgJ|uVE7B)!)=U41RS(;5U#i zsFm=|qYd<*sT%}-hi#0EEqL9dkmepNpA3CNjhD6YRUYYbz>*K)SMv_Xf9z2%o`+wH zDHqEIe+B6q?)}PRFZe4_F1{Jn0BP?f@I4mcxA-Tp&rbTu!|>=EX15p~>vR3VUZ2p} z@~ap*I}~i5qYv18=N%R=hRkJ92ghYr0%E_#Dh}+q_^X9XY$FwF9&kX$>SBLN*L+iZz_l(PR_ICQ*Je zrPIh}fZc7)q;xjfe6mGgQ>?|5UPpEl*xgpl-)${x$w{&9p!6QHm1L{IrdVqzT}!qe z>~1UO@3uC!# zX%xn3e47SQEgSM1rN~lm=UZ1)ph@WXZPt3f9xl@JzDcvx|}}YoN^}3qH9h znf#N7cQ3m;ESQ4)v=$T=`XAxys@EJrI z7JT*)j$yE8Hu+?ePqt+nJa;G`aw4tS7JTYZ5vTE)L&cQd1a`1zndQ>t%V5*up0HGj zPeMHGRbs#rAA6al*P`pddf)VfrOYy~^RKot%afg-1N(5Nc90(y&=u^AfbL)ylf5qB zI{O}I6TWk1SrgqA()bLcO6sc&Y>E{v_IPa!*6qMG9Jj?|7D3W=*-rUTyj1 z=1GvghjI?3J!r3ioIJ?ckiN`b$?2hYxIAhtBj&8P7t-%dr^~M&DYw^K@cW?k7JRZ_ zy#=2OSZ~4ab~ak@IJ#iLHQz)dY_#BW=9<7KOVvYZM=!&=GAGQ-i~g$}ew%T@U`XSC zu^U!AMw-9}jvDZRqlR+&o1gEn(Q6o-_uz>+U|n7=iQmfDKxaai>0+2ebg*K-fmG{N z$XCK8XDs^7>s8aJAmQzjo|7G5b0Mdb#F76BXG@2`y4}1_$tAsS_AWO~a`y5r6e;ke zXB^dC-bYRN&Do0^+7TCSNI4(TpogMIVK z{{*C`_!e>cdaK7VfGb*ySDw9zrY1 zcaw;wF@(e1C&9YHZ+gIQy@16rL^;akh&h8D<@72LX`uf)@^=~uLuWcR!Ps0LWsvi- zV+Xai!;r{ifbO#$gGc(YJYc&ME zv+eQ-v*F4Qv*9;9!l{K0He5@E@QvWrs*qyR!G=%8#K`n(6HU)X#L~Dn>GBZlDfk7` zn4xVFp#4Z|64>!=lBusWvKeHPZTN)BG_o0FlWq8<#x$}SWRq?9G|Dux8Dx`f`0UCw zvKeHPVJ?5z)5vC!O}63FF4M?nkj;c1;YJD-S%1P2wmV>Ak%1DDDS72Q$D2R`|ec3MqdRwN^&0?V$7?N;mSE z2WQ;~=dP7tadwRsoKYj3i~g`TT5#l*RLg0!T{QoiYEFNjy#{)@XZVh5@C^2cy@vKz zm57CNHP+2iwUkp&d$5seU7&uOC~bJ++`YiU-uJ}k{d#%g6KuUa@maNAp7@MfFHd~- zu9qi1%hn$}Bdr~%Rv_39{nsfx->y^3f)Cq5!1E7#82N;gPY76(2!WQDv)5lYavF&osX_J^b34=8kisu1z<8HhS>2S#b8d2XZC`jky-jgp(~ZDdt&b zTj>3ek1$uI-k--VDTFS zIPxNDp@>>2q85s%g(7O9m};$~TAL_cM(G`t-b3k1N>@{Q6GdzjMXZMMYbn2;(v6g^ zqV;xxa+)Z|uw&%Cz>aUTmrDI9rvv2#QaXgvVU!N1bTp+CD4hh>B$DkOi(DSb_MPw> zOL#^1-E~QJJc`roc+SbNASSGcc zX~$S)+Ho&u+Ho&u+Ho&ug3llJOgrxDZ19Y<=7SyIrif}4lU+x46WKDdMbug`*>z+$ zku4)zM7HjynOTf`PeRZL@BM|Kn0GO|T9+G4Wn$ZjHA#`!pl zbu^bvWXs4Fk=+3!kF@RqJHAaN&7zuY4cST>c{SM@vXwO2YO*zCD`|w)WNXM)(x|G* z){w2FkyMkdAzMkkSCg$FTMIo#TI<1%Z_`MjKqkqFRO* ztv9ga+xSzu1EmAO!Vyh2(2I_1vVmT7bdwGAqGOzFpcftKWCOi$C4`U-^ukDnkPV~u z!>RpfN+(b{2`pThQ2R;LauT(fM6D%JJ4w_+GSy0>S{aniq;xi=^C?|K>0(N+qx2?9 zmr;5LrT0*}lG4?buAy`-rRyo(Na+idZUSo(O*FzL8etQSu!%<4L?djX5gOhUPp}YA zuqNT}jnVV>#<=-=W5oQuF;@QG7$tvij86xu6-c#0s8$Ho3ZYsdR4asPg;1>!suf1H z!l_mf9kWGr6g!Q+kA8GRG~|DCLjtvyL^hdh8rckQe8tc7#`8cLw7E!Sd(-&=@~5}U zr~G_xJU?W6;~AjA^qO;}ZxQ(vlP#kBVsE^DD5i9}G{+8YgRheK{`8L+FYBwOCkHFB z$s5ltW#0G{q#e-vH#Y>64_cR3pckHh_CS85wcLC;=$7`?;F)KyrWsX<)TKk(mzxJH z8Q#8z>eiBHJ=sRG7sxh&J>TB&!I(P@ucfzi@bbYq`upG<4Ii9E2OsP!&F*~jwc|tt2_PxqlN$0pwcX3Nw5CiC(PwwbB+76&UY*{0^mJJm8cH=r6aym_!ra~ z66ST&N*Z}1)QYrTpfNPj7|PA(!rADUdedD_0sp2Fkiaj^~H4_PQ6r# zeTfqS!hP?1bZS77Z_KnM0m!PA0XS>HB-+cLABc`23%2nwQfUR4~(#K{L(p#d~7;zL#?cbV`DBbf{R6I>Gv#Hd}>fJwZD$+Ca@M@z)%7PP0e+E-m_eDV9+;Qbc7o9BR9cs}uR;Irht9C#FaIq-S(UJhIdHWob~5#YJD-L}ryI{fdgvmUuSfn!+12nEwI~bn@g8i517{j-!FwaobVnuHa$ox` zaCc}0j4j&IqhGl#gk~KAvzufObKsq>a0ec7VGg|C745+LS7p|Jgt^TKDk=2MPI zUd(v0YZ27NGi_S$x4ITndL8Fv6nqDDaUX4>n3qwkc2Ld^N1wr2Y7h0bhx*;)z-!$~ zD9uupoW_ytaC92$^4Q^cW{AtfX{7Wz*v)Ai&OO)-k0ytxrq-$*l?l(;svY>Gg=#tr z)lhy7$|T3%tX#aN6Ul)^`Ei@vHTn za{XIDwZ3O#yW9Q!Y8QPNG0$C~y<{N1Z2Rpt^G^G@y}sLZaNhXWP2UC7`0i*|)xFpcSAH3-`C>o3 zqgd>R>%Yd=^ZL)am(lt!_QRu~jE;z6KRhn1@EPl};5P7S$%GzO_}uY{U@LrjSPV8? zJPmfVcn)l`C1D6_wEwI(%5ZEK)7}y$d8SHWKFR+cm zfc7&@U3=KXJW~%yFEwp}HdmN#?coETTpfe-7RuQUIaaX;Jgwr83Hv=_3WM}erD_?!i;SuQ97B@Y392iXR7&$U{8@@j_Tnl zW|$KoC)0c{*m>r$V2iY$MqwvTfBCSamn52|c_;C)M_5 zs|bM{=uzQFq7{xLQQ`CG8H5DU%MLi454B+5ypoD9mzp`0ShSxY&a zs0H}M09x2(!SU3PPn`v4)M&w3T(YbIYgnHJ>#*YNI#@A=-K`~H!>liWjj+B1Ho^J| z*wNMVQFYj`G{i=8w9y=GINC%Tjy%~$v9;l7Gs&}v>=yFeL8TRxQ%fzJrL^IB3j7_O z)H0>}d7gosXv#_U#9pR)V#}GH80Q>M?5oHV`(5jaquS(&QQGB+qpBu5)jk38Gwhf% z!;URv+OdUsc5ETrjxFTav4wm)wy@NWEfm=?sw?a`{$e}EcC8)P9^7Stbcy{u*iH7I z!EUi*%**UAfZgGRbt}BF$4YPP@sKz6SnZ8H9`VK=YrL_?*8>F+ZEY+Ii#aGvSlb1S3+eDJ&)=u-+g-F>iyH1L6FfDgv0K z`(Q80zUWy;w%!;0&-$YOc}icP^d(=c)#QsK5e}S@;kXRe>i8E}FNXoguft&j>+kRZ z+tzUn*zOK&ImCf&hB~m#Fb9sIp95P9ci=c995{w(2hKF!f$b+aaHfe4jBSzwV>{Y` zu}yYhY*QT=+cXEpb}Ee|!|?*7XE3S+XOCxNg5uT?JUZ4?Pq7gRH2!$Vx(D1_%TK#Z@UVb=2haZm6-w#LF)(>OV!4F3m z;D;mZ?uXF`@xy3@`e8I8C?|n(k|~`^=`AQq6$7O#*l5S7Cx zLV2F(H!{bBzom3)_$JV2p`Q)#kF2GjrJy*j4Tk2utfyE_O6PZCjbu$_9nYG>n#<|} zJq+zuv7QFSej1o<9=bf3HJ!DP)x}!HdI}WB+rVtIaD7%MYdUKotBbXYwSm?LRJ@R6>9@)uoushHJ!DP)x}!H+Q4dqZ*9;xS)Huutc9$lpr46BBVEi@tPQL- zA8v=$$(jd>>!Ogkl-b2x#d;bP*Kq^0%~!YA1r+n6Se=|d5tQP|T*z9=`7Y)v)&^GT z(DiJfIPWgZ!OT(2PUeZs>CAb|h0LYQF6RBrRm`WE8OXLYisvlg~EU)E$ zL8)KnVCE=hC-X$+bmlzfLgrFt7xRARD(2J74a^e0(}4Ta28#W60zKJ3WkfJ@6qh@h zCo-oq=dl*DmU6j^c|UU%a~<<(<_1;)|EZ4SkgPUP98Umq7uI0Tk6?~scCw~&{zTSv z&d*`aV=d(T66R7?7w12| zJDDdkr!(h*p6ow;L>}iCa{dO&&mB<;isxS!=kEu__NtgqGdD2X;0a;WKdX~$5sp(^(5yOF?n| zF6RBrRm`WE8<=GP&l{BH%^b`e#q4BGXU*gMLgrFt7xRARD(2J74a~9=_X|q>G6yp| zS<_hySzWAEtPQNT&Kw_BCu=%uA*+kEinW2&)`jb{I$6_M3t3&PRjduHwm`1W>SRr4 zEo61ERA5 zbC?U6OPF2E70gx4b<7RS@O2n!-v)~P2QUXSM=(2?Q<>A5bC?U6OPF2E70gx4b<7RS z;%4q2l==t7{S(aWWKCx+WOcDtu{N;ULO6b`PS$kRLRJ@R6>9^l?G~=j>SRr4b+J~l zHn7@yay?cjYdUKotBbXYwSm=ktFG^4O=m4+b+J~lHn7@4xnEW%YdUKotBbXYwSm>v zi|ezdvlg&i7i$G;6>A+U zd@!MpBh~=cVAcp$Cu=HeI%^JVA*+kEfz@_9kC)ZSn$B9t>SC>8ZD6(a;rgr*tWMTc z)^ye!)oCd`I(3i`V0d zbaMV+ogcs&!CJyv!CJ=(U&7OIVvS%;WzAuYOwjG8g5v8$I%^JVA!`Y%i?xcijolQoq!oi&HGkhO%>#ah8y#oEAXyIc1k%<5!KWld+zVJ&1W zVRfEve z`*eNPIU){^G(aojI!4(kR`>X-Ett0_h2cVdlX9nYG}dWzL_ zKl`&rvW{oXWfiGBZq`nq*nb3bBy%eBc;+1DT;>wy4a^nHdztH)PcfUu>wa=TF^(my z6|A`vbomC>I#Be34^woUStD2@L2=xv%sH$jtQD-LH1-3<_HtNDSod=IDOS@Y?ca$t z6_o0+matZ^*0GAoJWkdK);d-(h09qhSnF8DR4!+YU`=JsVJ&IqbnRclTEQAHP3K3j zrn2U+matZ^*0G8QxINYi);iXR3|*een!}n4iu<92c>{9=^IqmU=2Oh#LEWAS6zc~t zM>3CR&1K!dS^eb687QJI&>BgJS$6nNyi_SnF8D!`wb=1Zyg54r>W(MRWN)T`z~VgjHm5d#n+x zsjNAyC9D;!bVLv9&ll|Wu5y0Gu_#Y!8Nk1Ji{{Jxd9^i2mSO4(r-R89|$yM&Q z++-VLgL|P#mJ4!|u_QW?R?E88-0kTJc69w2~dA%F=jB-9`Rgf|c%KnMXs z5GJ%hAV5M7e7|$%+yYNAXNH9MG|SaS{2b88-EdQD9)D3>SOe_7)@ zgW`FtrVNz$%TP+ZT#@stSd5!x&Cb43hx z=&!XUVjs`;_iCd|zpUNCbnxNVFr9jM4=9yKuTWge!S*hpxPnI8h5j9s=9%g|&7TBH z_AarjAB%sX>U^;a#Z@-C+=P}1tryxQv|DJ8&|aahgOXgwp$?A62g>83*n5Qb3a!6L z`|A~|E|&C#mI7%=z0)}Lf3Yo-9meW_6k)$m3W1g39T2}WxHRg{gnx=7uqYd>niQuEwo2y zuTXWhq$9LUXuZ%b+r3-T5n3;_*S24y-Ft=BUn_Q@_19^8m(XsZJwkhhs_V7C5}{>6 z>xHTtbh{}LS_Vq}pk8Q~P+YO3%UP(pQS6|!PTwVV^>g71RX2%UD6VMI@d#D7h+U}K zC3d0eRF6?j=IYgw_k~654IM-=WK+UT7C6l}ESG9-(D- zYJQK;kI-JB>M2P_XqnJ@p}6u*=R;_j&@Q3fLVJYv3RTZYIH6@i z>xJS24IQu0GND~UyM^`$?G=h^uyi<~WkTzP_JHy@|D3cFp;uYFG&Byua5sGUE*F%(n0A<91jkv|ebhZO88?^Y|kaR~PDbE3`~# zz0fY9-9meW_S)|I>G0h`dxVzlulYSfdxhdcIGvu*GNJWCyM%TN?Xlfw>u_B{yM>m_ zk@SW32<;WBa4Q;kI-JBYJsFDv`lEd z&@S73q4rlMv|eb*BF*m>+A9=SO6vCzS|+q!XqV7#p*^b z!<)m~!r~l#oH}}7z|F8N# z-v6ooAN3Cx3@sQ{u(V)x!C?i_g0_Nm!RZCp6x>p9Z^1(aj~47xxPRfI!pg$>!YzeA zEIh05!ou4NrxleK-Cp#0QDnfF0gDD4G@xog?SNwkLjT~!P&x4Q zfsYP+bztG3X@h<`=&eBm22UA0d+^4=j}Cru@E3!>9o%*NxmU@{Exe zjJ$s2uSPyJ^0ARGj`WW@aMY4f+eUpe>d?`fNB?m2pGUts`mNEU#_T`lv@xHL*=KCa z*i*+288>g-VdG96cgeWd#=SG{qjAM0(@S0~89Bace0=<>3D-_|a>9obMo(Neamb`Y zCas-x+@y_@PMEY~(rJ?(n)K|XzLSSd-Y|Jl>8jG|(j!WLP`aV?ywZzG?mw5K#R z<*X^UP5E}p+^Gwv`W3z##(lE*UKziGTnH>y1Jp3w9XSFw%8taB4wKao+$LL$<13?4 zgJW=i>sY=`c8)5+mh^aRk4{jl@dd;hHA$_9?`rry9EXjLz#Xo~sA=k0wU4St$S6X_ zaNBDVcU7kGZDj_rbgH>(8*Xylspez4y+Hj$EmT+Ge#-0AVoZAuz*OWwOeYRfx2uEI zFLBH2J*o_9XSwRZ4XTf-rBGRxK`mJhm0^W?9k-(X3-?+6Tdh?6e5-JK>uNRHw?<9& ztyMF8Rq8TF+)y4Y8X+d>al*ZGc6yRhN&fbS^P<2zbC>N`gL z-uDCbtglWz@2giYVKd@yxK;EuYz};Y1^=&o&A1J(XJyO=mD4hEL~h+H=@7AMHhN81UjrVwhM|FfO^>^qh?n_HFuZ-}o2 z{-Nn8;Mq&bbsonST~2X+S{4KTYvb|2g(tQHUpj@tEIhL;dN^FzX& zj8je_^BX4diQrzd4Bp;;HOv9shj4lzXa-39-e+5%(u^= z9G12`2D2G+S?x36l(xK_#W&wnx0ZQLl(*|v{~bQNSCiR4=N~X1KAX&gW^(>#lKG=) zWd2|pnRUAza|oGr+dhKdQMc-$T$0UO|AlyTZcAG}-AhiIw_-4Ne1>2)-^I-Hhvfs{ z+Prm?+>wG7M(v}1F5^B`c<#27@dYIw=h`sp#$!sd6i@Ee( zXY=3K+`KjF#IS*7c#QEImf>G9mbSEH#XNlLCUENZp*WA_Hu)*bjZe6QpV&m@|2X65 zm1G{l`0fBQzr}dwhAoKUv<<}hImdGY$Md%&ab98UV%*Mnc{}khWju&+F=KcP@dJ#v zx03l*#<3?;-bS5FoC(}Q#&HYz74z?6ev-|tY<_ks`G0yU`QO3jAF(;a{mws~_;%~v zp0_ln|B(DlWjrBH=B>NxY%}Ma5B~HyDYv$imY(N5*cys6l(H|BM1;*yLqn(^DA?#LS|pU?Zhx6jAE(`V6|XW*y* z8hUp-Cog1$x_-acz}d2x>NK;MeBM@0l7Ck@nU5%^(V>RT>4h}1v@axnd=W|MW**bu zT}WZyVm`)~toYww|8HAuFe@3vC-e28PX_i*B$dena4h~$|)59atR()6y+EQVS4%2SV8 z=J?UF<<*U=9M^wsJj@AIxcms1wQM}~sNKH&TT0=*Z4^LS-`_KT>_lV_*F5L`E-8AkM^Zf`ew~F zz|E}F>NuD1o0hiR2!2Cq7jPQmNvS(v{z1n*z}(W-Z>ssH9`zgeG2{8eEPA6sECY2J zo}G9UeoiuS`>V_o;7A^(y#Vu1W>aau&RBIQ#qcIeNc-JifghdXzcy0YYO@{x>)@Oh ze;=s*Yu6I)U)pT8mf}$#J29Mk)Tb~HPJZo#?SFc>ie@?mz(-CP0=zym7TDWG^)iSh z%;2Sz!v!Zy1^xw z94dE^>l-J=5YJE!TiWtVaLiHu${kdmJ9khXs;7{7=@c?IZ~YB?+FHb;-!oKc%hTW6 z=U=jXjw>b!FuIshe{?4JUL|>`PWkAuWa6To7T|Y&l~nk zo*$hygF-D}xipv4GE3m8Q>ffNEdLZST#EUog|!nuev2stYGDl}3>=7G;IOa;(hoQl zzs_S}9i#}j4_qv)qzuNY%f3MTVxbxetj3Cqr8Z;D1;0~@TO}-P295#VgJ12j)V)|` zvDAH7W3jOEI~n)@;n}GNF(%|0*M49+H zV159IGQsb;piF$7;5-Dhu#R&A@Cn~`;FG=+fzSAM!1a$n3oAT3VSWy1VWsC3nEwRC zuXXuOgZa-uOTFkj1LnT~Evy8c1$^0e4mhs>E%m1FJm6ct^MP;U5QnAS^IZ(r_kouB zr|(jjKLA?lbKhmaFMU@4zw%uP{MvUlP+8Z&j}M4nYqPF{*$=eTFzW{32iR$C7t<{F@dU((ZUI`j2kd#6JAoF~q+Wpe1fZpU zXuSyYcA$k{sCfzI6M>fMvR;9C2hhSV*1QV5(0UDc5!SlUDy%nvmsxKDe`dW6{5jUX zEOnFh9`I)CpTJ*OA0md^fM^?774xY(fR=j7`ULn4*2gT|JoXvzS?den3s@;b-2qW| z)_;M2vAzYqWchrkJFK6f?tqs1s}+R#RUqol3IpGKkhu%-;en74eS;_VrH$_VZ5$7Wt>ZbpQ}j#Xk)=$Uhx8*gpgOAwWwF_3sCBG0;*a z{#n5B{yD%2{&~Ps{{py90ixyj7r{IYi1y<@065ow5OALV5a4`&IdHMR0)7qvTDXU8 z8O#R(Ew#eG0$Ay<1g`Y20H9tl>ZFibN;h{&->2-zUV&>u73fdNBhqQe(Apu_?7=+;Me|3fhuqr zuy5cBV86hX!2W@&fdc~9AnZUO>M?K~a7f?=aE1acRUEhxI6QC@a75r1;K;zOz)^wQ zfTII<0LKLG0*(#b4ICHvHNutvQR9JoffEDwgEI*T2_JY6I3@59I8%Wbg8~l&=LQ}D z&I>#SoF8}`xH#~8_&ETG8V@`PJUH+a@Q}bWz_P%z!1BQJz$JkffE9rkflC7~A=EOU zrIrU?0UjE76<8T~4Oks`9as~116Uh)6L?hMZD3>IU0_q-Jzy;GPhdRoA>uh6h!zs~ z2-p_*1e^rWQpv!7fSUrJfs+DSDjoO&*b(>&oXtQ>Z3+Ar*ctd1oNYi$oe=O@XiEXV zBs4nOw*F`@-#0Phd%2Yetf3;YLx7|Q~4fIWeEz=s11fKLV%0sjy<0QgkkAmFos zL*V~8AX;gl9QZ<@0-Qes(P9J3fG-7Bfb%lYQm+Imfo}y?0pAX+0lpKc0=^$O41WFz zwA2TIYT&;DwZM-8M}Yq^5E3tN6!4qCF~DyF#{pHa4j2eV;U@@$E);A8_6f$oi2%_T zf-S)Q!8kYtKuZ+{Hv$I)+rSwJM2`q2fkT3uz!?fej|irL!-E~*i~yoX1h)Vu2RnhK z!4rT}g4=;pgD1kzG$6E>;0~B)0xh*)a3^q9@Dy-n11&Wtcp7kC@C1JM_P7Xr(J7lX3|h+Yu96u2yS892*)E_fF(8oV2v1|WJ?@Ylc?Zo&4cW}u~7g7*XC!3V)P9*F)GdEVr z5dACo2yj#IF>q2q^snIKz>eVW!PyK%{|Y_{>{U!Jc%s&P~Ck(y{yfFA0I2Qpi`UhVJUK)G@oSy)p2?XB+UJ-m7 zoSyI1%_!a56X_1JT!lQ-J>oP6K`$oDNi>89-lXKcE$w1)qK(<{hCqF!upM ziwMmF_6scl4h<~=7KaW14htOw93DCZK1TpCnuN+>9t*^15~=`>4=n>u53K<18>$4( z2(1Fn46T9B{eb8}p(>c?0@05`hXEIas=-+ZL_Z4E0uKls0bCY33b;IU3~)v0IN+*K z9dI>%Anq8Vonrl0oLF*mVBxfXsN?P8-YiL+Q2yq2u&lD1RfjO z1kQ0l=(M3Uus+lQP80~8HnauU7U~2hLMH%|q3ytQ=tSW5&<@~_LOX#chE4(Q44no% z7r$N$!H-K-2-UPlKdK>so z=w0Buq4$9Q2>lcIUg$&M`=O73{|tQs{CDU-!2g6k1AZ3z0yXkE5Sno4E8v%*{{p`X zeGB|Lz71)LV1 z1Kc+}54eAL0dQ7$5pZ_+0N|YPLBP4;Lx2my0x@g?V&)Y-3YZQb1N>q5IN z6nIv+5qNeu20SO+0z5Yy2c8$+h!}nhM7s^Q0WSzAftQ3g0WS@wfjZ`x9*Fi9J_GoN@L9m8!sh^= z4xb0tXMiaAKIa2R_qh-_w$H`DaeXcYmh`y{xKE!efcy5j5;&vJ)xep3t^vmST!$E% zff&E~+yL_iAV#r1H^O{85V`7e6Y%Cfw*Y;STY*;OHsF-V9l)uPyMWUocLVo{{2I7# zmt7g)<>QMHbtI7x-lST$B}1% z8zRqw69-!A_{j6X*2oLsv;iS!A}<0vBQF8BMP31(5P21NV&paW=>kFvjl2%r8F>So zlY!7eBX0tK9C;gfe&k)?1(ElFmqh*vKbHbgYmpCumq$JV=L#S+&&Vgh8zcV#{yg#- z@TSNYz*{3lz zeB)FDutZ$~9Iu`RPQ+Ynmv1s=G`oCL)RDkx>MG#A>QUef^>^S*wNG%DZ|+sXrIs_iS)a za;R{NdcSa@+M+%vTm<~M@BrYy3l9Q*T6hSsZ&5k0e^CXnuxJ@@K+y`|prT6P5G;{y zQN=~{JITX~s(>Sl4g-!Zss@h5?{92TB}GR7Clnn8oK$oSPI4VtG!bXHPGY>M=s1`! zL2TR9PY`ySx*TD*sh{FkJGQB-ilV^oqDJ7gMKR#@MJ>Re6~%!+FWRWKtJ{mF1Me)F zp?0hGK@)N4_osuBz^evr0(K8d1Fs#_0la?D7W@Wr&!AntkJYEZ|ENiWci~r)*8{&& zUBIu^FM)pFpdq__BXMeNE>4y$!AY@oIHUFhoJniNd9-b6hdKkFcwMHhQ8%eOu;%(O zPL@53!_==MjgQn9%IAyt2Kq+$#`~uEX89KR%6*l-!+b~iqQ1CqlW&{vB;T373w)RR zuJzsQyVG}{@3+1ue9!q__U-ol!}qc8OP^)+wFX%utqImX)@*CBwZvL!t+$T08m!~3 zl(o$|$vV@zz`ESJ*1Flc)4I?4t@VWUob|G`+xmy~vGt{8`TP0@`A7OE`1kS8_AmA? z@vro+_aE(V@E`9_`M3E`@}KFyz<;^_TK~=dJN@_hf9rq3|D6A2|8D<3{2%+j^jm?x zfkAe<2=|6R4=?PqqR+ZMNA~$qpVRwX(C3Oi z*Y>%k&oBEt*XNZ!fA8~tpO5=|)h7_?8yOTC6`2&-H!?eNKxAoTWn_Kim`GFP_((eP z!^qi@+aeD~o{hX5c|Gz`q@eH6zO(zT=)1k|`F(Hg`*`0M`o7xtlfM3b^ZFgs@0fm_ z{Vwj;)9=-OfA9BMzkT|b^-uQi?f*{yqYEx5c(>rIf`Nsj3V&YMQ}}A(mxaTMYKu}u zmlU-OxO~9R20Sw0r2z#4hYTDwaKgZ817{6fG_ZVN^T5Qw%>z#y*gf#pf%gwogAN|F ze$df_S_gFu`q7}r20b2h@{1wA9`e|bZ-*2P9X52_(5XWcL$?e)d+5bOuNr#K(1(Zqe&};UUm5!D(2s|H zIn-a=uXsrD=;F!6Gm7UIR}`-mQ`1s;44b=XtG{yglpVebt4Xjs4DLxztTK7aTj!&eMnH~h%q z(c#ArPY*wB_>YJGWcW41ZytWn@P~&#JN)J0yNACw{F~w75k(`0k0=>2ZN#h*i$^RO zv1-IIBbr9EjyPe&$s;Zpam9%1N8CB${t=Ikcwm%PC`PInCsIjBwj5>AHd84i$b?>OBN4+*`{OARv4;fuIx_NZl=u1XFGWrjr zzZmTs(|63EF`LG09dpi@YsdV0%!gx&#*P>}aqP0OYsMZv_6K9Pk9})waNNjoW#bMV zml?Nx+}Y#qANTdR!jg$4YfFwSsVmu9a(+p7$-^aYlzdY%ef){ze>wiK@lTH*H(~yS zLndsRaQTFr zTtE4&$yZOlWAaOr-^~ZgKYJY#A3ukv!ADnqsSdCWd zovD+SV_}f(8eW^aco>bF)NQI9r+Sw_(pIQD)iQOLT8n;4j*V8hL5lg z!-?Sa_*kkMA4Jut$5ky(2Oka@ezTeh?Uc=LivF~*}yYak% z=kIvlR9n?sc;3eI4xV>0viw7xpx#3bypIz9C!P=Re25bJ7oLys)*s{f1aJIrJpaMl zeu}sI3~%*0o-gngU*ZkELhipt&i{)XeS_y)Jj#b%7CaUnzwdQ?kn)iVViXKv3=Crg z?1S+yg3*uu3RQF<(PE(^h0YZEfx7+_YNa2jzb+tuAB+8CvHx5ASw0<4Kxjy4AEAAj z22_8h!&Ra12MC=cG%B=FXpCtrUUO5ZUkarTde; z$EWk%BDbp9-{TVfB0Js|dwrSl)MDE|Yn!$%!GEA)P$4}$KtdPA40(c#@zH2kZg#eMfF`k?P_>w*5et%va( zTR7TU4126_6w^(GbFHWGyoaYx(OhdXo<=-fMLVsN2kf@a8}P@%$whxGe6R42g=Btf zz;m!a2m5odKL`8A2=g(*e+<7LTW<~c2KH}Y{|5GNU~lmKX;6djWjwuuc3b-nUgbZw zu*!ei;BA55;91=FR6IYz)8Kn($ZqR%Jbi}lw)P*|;QJY#H}Ir~HTdqvb3dMk@jQ;_ z3q0TA2@Y@YO~!Kqo*j7Z#B=tD2H!3`e;830Jhrf`;MtKi1w%)b6-*iRe!;PL8t`nu zlfaW1RTu0URa0;Up4;&}HtO!+t`ScL9~fO$K;^Vy%t?id`_>d(Hm0WF7h^sPzB1;E z;K>8Z3QityQsJ?MClx-8r%%yID36m+E+-Xs;c3Kk<=B%7ufcOOp1bfofafthPvdzJ zPw&{8g3@ti1^bQLZQY3Hj&W7~$H)EM`k?Qnp~CThw-Vz~M-z5ir%bH!KRB^2_=k!6 z6cO)+Nr#2MoOBQB^gcWf;JGaP{N$^{gGzT>BTMfOKhS?C>iR*@Du2n;>3t5HIs=a% zV^aW6KRo^M6yPbuGXNvmAp8%3Z77~$u+PVrBn$8ygy hu|s0Q;uf|o(eom@hrnr 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%0AWz`3AI5X>@qIlWJ_Xc19a zeab%>NiT+cml5*0L$&W?E*vo*GHwu***q;c*w8gJIo5Z*i$z4W{8 z-ZK48M^}M-Lkan68=?G{)GjyBu^YrE{RYsvcHc& z<}qgwnvGG7S-t{UyvHuE$&<>!UFJ#G(ZT9bQOx6mVria!LLl>$T@2#m1;m53lo%$k zfaDpeEiZ#_tYM1ECz1_QIuL%(Q~{5k*)+pKAdB^^_JhY*FT`~rka=9%`xud8WK^nUOg?QD@lFD>&_*MzCAQ9_0E#@ zUtGVn?8^1YpPu|{@qH7VEyJ$4@%XE6Y+Vi!J+xn9Xr&P;5?Mqifg) zcrER+9O5IDZ^ zzIOu_m=#f|tuo~kWky_0swtHm@G0pJLfsEBH8ee-FcAN-%NL1i$nS>TYt%Kw`);%| z%WB-LmQ)xUD&%bxittw$YBH%NtmHXdRU@_qO^2ih{c<~t;D$cg8TQ;q2NzD?_~gSgLi6Ju ztZ%9P=PfH2J@t9^`}bhDCV8hii?zCe;glxb2_{N|f_ zEK! zF+)}ILqJUqY19OPwRS0MJ*oC_jSh}K(M~GCF26H3M0*$JkEqG|Ue3@%spHzp7v>+e zKDFUMkJ0b$yy2=pz5V{K(n%TL|NL9gb|{gAGRRCNTK5QHW#VqBQEk}s1tS_jD62}TwCMp`;dD#7#;N?NhHZ8y)1cVHhcaUY^3(MtSwpDb*v5n>|A(^E;c=E%E2 zS>cGIERslps`Zsgfi_g1HhHIo&n}erP*w*zodxWGD6lu-FAgZ6%09^pQ^IGnZUx63 zJALR!p)yLhk8hAkBCVY$*(TwX=LPk;zqWG|w3;q;<$}P9thi~jK^EdJ!$-grLq2ZP zcx>`cG4%8|wxmyEQfsIEfD%$|3&EDU%U%(hg-gb|KGq4`>vFHKC*c zAw+&UfNaR`Yh(laPN3VUWP^q&yGugCu+@3}0@~fy`6@NcaL%tdQ5e4E_m-MXqi>q& zoW4Be?&ogaw`%yeGd8`n{)uJTE|}76y?sVc?bL zA%Q~YR|z<;)M`izPQwVDep9oA1}5K8oSBEVqwNsnTizSEK(JQO0@ct0l{49u+q)*; z@{Q`++@_Q7Lis|cM`eZMZh*5-0>QGiF?dp@0cmlE1`^1hEIy8cG<$laB%*No6 z!i$imJQ}(HPcoFJI)x9?IRGC^4CUC%Ey*u|${Q~9B&Zn;?}4GO`n=dsPGyV9D3eHc z^AO5q$e^bJ{in(MNIG~6V8MoOr!+Yp>1=w2NpqxW(YWgYX;zv>nMHAjr%2O5PyNcs z`iZhmB#X~f$>LiApR&fK_@W-JgwQZDHE_rdyy-@`x!KC%Br4M3CyszppR$WWe+mK* zTfO&bps{lz5jNKV?Zc{x0&#O#R6@jE6_s%xY-Qo6L%d~yrj{!RQXQ@-8lJ$m3~=p! z$>56ZJZ1=Guz%vED&Qj3g&DF2%3zU!&_r7j00V>}$*!wt+GaJ%irj|ZFoWj6v3i@p zyATpsfOiBmi~_(P6>0Q4-4?o%lJ_7_5$)E6st0?My1k#)(zLhEN*zT;g?tUJ@(esxh3O%wthY~^4nYYU2~B5 zRPO>%0Dv3O#UA2Nq8yQnq}xblWJQxvVVJ7A%@vi2z%NxCA#{y$eah1G4A)nJrno55 z6v%$c9o1?zTa z;9Kna_3bB4yRX&gG4@93^cc== zX@lz{vaQ`VQL;~7vb^3eSw`nvQr_qs{Nd^$MW3E@9?akJ#&uI(scCs;@Y5su{q3V2 zi?X7NSEoZ7fv3EPd0|NfUvfrRE!6+ob#=>Eb;*F`*PKe~qrxcp1-&p+eqA*I{VNbCE^Y$)4C{J{CZL~G8Y$6|3PYen ziTOX8fVyk%`(qPOUyxt+%>JL!@^xhKc?uREWWcbIlN4z(iN-=TN+3B4+0=cI~- zobXA%jRp|(1 zL*`c+X7e>2Cs6zC&t4?nog>CPm&sBP%&BaOFB)f}JR!LGNPABo|Sg|h3P$fw< zt|NM3n(I_3wx38DuJfJZ8(|MzX59@F=nmRSvd~rlgYkwDgn4+HDzFiBx0?Z`aXzdx z*)TxGyev@00{QDWlq!Z|I5MO>J685Gs+WheEetqdK{t}58pa?wvs6YRAU0X~ zMRmAd6u9hqgTQ-gqkI$-GTt4bF?F_=%IZq$qw9zSn@yNTB2^2SZ7TYDPZ+K&jbLx=xjMoq-Z=Xo_M zkQiTo7oGw}y=7o`0Z(=EgoKmo(@eU{>PbXt4m-V&`0 zE%IE2eBhu(o&&^nZzis*GF*^D;s zl$PO(z&brk2}VSs8AVgS@YC`YsaQYXqyP5*>q z7DI}e&JC+*)>Q>8x#>RwG@HH=pxN}D4w_NT1_5==Mjh&G&C&eo%;v<<0eD45bNa=g zFIg}gERfDVN(}uAgRqj#y|k6&xD6XcYcOv}H{h@}hBiO?-aJUaRr3&<`Lsrg^oni1 z%nz_={qck1X<|W#j8HRLPTT0Nx^)-4)vbCf6Dve(1K%-Mhrha~g+vaO& zguNR35^TUZ6eW#o{!<`q==61nH^0s% z%%tXTvG7q-#FCRg(A4~)7WxK0p5o`tOlbZ>takHnVzpZ&eYGQ7Y+M-C;?P$+y(LlT z;w=|leIm zSey<{5AnWw?R~tWT%VP4Kjude<7inQxR`LA(&-@xIvYSnL9wE~;nFQzXmADI6-Bso z%elZ6McP%h3-k!CvxrtSi|yVknx77d@JX!Fxd~{G;(V>G_rxO&LucH+w0m>eZG9i8 zyL@BfnhX7>Z+;`U=>!!b6DfWTNNKGR0IHvQIlHnV*Kqx)bzJ&-CJ+vrnn~!6 zR+7b(ilBjR`81~k^f{$ADM~)xNFI*<0;7}xI!1Lrs7Lvs_QB z)B5}$OlyXGkmmKDm;gJee<@NH&FkzAWWe>2Ib^st)+qO5 z+O&27uI_(m-F5-4?zgpRg&NxFw0;sWtsbK`t$|d)JylGrCtZN6CreDLCr^N@r_g6w zJ^eccS5JkQR*#6jkMj6L-)DIyi)r=D_=9Q9kPl&AJ&Uvn=pt6svqsFThaw47aE4_HB%0?9zrOs(54xK`6*ZC+WV3zP<$)(6aM6Xi}|;{trU zx->v@vcdC?nAfKB0$!VL7Vz412g~2dO@D{{9iv7Ju}skPaHl}q^prZeFY|(wH@&Kh z-dRm=tCRadr$9?uyUMy)1O5t=01ro(+YXz46?5Ahtj}#+bF?NAbOE!?POaN6V79rZ zHn&~uDQq6-Keq@sY@VdeZ6M4xoe^`}yh4!J=CxvOn;Up;`!?^z+(!G(ZF6&{bhde? znA>Jy7%gx1F^qO=J|*V1xf8=EV5Gy`Hs7U9LKj;)n;%x^_DSEleNCI&F6eCYzqM|= zptH^7CSm_zS9AM&z}&VZXmcA#XPd7G;nT(`s~AUhBBb+%$HVnwlx@}P*RET+d>kL< zN=fqq^^xO24@t)@&VzaBQ4_B5#H>gjct?!+^(A>P?QQ*jbz;=qe;j%0&MOV&6?A5^bT44ot&foKkAG9Rp|ZUrr(B*ZuX%1j%_O@u(mszfeD zgjm=qmjLp&(rIQmLo(EaEv3^XOC-vybbJ?rg5=|5KaQ5a>$+3UK8^F1{ko!UOLRCB z<^lonoU{POk8o^3tR(j&g48)3WEf?fN|n~AX%CRV+O&zD;$*d+c9-Pky(4^2Z3#mbbtY>G@ZpO>szDa6VQE>#b4p--i(?oPk5% z>FVGVFsOZ}{2lN!$v22v{t)|KQw*tk5FWMYCV$TOiJjBjL!SJ*KuK(m4)6`a&`c;f zm?ZUT5&Y}`?!bl9nMp`V71*d`5q5~EkKWiYO&kZjN7HyjKZDRuk=N&@8F)kxH7R3^ zevlqJ22t})X+Ql@q5M3|F>ox19`!*xs^nJrX|mirp~d03NAT>arx!SsomR3!%v8R> zMP!K9umd}1)O=L<9YH0+r%^q{Bf$lHdP z2+e=Jl$f}S1bW~zxyh0uA=)p3S4DDC?(e!tO1=?E5s;i?GLoG6>W1eGx`T0^Dq|;f z3h!`}2GW_H!^nD?Mp%M?c|XgG>u!N1aLr*YhcuF-(Bk?KvKHIjnP=(yoq%c<31)RW zA)%dY>#C)GAl>o1bq5!?mG6Gc;nb{#>VcqkX|dx8aEEIXz$}s9&%Uj}L;*0P(G(02 zO;j_Q($J|^ei${8!-qO&FBiX`9cGarZ1$UL5Xf*{{ z;t%reu`^3|38>U0mdsRey5ZnjYJvDPNVilrg31c1jJ3EI`qpY31)#dELL~4=_P&Q;50iEWW~!EH&V&%D((7R0q((eG2+peWD}@Y_ zJU$FpEklYN)vrI&dxv_Ee68euxTbM1#w@ofn?sVMzKgM+p>&`W9)zQEEkQNp#OFWq zgK6ZLc!GCqKNCmyPvWoCU!{BQ{|;rk=l+5b-hmyZWz_B6o)Qo~LEPlqnb6(Cf8W)K zp8R$%kiOYeknrG}g8s4B-(%=Y^shUgg2N%gc0v`E>M;@2sa`L7P(Xitsa}RB8f!sb zvot0dWge$aM`ArWT!{UtIvt7hh&;s(Pc?r^v}Y_|?Vjm;jrS}RpXgc1SDQx=BfIA+ zoovNTWX+T;|5bx`qKLj_R~(3dYThO8TND*#Gr(Wg|ckRZpx}LviXvlOZ)vzd%wsG(o1S;WSI@E#ibSJMMcui+a z+4DC+Zagp0Bo;JM9FWEHxgWVHB5VOJtMr9QMrZVe{e<{@JJEp-T%E@cpR!6vnT(VW z@n9MO;-%6JCLJ@s=9HL;GgtWj=KDZwoG4ORP|FCoC`FDk0*gg`@oIy^-@HFQLOe!q_XI&m28 zZBa{iSviF23mX|Hx4J(hR9^@zm!B-rP#IbJ8Lgk-zaM!~JV^eq7wXg^IU8mxdP@)s zI8j@SqZr}0gb8feLiuHZ@Q-aN0K%tD5NOOUsx2wd0|pwP63Yhz<~;;&oA0WPpYoFfGBCzK|K?FoLIam#E0 zs#_Kks0yFN*e&ZIKSEqm!y){v5Tb9|xHF!Bhihed`_^PiCxOuxuK~R;0Z&B$C~P@Q zFU@SsR=tEc%y!FN*cLU;V1#sOY&2k_EiKh*av~+MFkZUlF`k~%Eq~=}&6cP614_3% z3k_7A!_qC!b7Aoo3Wz}=$xFpsUJ*Z7NIl&08wsgTPvbR=+Vaszv38%SYbU(Hsat*& zRwEWZw@OgrQVe!A&%cHRT>!Hv1k{wRLzsTswhj-CqC(Md5*kKQ z!$hgKXgCE8VNLaEC`3)$)&;%|*PtP!Hk=nH^%4!&p&>*YpN3bfZ*+-<*D?&HGB zt^0M}lDPFK7uvU;qGcBY?y>bYwdNhZHSbevKCIX5v-L$Ttl9dqUNd#;TU;2s^*vEj zeD7BnHpC?yn8iDB;&-GTL|3swm>fxIL{7I2s24NvQ4=tK2})6)U!(|qxC8qtX! z^b~g`h8}X0d<+C+8#%~y0X>ogbja681WodFij+brx{>1?Y?A`p@HAb@Byfb^lkZ~a zuA7t>33(IIY#Ef5z(!dK_$lJwR2e=_$nd>zG)O=Kv2E8eCZ}#YMw7p=QN9b)WZCwL zA1~Eo9ysQV1!0!ZlL+gqUI{&oej+uQDwlKR4sBU}<+k8!779J{t<3C@pK@0n+Hycd zGPz&5tsmKxJw%hQr8G`FrOc~&ploa8F>*K?5052#?!Chu4-YI3r-IPPxP@MiN6RgE zD1jDY+O8`(uI(473~Ks1xNFtW0$+h3&8rz`VIv{ZT(!&~&Gz1D^$ZdRzL^Y? zn(mZGf`O@80HW8_yACa~(n&N}CPae+Tiz$p;0kB~#U)_j@&oZC@wo%l0dE*}LcVMj=CNcVCRW=&6)I1URT<`)&Z*pVHv`f>?G~G)tBq_sx2w4lP;`3u&_Qf$aqZ50gRC!GL!Zuo}lgwBbMgTap(8(P&ni&gp#4gsob8W5r4$_(2Lg61 zp4M#D4U0= z^_F2I+6MWGwgJ>Auk}6wi>*%xSZsaL2NqkO6R_C&vVcXF#9H6!D6+P`2T9E4BN3&v z{+AotTEEmKB3tWETxf6oMF-wKy9^@Ya+mpHz^Y40`66InNHrxCMX)Pg0|h2%x=a&G zG7Up#AZgo`C17$FMKvLqjjThKUDbXt*+J&G7^N#A4B0hJ8%PI9pbMHu?{w@U>9B)d zt}||(`e8SXYNGR_e!CPJe@SD7s%{}DbJv+b>Zfs66%x5K^bPCST++h|8dnjvl1-vy-YdPyk2_wBZT7^Wu+0_Y@o+x0GzPsA9om)+?lfWC|`cNaxf zfb8x1UVz%JAALY=*Y5(<5TSw(5{g9BZV{(u+np#NXLqs=Ifc731?23`y%^+V3JDtK zl6>fp96tTLN-Shl_rlb=>#;d5gZN!_` zXm4gv=|?)hPQJLl#u+Id*|D3LdvtG@THlRcm zkKp4`Ggpdy=@&y2q)*Oa7ihF09(qN3WT*r<4mFdpIaV zKvvH^*kFu-4cRkFubI4OA{R#QnWpz?+f&Dd_B{&(>@f}8LrQc4X`|hw8Y+p}LrOH9 z4qo6**`q4adsHP_G~5-?a8E!(;qkZaY1fHouRUkQ*26s)W$GCM+F^O@Cek%PH_R8h zA>h8J&?3!PFHDSES6(Ieb|qQ?X^p47W+GCUx2 zp?U`z-N8k(=kEev_AvVpIU6i{e)7W?yH^`ypwP83-gwx7=5iDq3kaD6G97;Up&8pz z_a%?v3>;{mu^)*^aum6Ge;b!)fBHHgQXqCXgCJrQC?X zrWEw3r{DP@>)t5@cz$~r_tJqVtncV@g|6i|z4{KLEx!tHR&^l6%=_MDse2eR2$c`- zev?pn9(0_6CHOOlw4JKapyyR(O!}ku-pZj1QG4&?P=%R$?-dBX_aV6b(8FW<7lH-E z-215D0kQ{$roGQ1P$-20vU!DI!mx<5{|3_?9M$RrUTlcRY8l^gWu^*jS<|Tkcg1CF zhAZ**!p3!`8KuN>RJM`2S1_8wy}vT*R`2~yNAi??AzT=Pr z%jTNN`wB!&M&NxFK;R_8{O;0l#{7L%Kwt=uI_B>a#KpF6oIqfzmb7mU3`v<}Na`s~ zqY~S`c`ziw^6qVzx=$q3weMS{H%#8=hWRu_!d8hKX*4yo?`sNkPy#M*!?b-nc&Ltj zdqe3^8DS#acML;~p`oTrWn!r97%KRTw_(b@bKKCj?`ECWzNgez zJm)(b9|p|EM**|(rTU8R^^Zzy3qr#b8k_o2QEkC!==)JAZ4shjn_X|1)Ruy2OrmL2 z=ik5Z!C(B9U7HzxSKQBmL6BHl;>QvbI7 zTsW-lfIk1uHnGnxq3w(gxBc5hw$Wj2cly@6pPMJNJ)+kvY!jB&>NX!sYf9T&Tr;Lk zwY1XP`?h_>g|%(p=zXTQ{mg~&`z5{4KKn&XWzBwvUNd#Skkw-Mr|UJV_6x>5dcO~2 z?!I3z=G6T@jJa?>iy&OK2!EzCdRp+Gu*0X@%_t~9%b!c6Dt3NCK>xT1`2}6 zghPhW(Ku7r(3kEOQ_`wLGK?-Xz<8fZcd`d3nHw%}H2pH#PaI37XoKuW)CTOdkD**` z(^s@Xy*{EI`Y9G==)0TfdpNUQY9ZJz^&;4=de`01o$m0CeDMy{%Ml*U@suN=4?SH) zW8n<)s8=THb@U6#pUcOgd+a{~PRF6CnY1A(i9%C*Nc~78!RF*#se~MTNX6Eh#Fb=2 zIg&U_rFOJH9s#t7M|3+{FuzYEe$Op9c^lV*ZCWi$qF&Im9dZGBW&>~>$pziXn-EXN zUdRQ2dsQxo#5*7t@TlTAV3tmmh@pCHMou9!ay|unL{qQ_*UL9dzqp5M|ATN0A=qyJ z;{;>!9gWIp{EWV?yCzyN7h!8AOA9%~G4$>!8mQ?~o^Q|9LUGuzu% ze+t(qXDLv#im-6OPuUvXp)Ffm`Dq4q#j=CmRfnHEW`4?Fq_+jzQ1@!5k`y1ttD)-6YL-JY)`D z(Zwyj1y2Uo)600=T*foUcl@P%$1}qH>394N9u?Q)OcS~poo&)1X{36+@k9ssa|0cl z@<#w3$92zWDi)8-Nn#q3pW@I*y5j`uoZ~!)$`F!6r;p*TH{Izic#JFx>MitodYRs{ zZfVzT>AHBR-|6qr>*@A-1j3jhUiposFDkD7%ODl1{b`2z5J|768TIvEK>5@b zpu*m}EbpDx0`Vf=vOMpd-eNMx1zeaw)_?h4;chE{jGnDS+`{{OIKkdoT zvG`d{E`}QVQ$~L(sA45~94bltE<;F?R6%{Q?_nrCD8nBp+k+vcfWjS&>@Ems=LGUUNJ$Y~JYy;4)kK_Ru;4zARNpTvWk(Xcx;>@Cd^4HYy5 z`SfYHmD#%OV5@J#b~N;J^d3BkhQ8uf%E24dhPU`Od;tv+dJ_t{66^^&`N5aa(Bbz+ zA@JA^z9$;eB&Hnvk|#0e;P;`^@jK(-uYqzzf3epN9C?_?+9U5GW`66Dwhe5W)lc+3^q!C^wA38u2Fr;y;O3*T;nnRC5 z_}1u|0U`7FJXWK7d#Qv*iLfHxGC?nxTnrS{;?TQ-S{(X7P>VzV;Ylw&^j{xpaY$sR zEI#z554AY-jrc+5yU5K4qd_ie7XmTI&cUCuO8glJ{0DL`6v%y8sw8-fI&5SlpLtjf zIyxMsBKMJ4Ab0EozYF9h^Rel0N+BUPP9j7=y_ygKAfwvZ7|nq>U7>l};R1o?hs%LG ze$ga{D}XzG(Ikh538Xtb#s}#R6MgWDUpY+l!RCu}hgJG;*oQtO9d3bE6-8Q=8u(&6 zycJrNZ^P8XyZMdw!`Jz~@dDoH7r%1&VZ6~Ve&w*xRc(i#^KD3e3qQhgnEV!ggypd6 zw>Yf&Er^UH9sUhN#qng`h#A`v2}AXLW9kvJ80wKoAHs4Zg$YadBblK~(NV^cPAt`6 z>qIy}njvk|T`Ap-Q16h&i0*n5t>Gj`P%Pp_@*p!c@9}>WS$Qm6gRL&$<5(QM)GxB~SRX(52#l;e zR>9L#dW^EmNK(zQq5J`*$Af&JkG;enl6CBjP>L1EIQC8;6k%fpkz^3!Zh{cw zu1vUCIuhc6Eb|@v8p{tUR3)$uBCu>W$v4crIDtKG;Dt#&9!4uKoYaov86dDM(6I#9 zfudfFNOIuB@qXH9I*`GO5kHR3IX+SYP@SmhcU=JO@mVzVqQ-$l)Q~jDA=Mn;><6@* zdY>gTos0f#Scm; z)p%?s>1^|eG!16aYlslNj^DxhRMhdiYpMI0#~%<7ef&|CDzyg#q7x$oKy!G-@#p)K z`PxhWP$!@abdL75fl$^3Y_+>+ zTzQSXRoH@V+kT=8*b)%6gdi$YKvetf0;1aQ5)jpX4}WcG`~5x;)qa5si`yR&K*SK$ z{$Ql0n6TJj9ohbSLhNcrkwS~PjXgV>Or!w`# zOdn`Eu@cb4M#)QqrW3OE(o2J;6T2@Nnof`;;R8)JspiCmONOQs{}9l0;w1r1Ctl^R zEj{su4>XVeKEc4m(A3=iTmUqk_>#G7)QNAanKqpe8;%_(epk8e z$(ewrxC`o@WzOSx(xM&l!r)ZUwF;PiGC{!9$sQeH>STULm^xW3VCv)mA8vcH1`QL* z?vf?dvfbrmEgB~Is(>ejSI2g8vJWtxoX=>HeR8qjwkKCy3>XUqx1C4aHiNt)f!y{4 zlz@|72w|{HAa0u@712o)<1Wr^PwwK?Nj=FCGb*<|`DZ@>Wq!x-$~N_jQ9tIkCm-{J zS8mRh=|AMQCtnMMTx=s(58v#9BA)y&!LZJ46Qr6`)-GUpg;z-k4m^; zPxaubDLqx-1I?!jxv=+65r|zVwQ$6RW9_k3vryl7D(x;vlxNz!uA6z)~WPK)5EnA1-2Q8d?m zPv>*<+S5Jt&rd&H!iDjtc?X~HtQMTE6bHtf?j)O=p30!7p;~oj7K&&hpk|>s5C(Tk z3>lpqC!;$%5sp4hJ_&?9Jsl{5r6rdkWMp<8CXmYzSW6x%WKZV1Xu6vt-bl>Fs@bKZqT_NB8_OQu0rBo9RE<^T&!lKV?d)|6~&dTPFD_ zJLK5Ar3L!&DZQuf#@8Y2C0e|d{aE~lTJlfv9hY&x;AtVkXT`<}-M7X4Y5{??^VD(r zWsN+*qx)Tok&xBH*TE%nr6%Il-@JlfSW9!b6yC()15QA`$aF) z-7iirkzvEW0a1sxQ}alv{9rz?x-t%~4h}r3APNEJNTf8CTqhN3l;PQWAxfQ9 z3C3BKU_5(vJBd=h`8v)vLX^rf^zh#z?L6CrFGKLmSs~izoPAW}>p0uVsYp26m_U0h zg~t_ho{h7wU>yMg9O=^`%wbX;ytSHa>6`CyH#Prr`f|^?h->j z&))fg_-at;&SvktFiE7IA5C8tEl93so952pAY8F`-b zocYb(`90d~4GEaN)^ndTWKNWVgIYhf>$zx#)UECOU<}GC^q)GXYwYUxw$AzZp16_) zxmVUriu&%@U&@wLJaG2@kN@^P7^N>}@LYZ{f@~m2sIlqu`02~oGg|Hgl zO%HIB?krrp zdUDM7D=wK2(uuwK23kBfBf#ve2 z7vjJGwbNbYLFexEne_21S1#)^3D8HcIIU|oPI}?`58v(k{p%BJHh)mK_M4IKH@)%9 z*Pkx@&b{N~=Qq{Kr*Q04&#;If*<+IMcRT({HQ|skdeVU|QHH@l4wz`9DLCxWxWP*2 zNrg&=O}(}ADWfbgTq98e8s$?BL*roWVUW4FhkP0*FN`RL1cb8>sS>)0#3@{u2SYFfHeev5Pfja!IqZr8ol*c%I73$E{;`+l_KDSkk3ofJo!!WD^0!uwEuwoADqG5 z(Sr{q0vT@aDRSkH5aW>Fn1(tsFJIxVq1=Zt_i%luvPRVTN#+$3P{Gn`5Qm#xhI| z?SJfLu5;>WkCW4uEUa6%WaWyX8yD1bma{G~hE4HL)qVk1Xz4@{p(B zTN&4X@#&vZXAK_ld^&aCJ1Sj#D}N@7ob0IAzO5AO7~fV7>p2ct8G?{*40KpOx|ENB zUj)CV^ogKR&lZEGqP~l)G2WxusunD$U%U1qiPS!icdl(tp1a`O4;hA%p;JfRI&$!W z*UaM&z7qSj_06ieU*1-oPmHTyF41JfIFdtCXiWs~o;l zNy-``4#SPma0px@&O5^DmCKgZFCeh)5_~?t$9e6JSK{*C>HYT5`^ zJ`1fQqv|%h0<0J{`e&UTA5Yb}-I(Abt?pf*dWl;8|l`3TqlK-1BU}TU| zYm`QUST%^V>mLs~Ssla2O=~M~QSsr6qs}?o?r%Q+dvkihb65O)>%1XW&%|j@uf6tk z^qr60pRy$1@+)EJ7-*^cC`el?eFLqbE zyYp`x^?UtI&;I&y*jp!_UbOhJXS)?$#q-pUdo~U#Vw^u&4Ya57!BsGSV;YB%ykIID z&(mm}#t>BZ-AB@4-P5*;ABko4v9~}j_D6h z#zdMz^+7O|1ykil=JsBL52+6ENHIM|MOs(YQ;^ zT+=RppG7sp{=YEh(aw6iW>3AaWD$y-R=$T8t$SxIs#iFV}MrxKfyORAMzdyF)P zN^rg#)rnX7+d=iHB!*@SD6dotQl*UQ$)rl5ZKoQkQf6DhS#JYLQ0lF=Ae>2;DmhFb zoVg}9`yn1}9^A2QjvnSV?rUsSajqCq}A#@jQbK1R$x=EEvYp@njqHiaX82K8sr z(|mf0Ze|eE9TJW+w{emA#I6; z*e%IEm9*$s!!T(T5=R=YF*c+U!97{$D`lR!js?vT5H#(zOP1AN0)&74wR6N97hVsG zc_8f(*W+784ZAJ<$?<#sw(atFX9qugd%>L6wUI=Eb4OZnh${&WAZZ~aq=q0G9DgwA zE95&+BT|xIm=tCuX^KzbGmF@dF@%7Z6QfRt(jN~tq?%B_F_p2?}khDb^<7bS%mg*Z`W+#HGUbPUwAX^s(VJ;)+Oh1Ze3 zX_rr0gGIaUCP-iN%>wesbO*t_w|pnKXbEwB44(O^RsM^Fh{s28vOMB~sgG#+Z|DO; z8hsDmjnkHCC=H|KyOGCJe#@Foku4^#bdzn|Y^B2t9XLi2K$A^v3aNJhXE4D_w3JG4 z5j+#VY^Q{n`ymCG1kf4z=U(FayOXZriZPw8RwX=>%ate?pixhWDH7Mj5^>GwBd*zf z#WkPLXfrCk3&iifOi+x>ws2-xfuXnb@WbL7b5r(!Z3<4v8e=OKzT_%p*+fB z&y~uPz(vU@-=I88H;}}YSFG|D`2py0IJ(Xv4X2gq30WE&CGaQGkcTM?0ZCp$IJ_a8 zc6Nm#WNR?wF4mvIq-xU!3#kOyp9DTA8P@g&`^SGlQh{ScnBi)I#CQ{0aS$W`GfD#a zkC%##I6BiXDFqSAVN`oi(QI0tJXai#HOuAXYmTco??*0o^%Hc^HCTvju38^D=o-(J zySe5Ji62(Kq8^HJ{le;HYv^3d5i2fV*`<{6Lz>g}!j@*&& zp9$s-LW_)oG!Y02U`3fy=->_pZ5!!iEZCCNG=5o>4a-Jns!2oEMUf)J_x-Mp0!cNl zrzFK?`C&-8N*REMfr2u{d<997qsP>(@{>Kf{N^9yoQq2@dv12CGtROwPMPzfd-L9# zX1(|Fv762hU7hcGH}|oAfF>!aV44~4ys&^?T3iI^Kx`S)Nc#ARLfV^HZngUoZO+de zGX~;k-J(mO*gu|do>}_#o-@1JU#grJGUQ9k_O$~Y-<;bXw{-BwWnr&A`$_-t@=p0d zyf9X(sD+lm(gh3*36$V6fy9Z>VEHx(NKhyNk|sj|V^f&42)W^n8$i8D`@<8E;9wlj zwmCvFtd7$Z^pd!l(ZTXvAmhREEfn@VGF(avhFXhTx!DXcq(9q=Xo=X~3!LjEUw}q` z6;Kf`1IQ8^TLi&|tOS5@mBC9+h*C|{RHOi)7k>;B^R z4}wz4zxC$dim5wYYZYrHU5k~ND!P^`sfh)E@Voj!~Y$FZZBZUCFbSQHjLrheVxl?yLH2>AIs=gYS? z$ZaFu-1@KTQRnXL_3Ldh^JXl~-8(Y;>K9&~cW&giVJIj zNAg&;gGYG@lm6>cXUW|^joNu`_pU$vH2(4D{&)JB@Lx)|4R`--`tPRm&r~HD*7TAe z!CNDxLH(kVIx4`jhomP+V-Bzx)KRC`F-(kff>7mW@MIh3u}W-P%WG8Lplb4p5RY+4 zvo0RXd#xq%qi|=+2k_;2h5{UIprUK0aYGnnVu)vk1}`}n5;>D4*BbdT=#}#InzRIY z-Aty#P-!>?*CtXQD~ZD<(F3e?id1Wag$&dvOjttf*Tywr+WS)w*?S zmdszju4`lR|E_m#%*{XZ-=d~Z%?E4WxjW_XQ}_M2r_sLh)kX4q-!6>2;n&f;c!k1F zTga1OED=nnB%d_J9s>adgNR~aJsALE#@8)adTEsSw|wV~f4zIqjZ%q5O=VigqrG7t+kYP+OyaOgfi1YLg#t3z_Ed6SPOvIv71 zFbXU%%VoI=8?zsHJSv3DMjK_a(gvN)&W8N};+Tj5|h08{*jQC}E<4EvPzo=U+ zL)`4ij5o99@@4&EzD!-smzmfi*!$Bcf|jmXsz;tY1}6lFOy>@!wx}*57yQzqdX$W5%mzHl&?=Z{xi^ zXI0)m{o$b}VjI30GiCG+i2lUKXEPt4PJBG4BOkv^@bSyap{{BczMzL-<&T+Ezvjv% z3oe0)2T7MZ(;pqRsQ;nF;a?tG5uLO6XwExN)jsxO;j`6m_g%MW$q8j=y8JlaZj}b~ ziOOc=hgFXb4$!Q6svWPeMz`ZxN3y*kN+AC@VYVrsFDUaBg=_&^BaodCqwm$$?(!3o z6e=s&8v!(rmqyXK>CAElY79BZ+&^y8k`;@V)nC#a2L)9)-%oz0VAF<_t&6{T?8QNA z|FnL=nZ)S#-(Fm_C^|E?+viOm$$R9#^0y`Rof!kw;R3?$A>l?y(9P^pFB=5jViJ!b z`oc00B;}h8ka?}hO};sqtl5rGc+mLCxEMo@G~c*6gYY*DCpw^$3gQ>*u_aCr7cQ%! zGW3L=S6Q&-3X^CK9&eO}NP}>41VI$j_l+#N#x#`CFXvSwqevQ_Sifk=+I4Fhy5cxN zhEk{V`RSYXJbnGjzwD~pv1{M;ufH)hqfhbS?|w-5&;Cz-`uTx9)St0ufr(6eM+OsE zjqd}h(1)l3FvlW42?41JE)VzusBYzWYcKgJNg6o^LL@{a6Fe{^xe%jVLJ}IpG()3T z&5bw13@%9{)}l7Lmfg4x5>CVnVy#}ed=;$X^Or1JvaTU<{F;@k>esAmAW7eA zV(j!Vkf310LqWkdXUMwIZwwonYqAwKJ)8bjc*UFBu23fTzEB_Wd(4X~`u99I`=lQq zwj6vqvNzAr;C|Lz`EU4ICMi5mpS^ z&kON1uwsO6WnF6?jaBb_N{qP=1sO}6Uv4;edyXOb!6W_petz;1d3L_*nM}iLuVuA$ zU$XM94|&)jwXK-Tw#XBG>9hfeVJz_6B9Xe15Nt_-PBWHb{W|;)H6cU zc{+pUAo{S7aA#Xu%oV@h{LwG&P5Ik`?wqmZ?b_&*&yQWb@$5BsCEQs%Dy_Ht99ZWp zQ1cobASfA)MNB?e=N)3)(2YQo2V=8AL$w;&K@!^lKU^)@XB@OP1oc>y3Q&E9@Cf;N z{ItR#vfY{?|AU^i;R$3L9Nt0>E-)cqYykbp*b3>7h6Q82uQ zOf~W+#d-2ek~C2M215(=#mFS%h8SOr3^Kz}N){3WGqrfdiWcB3I8Bm0jAXjBDrsas zA-xo{VWv^fRPwl9x>6#X0Xa10Sfv61Y6CELLGnIRLw{I^VFdD<5PF$Inap+`t1>;8 zeiteWt$pN|aVC$l5^DvU4B(Hlf*K8Z+Jc2iml-!?co)oKo;^!`g}QPB-gx4$S}FkR zV4Fu^i(c>+l_C|GHXuQ+(HsJy4?b1CGpvl!n204|Hmoj&1}6&oDmP*U(@pTEq6EuD zhF9DL(VuwvRpjhb9=F3RNIvn)42_8>U++wSA3}Kn4dFRg8{$rH*hhX1Bv$#b8-E$} zOS0d>&N7!Qi?FY$r$`vq3p5F`O&TP>4t}8gfIb2ZgRVqyS$qwxaOrIaZXB}79Yy3tgb<9-Ail{ zBa9U(U>WOH&R>7|(ADeVVO`h23}sFInyyJ?She%czJq4wl%MGvwBVMzAIjSE=}U8i zB1>;cdG@jVv?oq|uy_Kvma(RU#X@7nc;=Er$MI#KU|agw0PB?vlKRf8hM?4R=by;^!Ls9lZII)U`Vd&Tx0j+v7}+Z2a>> z4-J3f?gz`{HzcX|Xp99KfE95X<~Z8QgF|`^@c)DvVUh#d=NmW2zzN^W2)S!%m=t4~ zz~-)W!tjM%Blt}DO(Z300N}It9N`T(BY-F`@1q5OuuAK35CtsWW~@A zY9oc?Y#6;Jj0|1$E@Hs=B(P*@DIEOfx>EU{KpLDc7D@;eOm@joqSz2N)mVfS5sRQr zLxi~w{xk>}M6cwJF_JFm)hhXI8tea1gONX-#u`HkA`du^XdBx;Suxe#mSo%XgG(Qt!J<53WX2zYhp-T`RficbduHO$uu2(^WyN@TZedJU z37|3qP2g%_QJ0314A&dcm=f?M=7!xt4wIAy%mw%^oN6TJ3^q2TOC;~mS0&M;Q_~Qo zB~@IvcY_-74%yx)=Y9!!hyYQ+WORt8orGx=OcxCY@ z)9JJ9;8Wgj%~3vOtc?ew=>`SF>N0>9YwMY3+??*So`ASv^1JYwf~BbJ7jjDg`|a&3 zH5M8-JH?CzH)N~G2&u6b^;6~Qjk)PfAFjPIi{O>{onAdWvMvwfu5wkQHYU+Z!A-Qv z5K{+|&WZ20inYL+Ix{8kk;x!pT&u%6(V{a`Tmbq3-v={A;%H9SIyh>%2^_V=|D3L? zwUTPm&*0u<{>SUxD6}q+w5D|qtgagXenoGZ<%Lis)PiVrYJllxeEh*_!vY{KXvtqO-zxI2lbl9Mn9 zSJw2eM3Y_kf9p5Ip}hZc0aEli<6W825F?H2L*@4+siBXZuOs`~={trBi$zE+n+HN` zt7-D=%9X_q`2$Jn^A>_j+S}@5a zuC);PxHITwE{9by*^Nnz@;3Qx7E|Knx5*m}qWLirZGm^nAIr^D5GjjYKQZ#REGb3F zzw_R*1o`((^xUR|^Y26@{A&7bS7Lbvl9X8P(4jc_d9vcXM%2&e=ZQ)_|Bh1n@$Uqs zU!!4EzzIpqfpeDX_Ei3oB07HpowHuy?fhA-bGuLH z3Ch!I=dYl1*fx>rp{vgGl@C(rCHczd`E>24e8FE-sC>!Z=OX3nB!b{j<*RI1M(W}zjsdm=6sG-rF&Dx#OoiBVm?%sW_QUtMRT`)lF4 za{r(X|9^!D?F(fCDde3 z7F~mTd-9otq*t>b++*}un$O%ZW9X7U7ROOZQvGo7ST-8K(1(k6Xv?T=sPe)J{ zh(rND5j+(^haF;L20hK8jX+!(V>ZF-iX{WgD1#6Hg`lu*1SFH?kBA`DVzyC<&H@9@ zLoNzIaz>*$55%=0ghaDoX#`ON4jzNGC`34IdWXZ%!4C=u>uoeOmQf9Z<&Pz4wzABQ z_YH%{Yol-%h*9{14^!{dvIzRge-LVl5RO)(G*$jD(U@z&Z#4;HCQ+C~BLEqMA%tj6 zqR|kJfr)4;zaMfdC0PUrn55w8kX}NhwV_gML0z%@2~bv1nYybVIz6} zK)lSD77ob)Mj^gD5wHbQ#4vTv^X1QA?@>O)^kB|$A|m^W2*?oi6Gq@-h6RPz0Wu8$ zJ4X2dFv`z>#=#WE$Ir^;&+*U|jE8_9^=tSc4+Y{nxIDlULci3@)WAd_SQ@Xk&X&Ib zfpDeRgQa8>zG?vN6kz4vOjCy*Vfb4O1J{?pO;;hPLnJ{jB#JB(=qby<0C|WwBn`tI z79sA|8Kq+RE3i`6Fth;{V8UWBVPFnG6VxOi<-06eaK0POvI%_s@{`tyfKiM5B6t9B z7M6Rm!IzM_*pD#HLLv5-nKq@s!v@6)W$~C-Lk#Iz(NZP(0MQa)V%lVezOflze3IfR zH1Idrx9RGdOSB|x_+0vFQGTeWYlQn#q}c=KTegHQ5d#-csZp6O2%s`ujbf_nBg*Ug ziR(%=>S?9$l9VG^5lIt2ETvweOV-lGGDW;Xad4+mu8)?ATGw)|@XPDyXN2-PKMwaS z<=;_F4|6q3^V9Xzi+#vSs%BF{my7E&e6_oFi*ol=@!ONkzoR_waC3Xp8S%XN3eisf zcQ(=MDEXsQihk$GiI<;dsU}g`%oID;{UNjv2pcWG$!@wy+VZ}v@XhuDA&(^P$R*s9 z(pvY*Tj?fc*W+>%-6ZdRQ+Cr3?R#(LSH~QTUQfRrhyJ&kuSXmBYCkrUpT`})l|_b_ z_UE`>^oh@au@GEN&EwI;oUP;X_;a6cqM7JfIg;enl##I&w3tsHl}V8@u(DezA}tN`0vU0-adRR<9VJoqn@+1HimD*? z5mdD&^{RviRt3jNBguw4)@t|W+8KehK@?y(QEQJiZce2i=srpQn&)8{7-EvN4E7b{ z)u3I$M%tkSQ0U8^{=}iY`6|A)fC>kV$s6C19z(Ihw;V2tZ_2;m@@t~*&Lx4Qnq3W2($*#ZJ2gu*ixSzpptbsJ)2yI1rXL1P{jhX0-m?^xQu-nt_F|T)1^`-Q4y`}c} zE??taABr9$U7w&w#zk05Y@PI&X58TDq{l*eJCg>p{NYskmT>u#S#<5;>dzrgwNs%+ ze-DHGbjIS^`RdPl`e|6TluJjg5x+KyUz_dSI{2d?`8ctnWaqH~E|wx# z$2^@tlm7ubq_Oy)UYzP0#RMlJ8f5VWxigJ?(u@o%GATBF4hI)RXZjwlo6__>zsA<|YlMEFXLC3jT1YjF zmkOw>sAdZq!l0%%Y>p8Po0CLCdb6#$8yDJ}yIZ|AbD9ex2H;^vb5TUV{#-rfV5~?v z2;z`$m_mDYr_r9>9(=4)a}}l;Z|D4ha41v$z$7VwPU%{ro&pkhLQeD82*Tgg<|z>v zi^!p2ZC)OsW+Y|ZKEj)Vl(q3#?@!<^?C|tc+d|LBDmA;bf$$+7+`N=_&vQ#Y@5^t0 z{9p{g(cFgb=H0-&vz{~caXxArr4i-&d^iW6B95)g*lz8+4ZitC8oz$55>kmaKL_s; zq(m5O$&18ydV0NB?~&x_yTh?c%}sZOA<5+okn`Rm3tm+7_rnP}}4BON16O;O8L z0+d=5S_*OaptYs#VxZ&)JAC+H%USJx9bm@~V)F1lN6TFogBU;PXnBH$l--y=8x5hw zg-PRD-tPiBvX)cMsWfrGmb>{Yf`n;4kg#*hDEi!KJ9h|3*twUdJ89D{gq^Q+goK^1b%cbS@2Cww)FB~n z=cfV^c7FYTgM?P1;+>I~KuBn{2uNs+_JM@foc|jnw3ce``$I@*9e&A>&^j#u5?a?^ z3M91dba#Y=GqZ*;B%G-ekZ@)ZPq+QdG9O4dvo4Laj1zHJmhe%;WV16?1N3(oF?4 z=z4qsFZxToT|f`uepS$ec9anG?|7#l{U?tSgr`OHKX_*v{m6b~C?mi-{h3MjBMC-? zZHF?x9x6C9lnHi)hh0Tz7Ox_-7_CV*Mo$QVXSEyP2TOfXTM>Fr8nLDpBZ1z8JBDgA z^aUisNi_&c%8=FA_>^0 zjh*nV(L!q=Qtr)vVH-{=Ke_0?fX}o+4N&BL4$X zNU1=@^w^LGF$O61LpsNIBUqKr(aXAlmcJYzOj#lD6sDxX zQHf$eXcDy()*nc<;*@R0GdpVb5RX&#CFpP3%&`m5HUBNU&pyKYhf|(cvu3h^Y z({FJeB3ROD6bRVJ(g?!&aO?520KKv}#I*ReGep!uTqi|Pop>vvj)x)KiKrgD4WxQ; z{nT{I9Ogy+i{>j8kbyG~y??H!KuwTIGj0^mh)jvmVU>V zFHU;S{Nu<5qTR2qxBa?0ZhJA+R&&|>Q+@Z&AG+G(lZ;Q<+?cB^*S%q4o-8bXjs)Y# zAwm;b5Ya2JWK@3kiI2zr@S%|@+!dv`Re06B&}>{BXBH`wH=x8WbRF9f;df|dQ(K@?zCmx$mZxY6*H&ot22JsV291Pd z&*f7$1*RL1&fI*dr1yhW+#h}QnHtMea?gt0>X86{kurrOE9GU{3bL@M3{}RsCLl=r zh#h|BVb9G48-Lx@;dyCw`s^EY-n|RoueQ6|w5o z$Wyhgq5qxk>^B#ksG2#P9`#!7-oEtITXJge6A$Ht238Q8GT5B;?@rbaq^TDjsd%#d z!lRMkod$#7=F$WH1uGLuU(gneff7A;l0> zFA}O^B(ahty`C&DDtm9VI0$7QhPWhQMD6PlMm52QhEE%D;$%f<`yKZR#nOncy3cQ| zEA#DYS>tX=ee?Y7E=JapAEMA|p}s+4OK}{%jI|JU;tR+^2F2NE;; z{mnDX!BIMKQ1p_A=hnU5@#4YFp12$XCDp?t@O6F!f+itYxlHu2CFFxr%i+Ds-0IV5 zmLTXZKvL;rchP44Qr$KJmCe zXi5A~ZuXYfWe?q#-p=Y1DW9)8B)W*Ww!GnDbL0K~Y`JNGI&5r=c|77NDNk-aa_OV+ zX?uRzF(XG;SP9h$`iw%IK~p%sc2M!09$|DFaoj8RY)w|YTRy=kzDOKdrb*c~WoEc> R+oyle6<6JTzXnF7{{bP!U?2bh literal 120800 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
- + - Unsafe operations that can cause IO Failure and/or other catestrophic side-effects. - - - - - Constructs a new ByteString from the given byte array. The array is - *not* copied, and must not be modified after this constructor is called. + Internal use only. Ensure that the provided memory is not mutated and belongs to this instance. - Internal use only. Ensure that the provided array is not mutated and belongs to this instance. + Internal use only. Ensure that the provided memory is not mutated and belongs to this instance. + This method encapsulates converting array to memory. Reduces need for SecuritySafeCritical + in .NET Framework. - + - Constructs a new ByteString from the given byte array. The array is + Constructs a new ByteString from the given memory. The memory is *not* copied, and must not be modified after this constructor is called. @@ -66,6 +62,18 @@ Returns true if this byte string is empty, false otherwise.
+ + + Provides read-only access to the data of this . + No data is copied so this is the most efficient way of accessing. + + + + + Provides read-only access to the data of this . + No data is copied so this is the most efficient way of accessing. + + Converts this into a byte array. @@ -117,6 +125,13 @@ Constructs a from a portion of a byte array. + + + Constructs a from a read only span. The contents + are copied, so further modifications to the span will not + be reflected in the returned . + +
Creates a new by encoding the specified text with @@ -130,7 +145,7 @@ - Retuns the byte at the given index. + Returns the byte at the given index. @@ -208,11 +223,6 @@ The to compare this with. true if refers to an equal byte string; false otherwise. - - - Used internally by CodedOutputStream to avoid creating a copy for the write - - Copies the entire byte array to the destination array provided at the offset specified. @@ -223,6 +233,12 @@ Writes the entire byte array to the provided stream + + + SecuritySafeCritical attribute can not be placed on types with async methods. + This class has ByteString's async methods so it can be marked with SecuritySafeCritical. + + Reads and decodes protocol message fields. @@ -250,45 +266,18 @@ Buffer of data read from the stream or provided at construction time. - - - The index of the buffer at which we need to refill from the stream (if there is one). - - - - - The position within the current buffer (i.e. the next byte to read) - - The stream to read further input from, or null if the byte array buffer was provided directly on construction, with no further data available. - - - The last tag we read. 0 indicates we've read to the end of the stream - (or haven't read anything yet). - - - - - The next tag, used to store the value read by PeekTag. - - - + - The total number of bytes read before the current buffer. The - total bytes read up to the current position can be computed as - totalBytesRetired + bufferPos. + The parser state is kept separately so that other parse implementations can reuse the same + parsing primitives. - - - The absolute position of the end of the current message. - - Creates a new CodedInputStream reading data from the given byte array. @@ -388,6 +377,11 @@ Internal-only property; when set to true, unknown fields will be discarded while parsing. + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + + Disposes of this instance, potentially closing any underlying stream. @@ -492,7 +486,7 @@ Reads an embedded message field value from the stream. - + @@ -550,12 +544,6 @@ stream is left in the original position and the method returns false. - - - Same code as ReadRawVarint32, but read each byte individually, checking for - buffer overflow. - - Reads a raw Varint from the stream. If larger than 32 bits, discard the upper bits. @@ -590,28 +578,6 @@ Reads a 64-bit little-endian integer from the stream. - - - Decode a 32-bit value with ZigZag encoding. - - - ZigZag encodes signed integers into values that can be efficiently - encoded with varint. (Otherwise, negative values must be - sign-extended to 64 bits to be varint encoded, thus always taking - 10 bytes on the wire.) - - - - - Decode a 32-bit value with ZigZag encoding. - - - ZigZag encodes signed integers into values that can be efficiently - encoded with varint. (Otherwise, negative values must be - sign-extended to 64 bits to be varint encoded, thus always taking - 10 bytes on the wire.) - - Sets currentLimit to (current position) + byteLimit. This is called @@ -641,7 +607,7 @@ Called when buffer is empty to read more bytes from the - input. If is true, RefillBuffer() gurantees that + input. If is true, RefillBuffer() guarantees that either there will be at least one byte in the buffer when it returns or it will throw an exception. If is false, RefillBuffer() returns false if no more bytes were available. @@ -649,14 +615,6 @@ - - - Read one byte from the input. - - - the end of the stream or the current limit was reached - - Reads a fixed size of bytes from the input. @@ -665,16 +623,11 @@ the end of the stream or the current limit was reached - - - Reads and discards bytes. - - the end of the stream - or the current limit was reached - - + - Abstraction of skipping to cope with streams which can't really skip. + Reads a top-level message or a nested message after the limits for this message have been pushed. + (parser will proceed until the end of the current limit) + NOTE: this method needs to be public because it's invoked by the generated code - e.g. msg.MergeFrom(CodedInputStream input) method @@ -946,6 +899,13 @@ The value to write + + + Writes a message, without a tag, to the stream. + Only the message data is written, without a length-delimiter. + + The value to write + Writes a group, without a tag, to the stream. @@ -1074,28 +1034,6 @@ Writes out part of an array of bytes. - - - Encode a 32-bit value with ZigZag encoding. - - - ZigZag encodes signed integers into values that can be efficiently - encoded with varint. (Otherwise, negative values must be - sign-extended to 64 bits to be varint encoded, thus always taking - 10 bytes on the wire.) - - - - - Encode a 64-bit value with ZigZag encoding. - - - ZigZag encodes signed integers into values that can be efficiently - encoded with varint. (Otherwise, negative values must be - sign-extended to 64 bits to be varint encoded, thus always taking - 10 bytes on the wire.) - - Indicates that a CodedOutputStream wrapping a flat byte array @@ -1129,7 +1067,7 @@ Verifies that SpaceLeft returns zero. It's common to create a byte array that is exactly big enough to hold a message, then write to it with a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that - the message was actually as big as expected, which can help bugs. + the message was actually as big as expected, which can help finding bugs. @@ -1348,6 +1286,18 @@ Stream to read from Codec describing how the key/value pairs are encoded + + + Adds entries to the map from the given parse context. + + + It is assumed that the input is initially positioned after the tag specified by the codec. + This method will continue reading entries from the input until the end is reached, or + a different tag is encountered. + + Input to read from + Codec describing how the key/value pairs are encoded + Writes the contents of this map to the given coded output stream, using the specified codec @@ -1356,6 +1306,14 @@ The output stream to write to. The codec to use for each entry. + + + Writes the contents of this map to the given write context, using the specified codec + to encode each entry. + + The write context to write to. + The codec to use for each entry. + Calculates the size of this map based on the given entry codec. @@ -1384,18 +1342,19 @@ The value codec. The map tag to use to introduce each map entry. - + - The tag used in the enclosing message to indicate map entries. + The key codec. + + + + + The value codec. - + - A mutable message class, used for parsing and serializing. This - delegates the work to a codec, but implements the interface - for interop with and . - This is nested inside Codec as it's tightly coupled to the associated codec, - and it's simpler if it has direct access to all its fields. + The tag used in the enclosing message to indicate map entries. @@ -1472,12 +1431,19 @@ The input stream to read from. The codec to use in order to read each entry. + + + Adds the entries from the given parse context, decoding them with the specified codec. + + The input to read from. + The codec to use in order to read each entry. + Calculates the size of this collection based on the given codec. The codec to use when encoding each field. - The number of bytes that would be written to a by , + The number of bytes that would be written to an output by one of the WriteTo methods, using the same codec. @@ -1488,6 +1454,20 @@ The output stream to write to. The codec to use when encoding each value. + + + Writes the contents of this collection to the given write context, + encoding each value using the specified codec. + + The write context to write to. + The codec to use when encoding each value. + + + + Gets and sets the capacity of the RepeatedField's internal array. WHen set, the internal array is reallocated to the given capacity. + The new value is less than Count -or- when Count is less than 0. + + Adds the specified item to the collection. @@ -1676,6 +1656,210 @@ One type in the hierarchy declared more than one method with the same name + + + Represents a non-generic extension definition. This API is experimental and subject to change. + + + + + Internal use. Creates a new extension with the specified field number. + + + + + Gets the field number of this extension + + + + + Represents a type-safe extension identifier used for getting and setting single extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The field value type of this extension + + + + Creates a new extension identifier with the specified field number and codec + + + + + Represents a type-safe extension identifier used for getting repeated extension values in instances. + This API is experimental and subject to change. + + The message type this field applies to + The repeated field value type of this extension + + + + Creates a new repeated extension identifier with the specified field number and codec + + + + + Provides extensions to messages while parsing. This API is experimental and subject to change. + + + + + Creates a new empty extension registry + + + + + Gets the total number of extensions in this extension registry + + + + + Returns whether the registry is readonly + + + + + Adds the specified extension to the registry + + + + + Adds the specified extensions to the registry + + + + + Clears the registry of all values + + + + + Gets whether the extension registry contains the specified extension + + + + + Copies the arrays in the registry set to the specified array at the specified index + + The array to copy to + The array index to start at + + + + Returns an enumerator to enumerate through the items in the registry + + Returns an enumerator for the extensions in this registry + + + + Removes the specified extension from the set + + The extension + true if the extension was removed, otherwise false + + + + Clones the registry into a new registry + + + + + Methods for managing s with null checking. + + Most users will not use this class directly and its API is experimental and subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if it doesn't exist in this set + + + + + Gets the value of the specified repeated extension, registering it if it doesn't exist + + + + + Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null. + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified extension + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Tries to merge a field from the coded input, returning true if the field was merged. + If the set is null or the field was not otherwise merged, this returns false. + + + + + Merges the second set into the first set, creating a new instance if first is null + + + + + Clones the set into a new set. If the set is null, this returns null + + + + + Used for keeping track of extensions in messages. + methods route to this set. + + Most users will not need to use this class directly + + The message type that extensions in this set target + + + + Gets a hash code of the set + + + + + Returns whether this set is equal to the other object + + + + + Calculates the size of this extension set + + + + + Writes the extension values in this set to the output stream + + + + + Writes the extension values in this set to the write context + + Factory methods for . @@ -1795,19 +1979,149 @@ A conversion function from the enum type to . A codec for the given tag. - + - Retrieves a codec suitable for a message field with the given tag. + Retrieves a codec suitable for a string field with the given tag. The tag. - A parser to use for the message type. + The default value. A codec for the given tag. - + - Retrieves a codec suitable for a group field with the given tag. + Retrieves a codec suitable for a bytes field with the given tag. - The start group tag. + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a bool field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint32 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an int64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a fixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an sfixed64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a uint64 field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a float field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a double field with the given tag. + + The tag. + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for an enum field with the given tag. + + The tag. + A conversion function from to the enum type. + A conversion function from the enum type to . + The default value. + A codec for the given tag. + + + + Retrieves a codec suitable for a message field with the given tag. + + The tag. + A parser to use for the message type. + A codec for the given tag. + + + + Retrieves a codec suitable for a group field with the given tag. + + The start group tag. The end group tag. A parser to use for the group message type. A codec for given tag @@ -1856,6 +2170,16 @@ in repeated fields itself, other than to know whether or not the field *should* be packed. + + + Merges an input stream into a value + + + + + Merges a value into a reference to another value, returning a boolean if the value was set + + Returns a delegate to write a value (unconditionally) to a coded output stream. @@ -1872,6 +2196,17 @@ the stream is already positioned on the appropriate tag. + + + Returns a delegate to merge a value from a coded input stream. + It is assumed that the stream is already positioned on the appropriate tag + + + + + Returns a delegate to merge two values together. + + Returns the fixed size for an entry, or 0 if sizes vary. @@ -1908,6 +2243,11 @@ Write a tag and the given value, *if* the value is not the default. + + + Write a tag and the given value, *if* the value is not the default. + + Reads a value of the codec type from the given . @@ -1915,12 +2255,25 @@ The input stream to read from. The value read from the stream. + + + Reads a value of the codec type from the given . + + The parse context to read from. + The value read. + Calculates the size required to write the given value, with a tag, if the value is not the default. + + + Calculates the size required to write the given value, with a tag, even + if the value is the default. + + A tree representation of a FieldMask. Each leaf node in this tree represent @@ -1998,6 +2351,24 @@ Class containing helpful workarounds for various platform compatibility + + + Interface for a Protocol Buffers message, supporting + parsing from and writing to . + + + + + Internal implementation of merging data from given parse context into this message. + Users should never invoke this method directly. + + + + + Internal implementation of writing this message to a given write context. + Users should never invoke this method directly. + + A message type that has a custom string format for diagnostic purposes. @@ -2051,6 +2422,48 @@ A deep clone of this object. + + + Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class. + This interface is experiemental and is subject to change. + + + + + Gets the value of the specified extension + + + + + Gets the value of the specified repeated extension or null if the extension isn't registered in this set. + For a version of this method that never returns null, use + + + + + Gets the value of the specified repeated extension, registering it if it hasn't already been registered. + + + + + Sets the value of the specified extension + + + + + Gets whether the value of the specified extension is set + + + + + Clears the value of the specified extension + + + + + Clears the value of the specified repeated extension + + Interface for a Protocol Buffers message, supporting @@ -2187,6 +2600,12 @@ The message to format for diagnostic purposes. The diagnostic-only JSON representation of the message + + + Determines whether or not a field value should be serialized according to the field, + its value in the message, and the settings of this formatter. + + Writes a single value to the given writer as JSON. Only types understood by @@ -2225,8 +2644,10 @@ - Whether fields whose values are the default for the field type (e.g. 0 for integers) - should be formatted (true) or omitted (false). + Whether fields which would otherwise not be included in the formatted data + should be formatted even when the value is not present, or has the default value. + This option only affects fields which don't support "presence" (e.g. + singular non-optional proto3 primitive fields). @@ -2713,6 +3134,13 @@ The message to merge the data into. Stream containing the data to merge, which must be protobuf-encoded binary data. + + + Merges data from the given span into an existing message. + + The message to merge the data into. + Span containing the data to merge, which must be protobuf-encoded binary data. + Merges length-delimited data from the given stream into an existing message. @@ -2752,6 +3180,22 @@ The message to convert. The message data as a byte string. + + + Writes the given message data to the given buffer writer in protobuf encoding. + + The message to write to the stream. + The stream to write to. + + + + Writes the given message data to the given span in protobuf encoding. + The size of the destination span needs to fit the serialized size + of the message exactly, otherwise an exception is thrown. + + The message to write to the stream. + The span to write to. Size must match size of the message exactly. + Checks if all required fields in a message have values set. For proto3 messages, this returns true @@ -2799,6 +3243,20 @@ The stream to parse. The parsed message. + + + Parses a message from the given sequence. + + The data to parse. + The parsed message. + + + + Parses a message from the given span. + + The data to parse. + The parsed message. + Parses a length-delimited message from the given stream. @@ -2833,6 +3291,13 @@ Whether or not to discard unknown fields when parsing. A newly configured message parser. + + + Creates a new message parser which registers extensions from the specified registry upon creating the message instance + + The extensions to register + A newly configured message parser. + A parser for a specific message type. @@ -2897,6 +3362,20 @@ The stream to parse. The parsed message. + + + Parses a message from the given sequence. + + The data to parse. + The parsed message. + + + + Parses a message from the given span. + + The data to parse. + The parsed message. + Parses a length-delimited message from the given stream. @@ -2931,485 +3410,843 @@ Whether or not to discard unknown fields when parsing. A newly configured message parser. - + - Helper methods for throwing exceptions when preconditions are not met. + Creates a new message parser which registers extensions from the specified registry upon creating the message instance - - This class is used internally and by generated code; it is not particularly - expected to be used from application code, although nothing prevents it - from being used that way. - + The extensions to register + A newly configured message parser. - + - Throws an ArgumentNullException if the given value is null, otherwise - return the value to the caller. + Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the + extensionByNumber table in ExtensionRegistry. - + - Throws an ArgumentNullException if the given value is null, otherwise - return the value to the caller. + An opaque struct that represents the current parsing state and is passed along + as the parsing proceeds. + All the public methods are intended to be invoked only by the generated code, + users should never invoke them directly. - - This is equivalent to but without the type parameter - constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull - with a value type - but it gets in the way if either you want to use it with a nullable - value type, or you want to use it with an unconstrained type parameter. - - + - Container for a set of custom options specified within a message, field etc. + Initialize a , building all from defaults and + the given . - - - This type is publicly immutable, but internally mutable. It is only populated - by the descriptor parsing code - by the time any user code is able to see an instance, - it will be fully initialized. - - - If an option is requested using the incorrect method, an answer may still be returned: all - of the numeric types are represented internally using 64-bit integers, for example. It is up to - the caller to ensure that they make the appropriate method call for the option they're interested in. - Note that enum options are simply stored as integers, so the value should be fetched using - and then cast appropriately. - - - Repeated options are currently not supported. Asking for a single value of an option - which was actually repeated will return the last value, except for message types where - all the set values are merged together. - - - + - Singleton for all descriptors with an empty set of options. + Initialize a using existing , e.g. from . - + - A sequence of values per field. This needs to be per field rather than per tag to allow correct deserialization - of repeated fields which could be "int, ByteString, int" - unlikely as that is. The fact that values are boxed - is unfortunate; we might be able to use a struct instead, and we could combine uint and ulong values. + Creates a ParseContext instance from CodedInputStream. + WARNING: internally this copies the CodedInputStream's state, so after done with the ParseContext, + the CodedInputStream's state needs to be updated. - + - Retrieves a Boolean value for the specified option field. + Returns the last tag read, or 0 if no tags have been read or we've read beyond + the end of the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a signed 32-bit integer value for the specified option field. + Internal-only property; when set to true, unknown fields will be discarded while parsing. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a signed 64-bit integer value for the specified option field. + Internal-only property; provides extension identifiers to compatible messages while parsing. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves an unsigned 32-bit integer value for the specified option field, - assuming a fixed-length representation. + Reads a field tag, returning the tag of 0 for "end of input". - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. + + If this method returns 0, it doesn't necessarily mean the end of all + the data in this CodedInputReader; it may be the end of the logical input + for an embedded message, for example. + + The next field tag, or 0 for end of input. (0 is never a valid tag.) - + - Retrieves an unsigned 64-bit integer value for the specified option field, - assuming a fixed-length representation. + Reads a double field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a signed 32-bit integer value for the specified option field, - assuming a fixed-length representation. + Reads a float field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a signed 64-bit integer value for the specified option field, - assuming a fixed-length representation. + Reads a uint64 field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a signed 32-bit integer value for the specified option field, - assuming a zigzag encoding. + Reads an int64 field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a signed 64-bit integer value for the specified option field, - assuming a zigzag encoding. + Reads an int32 field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves an unsigned 32-bit integer value for the specified option field. + Reads a fixed64 field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves an unsigned 64-bit integer value for the specified option field. + Reads a fixed32 field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a 32-bit floating point value for the specified option field. + Reads a bool field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a 64-bit floating point value for the specified option field. + Reads a string field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a string value for the specified option field. + Reads an embedded message field value from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a bytes value for the specified option field. + Reads an embedded group field from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Retrieves a message value for the specified option field. + Reads a bytes field value from the input. - The field to fetch the value for. - The output variable to populate. - true if a suitable value for the field was found; false otherwise. - + - Reads an unknown field, either parsing it and storing it or skipping it. + Reads a uint32 field value from the input. - - If the current set of options is empty and we manage to read a field, a new set of options - will be created and returned. Otherwise, the return value is this. This allows - us to start with a singleton empty set of options and just create new ones where necessary. - - Input stream to read from. - The resulting set of custom options, either this or a new set. - + - All field values can be stored as a byte string or a 64-bit integer. - This struct avoids unnecessary boxing. + Reads an enum field value from the input. - - Holder for reflection information generated from google/protobuf/descriptor.proto + + + Reads an sfixed32 field value from the input. + - - File descriptor for google/protobuf/descriptor.proto + + + Reads an sfixed64 field value from the input. + - + - The protocol compiler can output a FileDescriptorSet containing the .proto - files it parses. + Reads an sint32 field value from the input. - - Field number for the "file" field. + + + Reads an sint64 field value from the input. + - + - Describes a complete .proto file. + Reads a length for length-delimited data. + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + - - Field number for the "name" field. + + + The position within the current buffer (i.e. the next byte to read) + - + - file name, relative to root of source tree + Size of the current buffer - - Gets whether the "name" field is set + + + If we are currently inside a length-delimited block, this is the number of + bytes in the buffer that are still available once we leave the delimited block. + - - Clears the value of the "name" field + + + The absolute position of the end of the current length-delimited block (including totalBytesRetired) + - - Field number for the "package" field. + + + The total number of consumed before the start of the current buffer. The + total bytes read up to the current position can be computed as + totalBytesRetired + bufferPos. + - + - e.g. "foo", "foo.bar", etc. + The last tag we read. 0 indicates we've read to the end of the stream + (or haven't read anything yet). - - Gets whether the "package" field is set + + + The next tag, used to store the value read by PeekTag. + - - Clears the value of the "package" field + + + Internal-only property; when set to true, unknown fields will be discarded while parsing. + - - Field number for the "dependency" field. + + + Internal-only property; provides extension identifiers to compatible messages while parsing. + - + - Names of files imported by this file. + Primitives for parsing protobuf wire format. - - Field number for the "public_dependency" field. + + + Reads a length for length-delimited data. + + + This is internally just reading a varint, but this method exists + to make the calling code clearer. + - + - Indexes of the public imported files in the dependency list above. + Parses the next tag. + If the end of logical stream was reached, an invalid tag of 0 is returned. - - Field number for the "weak_dependency" field. + + + Peeks at the next tag in the stream. If it matches , + the tag is consumed and the method returns true; otherwise, the + stream is left in the original position and the method returns false. + - + - Indexes of the weak imported files in the dependency list. - For Google-internal migration only. Do not use. + Peeks at the next field tag. This is like calling , but the + tag is not consumed. (So a subsequent call to will return the + same value.) - - Field number for the "message_type" field. + + + Parses a raw varint. + - + - All top-level definitions in this file. + Parses a raw Varint. If larger than 32 bits, discard the upper bits. + This method is optimised for the case where we've got lots of data in the buffer. + That means we can check the size just once, then just read directly from the buffer + without constant rechecking of the buffer length. - - Field number for the "enum_type" field. + + + Parses a 32-bit little-endian integer. + - - Field number for the "service" field. + + + Parses a 64-bit little-endian integer. + - - Field number for the "extension" field. + + + Parses a double value. + - - Field number for the "options" field. + + + Parses a float value. + - - Gets whether the options field is set + + + Reads a fixed size of bytes from the input. + + + the end of the stream or the current limit was reached + - - Clears the value of the options field + + + Reads and discards bytes. + + the end of the stream + or the current limit was reached - - Field number for the "source_code_info" field. + + + Reads a string field value from the input. + - + - This field contains optional information about the original source code. - You may safely remove this entire field without harming runtime - functionality of the descriptors -- the information is needed only by - development tools. + Reads a bytes field value from the input. - - Gets whether the source_code_info field is set + + + Reads a UTF-8 string from the next "length" bytes. + + + the end of the stream or the current limit was reached + - - Clears the value of the source_code_info field + + + Reads a string assuming that it is spread across multiple spans in a . + - - Field number for the "syntax" field. + + + Validates that the specified size doesn't exceed the current limit. If it does then remaining bytes + are skipped and an error is thrown. + - + - The syntax of the proto file. - The supported values are "proto2" and "proto3". + Reads a varint from the input one byte at a time, so that it does not + read any bytes after the end of the varint. If you simply wrapped the + stream in a CodedInputStream and used ReadRawVarint32(Stream) + then you would probably end up reading past the end of the varint since + CodedInputStream buffers its input. + + - - Gets whether the "syntax" field is set + + + Decode a 32-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 32 bits to be varint encoded, thus always taking + 5 bytes on the wire.) + - - Clears the value of the "syntax" field + + + Decode a 64-bit value with ZigZag encoding. + + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + - + - Describes a message type. + Checks whether there is known data available of the specified size remaining to parse. + When parsing from a Stream this can return false because we have no knowledge of the amount + of data remaining in the stream until it is read. - - Field number for the "name" field. + + + Checks whether there is known data available of the specified size remaining to parse + in the underlying data source. + When parsing from a Stream this will return false because we have no knowledge of the amount + of data remaining in the stream until it is read. + - - Gets whether the "name" field is set + + + Read raw bytes of the specified length into a span. The amount of data available and the current limit should + be checked before calling this method. + - - Clears the value of the "name" field - - - Field number for the "field" field. - - - Field number for the "extension" field. - - - Field number for the "nested_type" field. - - - Field number for the "enum_type" field. - - - Field number for the "extension_range" field. - - - Field number for the "oneof_decl" field. - - - Field number for the "options" field. + + + Reading and skipping messages / groups + - - Gets whether the options field is set + + + Skip a group. + - - Clears the value of the options field + + + Verifies that the last call to ReadTag() returned tag 0 - in other words, + we've reached the end of the stream when we expected to. + + The + tag read was not the one specified - - Field number for the "reserved_range" field. + + + Fast parsing primitives for wrapper types + - - Field number for the "reserved_name" field. + + + Helper methods for throwing exceptions when preconditions are not met. + + + This class is used internally and by generated code; it is not particularly + expected to be used from application code, although nothing prevents it + from being used that way. + - + - Reserved field names, which may not be used by fields in the same message. - A given name may only be reserved once. + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. - - Container for nested types declared in the DescriptorProto message type. + + + Throws an ArgumentNullException if the given value is null, otherwise + return the value to the caller. + + + This is equivalent to but without the type parameter + constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull + with a value type - but it gets in the way if either you want to use it with a nullable + value type, or you want to use it with an unconstrained type parameter. + - - Field number for the "start" field. + + + Container for a set of custom options specified within a message, field etc. + + + + This type is publicly immutable, but internally mutable. It is only populated + by the descriptor parsing code - by the time any user code is able to see an instance, + it will be fully initialized. + + + If an option is requested using the incorrect method, an answer may still be returned: all + of the numeric types are represented internally using 64-bit integers, for example. It is up to + the caller to ensure that they make the appropriate method call for the option they're interested in. + Note that enum options are simply stored as integers, so the value should be fetched using + and then cast appropriately. + + + Repeated options are currently not supported. Asking for a single value of an option + which was actually repeated will return the last value, except for message types where + all the set values are merged together. + + - - Gets whether the "start" field is set + + + Retrieves a Boolean value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Clears the value of the "start" field + + + Retrieves a signed 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Field number for the "end" field. + + + Retrieves a signed 64-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Gets whether the "end" field is set + + + Retrieves an unsigned 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Clears the value of the "end" field + + + Retrieves an unsigned 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Field number for the "options" field. + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Gets whether the options field is set + + + Retrieves a signed 64-bit integer value for the specified option field, + assuming a fixed-length representation. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Clears the value of the options field + + + Retrieves a signed 32-bit integer value for the specified option field, + assuming a zigzag encoding. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - + - Range of reserved tag numbers. Reserved tag numbers may not be used by - fields or extension ranges in the same message. Reserved ranges may - not overlap. + Retrieves a signed 64-bit integer value for the specified option field, + assuming a zigzag encoding. + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Field number for the "start" field. + + + Retrieves an unsigned 32-bit integer value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - + - Inclusive. + Retrieves an unsigned 64-bit integer value for the specified option field. + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Gets whether the "start" field is set + + + Retrieves a 32-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Clears the value of the "start" field + + + Retrieves a 64-bit floating point value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Field number for the "end" field. + + + Retrieves a string value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - + - Exclusive. + Retrieves a bytes value for the specified option field. + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Gets whether the "end" field is set + + + Retrieves a message value for the specified option field. + + The field to fetch the value for. + The output variable to populate. + true if a suitable value for the field was found; false otherwise. - - Clears the value of the "end" field + + Holder for reflection information generated from google/protobuf/descriptor.proto - - Field number for the "uninterpreted_option" field. + + File descriptor for google/protobuf/descriptor.proto - + - The parser stores options it doesn't recognize here. See above. + The protocol compiler can output a FileDescriptorSet containing the .proto + files it parses. - + + Field number for the "file" field. + + - Describes a field within a message. + Describes a complete .proto file. - + + Field number for the "name" field. + + + + file name, relative to root of source tree + + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "package" field. + + + + e.g. "foo", "foo.bar", etc. + + + + Gets whether the "package" field is set + + + Clears the value of the "package" field + + + Field number for the "dependency" field. + + + + Names of files imported by this file. + + + + Field number for the "public_dependency" field. + + + + Indexes of the public imported files in the dependency list above. + + + + Field number for the "weak_dependency" field. + + + + Indexes of the weak imported files in the dependency list. + For Google-internal migration only. Do not use. + + + + Field number for the "message_type" field. + + + + All top-level definitions in this file. + + + + Field number for the "enum_type" field. + + + Field number for the "service" field. + + + Field number for the "extension" field. + + + Field number for the "options" field. + + + Field number for the "source_code_info" field. + + + + This field contains optional information about the original source code. + You may safely remove this entire field without harming runtime + functionality of the descriptors -- the information is needed only by + development tools. + + + + Field number for the "syntax" field. + + + + The syntax of the proto file. + The supported values are "proto2" and "proto3". + + + + Gets whether the "syntax" field is set + + + Clears the value of the "syntax" field + + + + Describes a message type. + + + + Field number for the "name" field. + + + Gets whether the "name" field is set + + + Clears the value of the "name" field + + + Field number for the "field" field. + + + Field number for the "extension" field. + + + Field number for the "nested_type" field. + + + Field number for the "enum_type" field. + + + Field number for the "extension_range" field. + + + Field number for the "oneof_decl" field. + + + Field number for the "options" field. + + + Field number for the "reserved_range" field. + + + Field number for the "reserved_name" field. + + + + Reserved field names, which may not be used by fields in the same message. + A given name may only be reserved once. + + + + Container for nested types declared in the DescriptorProto message type. + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "options" field. + + + + Range of reserved tag numbers. Reserved tag numbers may not be used by + fields or extension ranges in the same message. Reserved ranges may + not overlap. + + + + Field number for the "start" field. + + + + Inclusive. + + + + Gets whether the "start" field is set + + + Clears the value of the "start" field + + + Field number for the "end" field. + + + + Exclusive. + + + + Gets whether the "end" field is set + + + Clears the value of the "end" field + + + Field number for the "uninterpreted_option" field. + + + + The parser stores options it doesn't recognize here. See above. + + + + + Describes a field within a message. + + + Field number for the "name" field. @@ -3537,11 +4374,39 @@ Field number for the "options" field. - - Gets whether the options field is set + + Field number for the "proto3_optional" field. + + + + If true, this is a proto3 "optional". When a proto3 field is optional, it + tracks presence regardless of field type. + + When proto3_optional is true, this field must be belong to a oneof to + signal to old proto3 clients that presence is tracked for this field. This + oneof is known as a "synthetic" oneof, and this field must be its sole + member (each proto3 optional field gets its own synthetic oneof). Synthetic + oneofs exist in the descriptor only, and do not generate any API. Synthetic + oneofs must be ordered after all "real" oneofs. + + For message fields, proto3_optional doesn't create any semantic change, + since non-repeated message fields always track presence. However it still + indicates the semantic detail of whether the user wrote "optional" or not. + This can be useful for round-tripping the .proto file. For consistency we + give message fields a synthetic oneof also, even though it is not required + to track presence. This is especially important because the parser can't + tell if a field is a message or an enum, so it must always create a + synthetic oneof. + + Proto2 optional fields do not set this flag, because they already indicate + optional with `LABEL_OPTIONAL`. + + + + Gets whether the "proto3_optional" field is set - - Clears the value of the options field + + Clears the value of the "proto3_optional" field Container for nested types declared in the FieldDescriptorProto message type. @@ -3614,12 +4479,6 @@ Field number for the "options" field. - - Gets whether the options field is set - - - Clears the value of the options field - Describes an enum type. @@ -3640,12 +4499,6 @@ Field number for the "options" field. - - Gets whether the options field is set - - - Clears the value of the options field - Field number for the "reserved_range" field. @@ -3732,12 +4585,6 @@ Field number for the "options" field. - - Gets whether the options field is set - - - Clears the value of the options field - Describes a service. @@ -3758,12 +4605,6 @@ Field number for the "options" field. - - Gets whether the options field is set - - - Clears the value of the options field - Describes a method of a service. @@ -3805,12 +4646,6 @@ Field number for the "options" field. - - Gets whether the options field is set - - - Clears the value of the options field - Field number for the "client_streaming" field. @@ -3861,11 +4696,11 @@ - If set, all the classes from the .proto file are wrapped in a single - outer class with the given name. This applies to both Proto1 - (equivalent to the old "--one_java_file" option) and Proto2 (where - a .proto always translates to a single class, but you may want to - explicitly choose the class name). + Controls the name of the wrapper Java class generated for the .proto file. + That class will always contain the .proto file's getDescriptor() method as + well as any top-level extensions defined in the .proto file. + If java_multiple_files is disabled, then all the other classes from the + .proto file will be nested inside the single wrapper outer class. @@ -3879,10 +4714,10 @@ - If set true, then the Java code generator will generate a separate .java + If enabled, then the Java code generator will generate a separate .java file for each top-level message, enum, and service defined in the .proto - file. Thus, these types will *not* be nested inside the outer class - named by java_outer_classname. However, the outer class will still be + file. Thus, these types will *not* be nested inside the wrapper class + named by java_outer_classname. However, the wrapper class will still be generated to contain the file's getDescriptor() method as well as any top-level extensions defined in the file. @@ -5114,11 +5949,6 @@ If it starts being used more widely, we should look at performance more carefully. - - - Struct used to hold the keys for the fieldByNumber table. - - Internal class containing utility methods when working with descriptors. @@ -5197,6 +6027,24 @@ The (possibly empty) set of custom options for this enum. + + + The EnumOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value enum option for this descriptor + + + + + Gets a repeated value enum option for this descriptor + + Descriptor for a single enum value within an enum in a .proto file. @@ -5222,19 +6070,60 @@ The (possibly empty) set of custom options for this enum value. - + - Base class for field accessors. + The EnumValueOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. - + - Descriptor for a field or extension within a message in a .proto file. + Gets a single value enum value option for this descriptor + + + + + Gets a repeated value enum value option for this descriptor + + + + + A collection to simplify retrieving the descriptors of extensions in a descriptor for a message + + + + + Returns a readonly list of all the extensions defined in this type in + the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in the order they were defined in the source .proto file + + + + + Returns a readonly list of all the extensions define in this type that extend + the provided descriptor type in accending field order + + + + + Base class for field accessors. + + + + + Descriptor for a field or extension within a message in a .proto file. - Get the field's containing message type. + Get the field's containing message type, or null if it is a field defined at the top level of a file as an extension. @@ -5242,12 +6131,31 @@ Returns the oneof containing this field, or null if it is not part of a oneof. + + + Returns the oneof containing this field if it's a "real" oneof, or null if either this + field is not part of a oneof, or the oneof is synthetic. + + The effective JSON name for this field. This is usually the lower-camel-cased form of the field name, but can be overridden using the json_name option in the .proto file. + + + Indicates whether this field supports presence, either implicitly (e.g. due to it being a message + type field) or explicitly via Has/Clear members. If this returns true, it is safe to call + and + on this field's accessor with a suitable message. + + + + + An extension identifier for this field, or null if this field isn't an extension. + + The brief name of the descriptor's target. @@ -5303,6 +6211,11 @@ Returns true if this field is a packed, repeated field; false otherwise. + + + Returns true if this field extends another message type; false otherwise. + + Returns the type of the field. @@ -5331,11 +6244,34 @@ For embedded message and group fields, returns the field's type. + + + For extension fields, returns the extended type + + The (possibly empty) set of custom options for this field. + + + The FieldOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value field option for this descriptor + + + + + Gets a repeated value field option for this descriptor + + Look up and cross-link all field types etc. @@ -5436,6 +6372,26 @@ The field type used for enum fields. + + + The syntax of a .proto file + + + + + Proto2 syntax + + + + + Proto3 syntax + + + + + An unknown declared syntax + + Describes a .proto file, including everything defined within. @@ -5459,6 +6415,11 @@ The descriptor in its protocol message representation. + + + The syntax of the file + + The file name. @@ -5485,6 +6446,14 @@ Unmodifiable list of top-level services declared in this file. + + + Unmodifiable list of top-level extensions declared in this file. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if this descriptor was generated using a version of protoc that did not fully + support extensions in C#. + + Unmodifiable list of this file's dependencies (imports). @@ -5550,6 +6519,18 @@ code is "external", but should not be called directly by end users. + + + Converts the given descriptor binary data into FileDescriptor objects. + Note: reflection using the returned FileDescriptors is not currently supported. + + The binary file descriptor proto data. Must not be null, and any + dependencies must come before the descriptor which depends on them. (If A depends on B, and B + depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible + with the order in which protoc provides descriptors to plugins. + The extension registry to use when parsing, or null if no extensions are required. + The file descriptors corresponding to . + Converts the given descriptor binary data into FileDescriptor objects. @@ -5589,6 +6570,24 @@ The (possibly empty) set of custom options for this file. + + + The FileOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value file option for this descriptor + + + + + Gets a repeated value file option for this descriptor + + Performs initialization for the given generic type argument. @@ -5625,6 +6624,11 @@ for fields in the message for message descriptors. + + + The extensions defined within this file/message descriptor + + Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order) @@ -5643,6 +6647,13 @@ The CLR types for enums within this file/message descriptor. + + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. + Each array parameter may be null, to indicate a lack of values. + The parameter order is designed to make it feasible to format the generated code readably. + + Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names. @@ -5650,6 +6661,11 @@ The parameter order is designed to make it feasible to format the generated code readably. + + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions. + + Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums. @@ -5691,11 +6707,6 @@ this clears the list.) - - - Indicates whether the field in the specified message is set. For proto3 fields, this throws an - - Fetches the field value. For repeated values, this will be an @@ -5703,6 +6714,12 @@ implementation. + + + Indicates whether the field in the specified message is set. + For proto3 fields that aren't explicitly optional, this throws an + + Mutator for single "simple" fields only. @@ -5791,6 +6808,14 @@ A collection of fields, which can be retrieved by name or field number. + + + An unmodifiable list of extensions defined in this message's scope. + Note that some extensions may be incomplete (FieldDescriptor.Extension may be null) + if they are declared in a file generated using a version of protoc that did not fully + support extensions in C#. + + An unmodifiable list of this message type's nested types. @@ -5804,8 +6829,18 @@ An unmodifiable list of the "oneof" field collections in this message type. + All "real" oneofs (where returns false) + come before synthetic ones. + + + The number of real "oneof" descriptors in this message type. Every element in + with an index less than this will have a property value + of false; every element with an index greater than or equal to this will have a + property value of true. + + Finds a field by field name. @@ -5833,6 +6868,24 @@ The (possibly empty) set of custom options for this message. + + + The MessageOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value message option for this descriptor + + + + + Gets a repeated value message option for this descriptor + + Looks up and cross-links all fields and nested types. @@ -5918,6 +6971,24 @@ The (possibly empty) set of custom options for this method. + + + The MethodOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value method option for this descriptor + + + + + Gets a repeated value method option for this descriptor + + The brief name of the descriptor's target. @@ -5973,6 +7044,12 @@ The fields within this oneof, in declaration order. + + + Returns true if this oneof is a synthetic oneof containing a proto3 optional field; + false otherwise. + + Gets an accessor for reflective access to the values associated with the oneof @@ -5997,6 +7074,24 @@ The (possibly empty) set of custom options for this oneof. + + + The OneofOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value oneof option for this descriptor + + + + + Gets a repeated value oneof option for this descriptor + + Specifies the original name (in the .proto file) of a named element, @@ -6075,6 +7170,12 @@ The method to create a delegate for, which must be declared in an IMessage implementation. + + + Creates a delegate which will execute the given method after casting the first argument to + the type that declares the method, and the second argument to the first parameter type of the method. + + Creates a reflection helper for the given type arguments. Currently these are created on demand @@ -6108,13 +7209,31 @@ Finds a method by name. The unqualified name of the method (e.g. "Foo"). - The method's decsriptor, or null if not found. + The method's descriptor, or null if not found. The (possibly empty) set of custom options for this service. + + + The ServiceOptions, defined in descriptor.proto. + If the options message is not present (i.e. there are no options), null is returned. + Custom options can be retrieved as extensions of the returned message. + NOTE: A defensive copy is created each time this property is retrieved. + + + + + Gets a single value service option for this descriptor + + + + + Gets a repeated value service option for this descriptor + + Accessor for single fields. @@ -6191,6 +7310,52 @@ Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls. + + + Abstraction for reading from a stream / read only sequence. + Parsing from the buffer is a loop of reading from current buffer / refreshing the buffer once done. + + + + + Initialize an instance with a coded input stream. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Initialize an instance with a read only sequence. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. + + + + + Sets currentLimit to (current position) + byteLimit. This is called + when descending into a length-delimited embedded message. The previous + limit is returned. + + The old limit. + + + + Discards the current limit, returning the previous limit. + + + + + Returns whether or not all the data before the limit has been read. + + + + + + Returns true if the stream has reached the end of the input. This is the + case if either the end of the underlying input source has been reached or + the stream has reached a limit created using PushLimit. + + Represents a single field in an UnknownFieldSet. @@ -6220,13 +7385,13 @@ Get the hash code of the unknown field. - + Serializes the field, including the field number, and writes it to The unknown field number. - The CodedOutputStream to write to. + The write context to write to. @@ -6245,7 +7410,7 @@ Returns a new list containing all of the given specified values from both the and lists. - If is null and is empty, + If is null and is null or empty, null is returned. Otherwise, either a new list is created (if is null) or the elements of are added to . @@ -6303,6 +7468,11 @@ Serializes the set and writes it to . + + + Serializes the set and writes it to . + + Gets the number of bytes required to encode this set. @@ -6324,12 +7494,12 @@ is replaced. - + - Parse a single field from and merge it + Parse a single field from and merge it into this set. - The coded input stream containing the field + The parse context from which to read the field false if the tag is an "end group" tag, true otherwise @@ -6343,6 +7513,17 @@ The coded input stream containing the field The merged UnknownFieldSet + + + Create a new UnknownFieldSet if unknownFields is null. + Parse a single field from and merge it + into unknownFields. If is configured to discard unknown fields, + will be returned as-is and the field will be skipped. + + The UnknownFieldSet which need to be merged + The parse context from which to read the field + The merged UnknownFieldSet + Merges the fields from into this set. @@ -6369,6 +7550,45 @@ Clone an unknown field set from . + + + Provides a number of unsafe byte operations to be used by advanced applications with high performance + requirements. These methods are referred to as "unsafe" due to the fact that they potentially expose + the backing buffer of a to the application. + + + + The methods in this class should only be called if it is guaranteed that the buffer backing the + will never change! Mutation of a can lead to unexpected + and undesirable consequences in your application, and will likely be difficult to debug. Proceed with caution! + + + This can have a number of significant side affects that have spooky-action-at-a-distance-like behavior. In + particular, if the bytes value changes out from under a Protocol Buffer: + + + + serialization may throw + + + serialization may succeed but the wrong bytes may be written out + + + objects that are normally immutable (such as ByteString) are no longer immutable + + + hashCode may be incorrect + + + + + + + Constructs a new from the given bytes. The bytes are not copied, + and must not be modified while the is in use. + This API is experimental and subject to change. + + Holder for reflection information generated from google/protobuf/any.proto @@ -6415,10 +7635,13 @@ Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} - any, err := ptypes.MarshalAny(foo) + any, err := anypb.New(foo) + if err != nil { + ... + } ... foo := &pb.Foo{} - if err := ptypes.UnmarshalAny(any, foo); err != nil { + if err := any.UnmarshalTo(foo); err != nil { ... } @@ -6762,7 +7985,7 @@ The mixin construct implies that all methods in `AccessControl` are also declared with same name and request/response types in `Storage`. A documentation generator or annotation processor will - see the effective `Storage.GetAcl` method after inherting + see the effective `Storage.GetAcl` method after inheriting documentation and annotations as follows: service Storage { @@ -6841,7 +8064,7 @@ if (duration.seconds < 0 && duration.nanos > 0) { duration.seconds += 1; duration.nanos -= 1000000000; - } else if (durations.seconds > 0 && duration.nanos < 0) { + } else if (duration.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; } @@ -7226,33 +8449,653 @@ The implementation of any API method which has a FieldMask type field in the request should verify the included field paths, and return an - `INVALID_ARGUMENT` error if any path is duplicated or unmappable. + `INVALID_ARGUMENT` error if any path is unmappable. Field number for the "paths" field. - + + + The set of field mask paths. + + + + + Converts a field mask specified by paths to a string. + + + If the value is a normalized duration in the range described in field_mask.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Paths in the field mask + Determines the handling of non-normalized values + The represented field mask is invalid, and is false. + + + + Returns a string representation of this for diagnostic purposes. + + + Normally the returned value will be a JSON string value (including leading and trailing quotes) but + when the value is non-normalized or out of range, a JSON object representation will be returned + instead, including a warning. This is to avoid exceptions being thrown when trying to + diagnose problems - the regular JSON formatter will still throw an exception for non-normalized + values. + + A string representation of this value. + + + + Parses from a string to a FieldMask. + + + + + Parses from a string to a FieldMask and validates all field paths. + + The type to validate the field paths against. + + + + Constructs a FieldMask for a list of field paths in a certain type. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Constructs a FieldMask from the passed field numbers. + + The type to validate the field paths against. + + + + Checks whether the given path is valid for a field mask. + + true if the path is valid; false otherwise + + + + Checks whether paths in a given fields mask are valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Checks whether a given field path is valid. + + The type to validate the field paths against. + + + + Checks whether paths in a given fields mask are valid. + + + + + Converts this FieldMask to its canonical form. In the canonical form of a + FieldMask, all field paths are sorted alphabetically and redundant field + paths are removed. + + + + + Creates a union of two or more FieldMasks. + + + + + Calculates the intersection of two FieldMasks. + + + + + Merges fields specified by this FieldMask from one message to another with the + specified merge options. + + + + + Merges fields specified by this FieldMask from one message to another. + + + + + Options to customize merging behavior. + + + + + Whether to replace message fields(i.e., discard existing content in + destination message fields) when merging. + Default behavior is to merge the source message field into the + destination message field. + + + + + Whether to replace repeated fields (i.e., discard existing content in + destination repeated fields) when merging. + Default behavior is to append elements from source repeated field to the + destination repeated field. + + + + + Whether to replace primitive (non-repeated and non-message) fields in + destination message fields with the source primitive fields (i.e., if the + field is set in the source, the value is copied to the + destination; if the field is unset in the source, the field is cleared + from the destination) when merging. + + Default behavior is to always set the value of the source primitive + field to the destination primitive field, and if the source field is + unset, the default value of the source field is copied to the + destination. + + + + Holder for reflection information generated from google/protobuf/source_context.proto + + + File descriptor for google/protobuf/source_context.proto + + + + `SourceContext` represents information about the source of a + protobuf element, like the file in which it is defined. + + + + Field number for the "file_name" field. + + + + The path-qualified name of the .proto file that contained the associated + protobuf element. For example: `"google/protobuf/source_context.proto"`. + + + + Holder for reflection information generated from google/protobuf/struct.proto + + + File descriptor for google/protobuf/struct.proto + + + + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + + + + Null value. + + + + + `Struct` represents a structured data value, consisting of fields + which map to dynamically typed values. In some languages, `Struct` + might be supported by a native representation. For example, in + scripting languages like JS a struct is represented as an + object. The details of that representation are described together + with the proto support for the language. + + The JSON representation for `Struct` is JSON object. + + + + Field number for the "fields" field. + + + + Unordered map of dynamically typed values. + + + + + `Value` represents a dynamically typed value which can be either + null, a number, a string, a boolean, a recursive struct value, or a + list of values. A producer of value is expected to set one of that + variants, absence of any variant indicates an error. + + The JSON representation for `Value` is JSON value. + + + + Field number for the "null_value" field. + + + + Represents a null value. + + + + Field number for the "number_value" field. + + + + Represents a double value. + + + + Field number for the "string_value" field. + + + + Represents a string value. + + + + Field number for the "bool_value" field. + + + + Represents a boolean value. + + + + Field number for the "struct_value" field. + + + + Represents a structured value. + + + + Field number for the "list_value" field. + + + + Represents a repeated `Value`. + + + + Enum of possible cases for the "kind" oneof. + + + + Convenience method to create a Value message with a string value. + + Value to set for the StringValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a number value. + + Value to set for the NumberValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a Boolean value. + + Value to set for the BoolValue property. + A newly-created Value message with the given value. + + + + Convenience method to create a Value message with a null initial value. + + A newly-created Value message a null initial value. + + + + Convenience method to create a Value message with an initial list of values. + + The values provided are not cloned; the references are copied directly. + A newly-created Value message an initial list value. + + + + Convenience method to create a Value message with an initial struct value + + The value provided is not cloned; the reference is copied directly. + A newly-created Value message an initial struct value. + + + + `ListValue` is a wrapper around a repeated field of values. + + The JSON representation for `ListValue` is JSON array. + + + + Field number for the "values" field. + + + + Repeated field of dynamically typed values. + + + + + Extension methods on BCL time-related types, converting to protobuf types. + + + + + Converts the given to a . + + The date and time to convert to a timestamp. + The value has a other than Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts the given to a . + + The time span to convert. + The converted duration. + + + Holder for reflection information generated from google/protobuf/timestamp.proto + + + File descriptor for google/protobuf/timestamp.proto + + + + A Timestamp represents a point in time independent of any time zone or local + calendar, encoded as a count of seconds and fractions of seconds at + nanosecond resolution. The count is relative to an epoch at UTC midnight on + January 1, 1970, in the proleptic Gregorian calendar which extends the + Gregorian calendar backwards to year one. + + All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + second table is needed for interpretation, using a [24-hour linear + smear](https://developers.google.com/time/smear). + + The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + restricting to that range, we ensure that we can convert to and from [RFC + 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + + # Examples + + Example 1: Compute Timestamp from POSIX `time()`. + + Timestamp timestamp; + timestamp.set_seconds(time(NULL)); + timestamp.set_nanos(0); + + Example 2: Compute Timestamp from POSIX `gettimeofday()`. + + struct timeval tv; + gettimeofday(&tv, NULL); + + Timestamp timestamp; + timestamp.set_seconds(tv.tv_sec); + timestamp.set_nanos(tv.tv_usec * 1000); + + Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + + FILETIME ft; + GetSystemTimeAsFileTime(&ft); + UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + + // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + Timestamp timestamp; + timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + + Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + + long millis = System.currentTimeMillis(); + + Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); + + Example 5: Compute Timestamp from Java `Instant.now()`. + + Instant now = Instant.now(); + + Timestamp timestamp = + Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + .setNanos(now.getNano()).build(); + + Example 6: Compute Timestamp from current time in Python. + + timestamp = Timestamp() + timestamp.GetCurrentTime() + + # JSON Mapping + + In JSON format, the Timestamp type is encoded as a string in the + [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + where {year} is always expressed using four digits while {month}, {day}, + {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + is required. A proto3 JSON serializer should always use UTC (as indicated by + "Z") when printing the Timestamp type and a proto3 JSON parser should be + able to accept both UTC and other timezones (as indicated by an offset). + + For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + 01:30 UTC on January 15, 2017. + + In JavaScript, one can convert a Date object to this format using the + standard + [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + method. In Python, a standard `datetime.datetime` object can be converted + to this format using + [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + the Joda Time's [`ISODateTimeFormat.dateTime()`]( + http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D + ) to obtain a formatter capable of generating timestamps in this format. + + + + Field number for the "seconds" field. + + + + Represents seconds of UTC time since Unix epoch + 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + 9999-12-31T23:59:59Z inclusive. + + + + Field number for the "nanos" field. + + + + Non-negative fractions of a second at nanosecond resolution. Negative + second values with fractions must still have non-negative nanos values + that count forward in time. Must be from 0 to 999,999,999 + inclusive. + + + + + Returns the difference between one and another, as a . + + The timestamp to subtract from. Must not be null. + The timestamp to subtract. Must not be null. + The difference between the two specified timestamps. + + + + Adds a to a , to obtain another Timestamp. + + The timestamp to add the duration to. Must not be null. + The duration to add. Must not be null. + The result of adding the duration to the timestamp. + + + + Subtracts a from a , to obtain another Timestamp. + + The timestamp to subtract the duration from. Must not be null. + The duration to subtract. + The result of subtracting the duration from the timestamp. + + + + Converts this timestamp into a . + + + The resulting DateTime will always have a Kind of Utc. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTime. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts this timestamp into a . + + + The resulting DateTimeOffset will always have an Offset of zero. + If the timestamp is not a precise number of ticks, it will be truncated towards the start + of time. For example, a timestamp with a value of 99 will result in a + value precisely on a second. + + This timestamp as a DateTimeOffset. + The timestamp contains invalid values; either it is + incorrectly normalized or is outside the valid range. + + + + Converts the specified to a . + + + The Kind of is not DateTimeKind.Utc. + The converted timestamp. + + + + Converts the given to a + + The offset is taken into consideration when converting the value (so the same instant in time + is represented) but is not a separate part of the resulting value. In other words, there is no + roundtrip operation to retrieve the original DateTimeOffset. + The date and time (with UTC offset) to convert to a timestamp. + The converted timestamp. + + + + Converts a timestamp specified in seconds/nanoseconds to a string. + + + If the value is a normalized duration in the range described in timestamp.proto, + is ignored. Otherwise, if the parameter is true, + a JSON object with a warning is returned; if it is false, an is thrown. + + Seconds portion of the duration. + Nanoseconds portion of the duration. + Determines the handling of non-normalized values + The represented duration is invalid, and is false. + + + + Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + Timestamp to compare + an integer indicating whether this timestamp precedes or follows the other + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + + + Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a precedes b + + + + Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if a follows b + + - The set of field mask paths. + Returns whether two timestamps are equivalent + + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. + + + + true if the two timestamps refer to the same nanosecond - + - Converts a field mask specified by paths to a string. + Returns whether two timestamps differ - If the value is a normalized duration in the range described in field_mask.proto, - is ignored. Otherwise, if the parameter is true, - a JSON object with a warning is returned; if it is false, an is thrown. + Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. - Paths in the field mask - Determines the handling of non-normalized values - The represented field mask is invalid, and is false. + + + true if the two timestamps differ - + - Returns a string representation of this for diagnostic purposes. + Returns a string representation of this for diagnostic purposes. Normally the returned value will be a JSON string value (including leading and trailing quotes) but @@ -7263,1214 +9106,1030 @@ A string representation of this value. - - - Parses from a string to a FieldMask. - + + Holder for reflection information generated from google/protobuf/type.proto - - - Parses from a string to a FieldMask and validates all field paths. - - The type to validate the field paths against. + + File descriptor for google/protobuf/type.proto - + - Constructs a FieldMask for a list of field paths in a certain type. + The syntax in which a protocol buffer element is defined. - The type to validate the field paths against. - + - Constructs a FieldMask from the passed field numbers. + Syntax `proto2`. - The type to validate the field paths against. - + - Constructs a FieldMask from the passed field numbers. + Syntax `proto3`. - The type to validate the field paths against. - + - Checks whether the given path is valid for a field mask. + A protocol buffer message type. - true if the path is valid; false otherwise - + + Field number for the "name" field. + + - Checks whether paths in a given fields mask are valid. + The fully qualified message name. - The type to validate the field paths against. - + + Field number for the "fields" field. + + - Checks whether paths in a given fields mask are valid. + The list of fields. - + + Field number for the "oneofs" field. + + - Checks whether a given field path is valid. + The list of types appearing in `oneof` definitions in this type. - The type to validate the field paths against. - + + Field number for the "options" field. + + - Checks whether paths in a given fields mask are valid. + The protocol buffer options. - + + Field number for the "source_context" field. + + - Converts this FieldMask to its canonical form. In the canonical form of a - FieldMask, all field paths are sorted alphabetically and redundant field - paths are removed. + The source context. - + + Field number for the "syntax" field. + + - Creates a union of two or more FieldMasks. + The source syntax. - + - Calculates the intersection of two FieldMasks. + A single field of a message type. - + + Field number for the "kind" field. + + - Merges fields specified by this FieldMask from one message to another with the - specified merge options. + The field type. - + + Field number for the "cardinality" field. + + - Merges fields specified by this FieldMask from one message to another. + The field cardinality. - + + Field number for the "number" field. + + - Options to customize merging behavior. + The field number. - + + Field number for the "name" field. + + - Whether to replace message fields(i.e., discard existing content in - destination message fields) when merging. - Default behavior is to merge the source message field into the - destination message field. + The field name. - + + Field number for the "type_url" field. + + - Whether to replace repeated fields (i.e., discard existing content in - destination repeated fields) when merging. - Default behavior is to append elements from source repeated field to the - destination repeated field. + The field type URL, without the scheme, for message or enumeration + types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. - - - Whether to replace primitive (non-repeated and non-message) fields in - destination message fields with the source primitive fields (i.e., if the - field is set in the source, the value is copied to the - destination; if the field is unset in the source, the field is cleared - from the destination) when merging. - - Default behavior is to always set the value of the source primitive - field to the destination primitive field, and if the source field is - unset, the default value of the source field is copied to the - destination. - + + Field number for the "oneof_index" field. - - Holder for reflection information generated from google/protobuf/source_context.proto + + + The index of the field type in `Type.oneofs`, for message or enumeration + types. The first type has index 1; zero means the type is not in the list. + - - File descriptor for google/protobuf/source_context.proto + + Field number for the "packed" field. - + - `SourceContext` represents information about the source of a - protobuf element, like the file in which it is defined. + Whether to use alternative packed wire representation. - - Field number for the "file_name" field. + + Field number for the "options" field. - + - The path-qualified name of the .proto file that contained the associated - protobuf element. For example: `"google/protobuf/source_context.proto"`. + The protocol buffer options. - - Holder for reflection information generated from google/protobuf/struct.proto + + Field number for the "json_name" field. - - File descriptor for google/protobuf/struct.proto + + + The field JSON name. + - - - `NullValue` is a singleton enumeration to represent the null value for the - `Value` type union. - - The JSON representation for `NullValue` is JSON `null`. - + + Field number for the "default_value" field. - + - Null value. + The string value of the default value of this field. Proto2 syntax only. - - - `Struct` represents a structured data value, consisting of fields - which map to dynamically typed values. In some languages, `Struct` - might be supported by a native representation. For example, in - scripting languages like JS a struct is represented as an - object. The details of that representation are described together - with the proto support for the language. - - The JSON representation for `Struct` is JSON object. - - - - Field number for the "fields" field. + + Container for nested types declared in the Field message type. - + - Unordered map of dynamically typed values. + Basic field types. - - - `Value` represents a dynamically typed value which can be either - null, a number, a string, a boolean, a recursive struct value, or a - list of values. A producer of value is expected to set one of that - variants, absence of any variant indicates an error. - - The JSON representation for `Value` is JSON value. - - - - Field number for the "null_value" field. + + + Field type unknown. + - + - Represents a null value. + Field type double. - - Field number for the "number_value" field. + + + Field type float. + - + - Represents a double value. + Field type int64. - - Field number for the "string_value" field. + + + Field type uint64. + - + - Represents a string value. + Field type int32. - - Field number for the "bool_value" field. + + + Field type fixed64. + - + - Represents a boolean value. + Field type fixed32. - - Field number for the "struct_value" field. + + + Field type bool. + - + - Represents a structured value. + Field type string. - - Field number for the "list_value" field. + + + Field type group. Proto2 syntax only, and deprecated. + - + - Represents a repeated `Value`. + Field type message. - - Enum of possible cases for the "kind" oneof. + + + Field type bytes. + - + - Convenience method to create a Value message with a string value. + Field type uint32. - Value to set for the StringValue property. - A newly-created Value message with the given value. - + - Convenience method to create a Value message with a number value. + Field type enum. - Value to set for the NumberValue property. - A newly-created Value message with the given value. - + - Convenience method to create a Value message with a Boolean value. + Field type sfixed32. - Value to set for the BoolValue property. - A newly-created Value message with the given value. - + - Convenience method to create a Value message with a null initial value. + Field type sfixed64. - A newly-created Value message a null initial value. - + - Convenience method to create a Value message with an initial list of values. + Field type sint32. - The values provided are not cloned; the references are copied directly. - A newly-created Value message an initial list value. - + - Convenience method to create a Value message with an initial struct value + Field type sint64. - The value provided is not cloned; the reference is copied directly. - A newly-created Value message an initial struct value. - - - `ListValue` is a wrapper around a repeated field of values. - - The JSON representation for `ListValue` is JSON array. - + + + Whether a field is optional, required, or repeated. + - - Field number for the "values" field. + + + For fields with unknown cardinality. + - + - Repeated field of dynamically typed values. + For optional fields. - + - Extension methods on BCL time-related types, converting to protobuf types. + For required fields. Proto2 syntax only. - + - Converts the given to a . + For repeated fields. - The date and time to convert to a timestamp. - The value has a other than Utc. - The converted timestamp. - + - Converts the given to a + Enum type definition. - The offset is taken into consideration when converting the value (so the same instant in time - is represented) but is not a separate part of the resulting value. In other words, there is no - roundtrip operation to retrieve the original DateTimeOffset. - The date and time (with UTC offset) to convert to a timestamp. - The converted timestamp. - + + Field number for the "name" field. + + - Converts the given to a . + Enum type name. - The time span to convert. - The converted duration. - - Holder for reflection information generated from google/protobuf/timestamp.proto + + Field number for the "enumvalue" field. - - File descriptor for google/protobuf/timestamp.proto + + + Enum value definitions. + - - - A Timestamp represents a point in time independent of any time zone or local - calendar, encoded as a count of seconds and fractions of seconds at - nanosecond resolution. The count is relative to an epoch at UTC midnight on - January 1, 1970, in the proleptic Gregorian calendar which extends the - Gregorian calendar backwards to year one. - - All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - second table is needed for interpretation, using a [24-hour linear - smear](https://developers.google.com/time/smear). - - The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - restricting to that range, we ensure that we can convert to and from [RFC - 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - - # Examples - - Example 1: Compute Timestamp from POSIX `time()`. - - Timestamp timestamp; - timestamp.set_seconds(time(NULL)); - timestamp.set_nanos(0); - - Example 2: Compute Timestamp from POSIX `gettimeofday()`. - - struct timeval tv; - gettimeofday(&tv, NULL); - - Timestamp timestamp; - timestamp.set_seconds(tv.tv_sec); - timestamp.set_nanos(tv.tv_usec * 1000); - - Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - - FILETIME ft; - GetSystemTimeAsFileTime(&ft); - UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - - // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - Timestamp timestamp; - timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - - Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - - long millis = System.currentTimeMillis(); - - Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - .setNanos((int) ((millis % 1000) * 1000000)).build(); - - Example 5: Compute Timestamp from current time in Python. - - timestamp = Timestamp() - timestamp.GetCurrentTime() - - # JSON Mapping - - In JSON format, the Timestamp type is encoded as a string in the - [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" - where {year} is always expressed using four digits while {month}, {day}, - {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional - seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - is required. A proto3 JSON serializer should always use UTC (as indicated by - "Z") when printing the Timestamp type and a proto3 JSON parser should be - able to accept both UTC and other timezones (as indicated by an offset). - - For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - 01:30 UTC on January 15, 2017. - - In JavaScript, one can convert a Date object to this format using the - standard - [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - method. In Python, a standard `datetime.datetime` object can be converted - to this format using - [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - the Joda Time's [`ISODateTimeFormat.dateTime()`]( - http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D - ) to obtain a formatter capable of generating timestamps in this format. - + + Field number for the "options" field. - - Field number for the "seconds" field. + + + Protocol buffer options. + - + + Field number for the "source_context" field. + + - Represents seconds of UTC time since Unix epoch - 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - 9999-12-31T23:59:59Z inclusive. + The source context. - - Field number for the "nanos" field. + + Field number for the "syntax" field. - + - Non-negative fractions of a second at nanosecond resolution. Negative - second values with fractions must still have non-negative nanos values - that count forward in time. Must be from 0 to 999,999,999 - inclusive. + The source syntax. - + - Returns the difference between one and another, as a . + Enum value definition. - The timestamp to subtract from. Must not be null. - The timestamp to subtract. Must not be null. - The difference between the two specified timestamps. - + + Field number for the "name" field. + + - Adds a to a , to obtain another Timestamp. + Enum value name. - The timestamp to add the duration to. Must not be null. - The duration to add. Must not be null. - The result of adding the duration to the timestamp. - + + Field number for the "number" field. + + - Subtracts a from a , to obtain another Timestamp. + Enum value number. - The timestamp to subtract the duration from. Must not be null. - The duration to subtract. - The result of subtracting the duration from the timestamp. - + + Field number for the "options" field. + + - Converts this timestamp into a . + Protocol buffer options. - - The resulting DateTime will always have a Kind of Utc. - If the timestamp is not a precise number of ticks, it will be truncated towards the start - of time. For example, a timestamp with a value of 99 will result in a - value precisely on a second. - - This timestamp as a DateTime. - The timestamp contains invalid values; either it is - incorrectly normalized or is outside the valid range. - + - Converts this timestamp into a . + A protocol buffer option, which can be attached to a message, field, + enumeration, etc. - - The resulting DateTimeOffset will always have an Offset of zero. - If the timestamp is not a precise number of ticks, it will be truncated towards the start - of time. For example, a timestamp with a value of 99 will result in a - value precisely on a second. - - This timestamp as a DateTimeOffset. - The timestamp contains invalid values; either it is - incorrectly normalized or is outside the valid range. - + + Field number for the "name" field. + + - Converts the specified to a . + The option's name. For protobuf built-in options (options defined in + descriptor.proto), this is the short name. For example, `"map_entry"`. + For custom options, it should be the fully-qualified name. For example, + `"google.api.http"`. - - The Kind of is not DateTimeKind.Utc. - The converted timestamp. - + + Field number for the "value" field. + + - Converts the given to a + The option's value packed in an Any message. If the value is a primitive, + the corresponding wrapper type defined in google/protobuf/wrappers.proto + should be used. If the value is an enum, it should be stored as an int32 + value using the google.protobuf.Int32Value type. - The offset is taken into consideration when converting the value (so the same instant in time - is represented) but is not a separate part of the resulting value. In other words, there is no - roundtrip operation to retrieve the original DateTimeOffset. - The date and time (with UTC offset) to convert to a timestamp. - The converted timestamp. - + + Holder for reflection information generated from google/protobuf/wrappers.proto + + + File descriptor for google/protobuf/wrappers.proto + + - Converts a timestamp specified in seconds/nanoseconds to a string. + Field number for the single "value" field in all wrapper types. - - If the value is a normalized duration in the range described in timestamp.proto, - is ignored. Otherwise, if the parameter is true, - a JSON object with a warning is returned; if it is false, an is thrown. - - Seconds portion of the duration. - Nanoseconds portion of the duration. - Determines the handling of non-normalized values - The represented duration is invalid, and is false. - + + + Wrapper message for `double`. + + The JSON representation for `DoubleValue` is JSON number. + + + + Field number for the "value" field. + + - Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise + The double value. - - Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. - - Timestamp to compare - an integer indicating whether this timestamp precedes or follows the other - + + + Wrapper message for `float`. + + The JSON representation for `FloatValue` is JSON number. + + + + Field number for the "value" field. + + - Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + The float value. - - Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. - - - - true if a precedes b - + + + Wrapper message for `int64`. + + The JSON representation for `Int64Value` is JSON string. + + + + Field number for the "value" field. + + - Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + The int64 value. - - Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. - - - - true if a follows b - + + + Wrapper message for `uint64`. + + The JSON representation for `UInt64Value` is JSON string. + + + + Field number for the "value" field. + + - Compares two timestamps and returns whether the first is less than (chronologically precedes) the second + The uint64 value. - - Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. - - - - true if a precedes b - + + + Wrapper message for `int32`. + + The JSON representation for `Int32Value` is JSON number. + + + + Field number for the "value" field. + + - Compares two timestamps and returns whether the first is greater than (chronologically follows) the second + The int32 value. - - Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. - - - - true if a follows b - + + + Wrapper message for `uint32`. + + The JSON representation for `UInt32Value` is JSON number. + + + + Field number for the "value" field. + + - Returns whether two timestamps are equivalent + The uint32 value. - - Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. - - - - true if the two timestamps refer to the same nanosecond - + + + Wrapper message for `bool`. + + The JSON representation for `BoolValue` is JSON `true` and `false`. + + + + Field number for the "value" field. + + - Returns whether two timestamps differ + The bool value. - - Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results. - - - - true if the two timestamps differ - + + + Wrapper message for `string`. + + The JSON representation for `StringValue` is JSON string. + + + + Field number for the "value" field. + + - Returns a string representation of this for diagnostic purposes. + The string value. - - Normally the returned value will be a JSON string value (including leading and trailing quotes) but - when the value is non-normalized or out of range, a JSON object representation will be returned - instead, including a warning. This is to avoid exceptions being thrown when trying to - diagnose problems - the regular JSON formatter will still throw an exception for non-normalized - values. - - A string representation of this value. - - Holder for reflection information generated from google/protobuf/type.proto + + + Wrapper message for `bytes`. + + The JSON representation for `BytesValue` is JSON string. + - - File descriptor for google/protobuf/type.proto + + Field number for the "value" field. - + - The syntax in which a protocol buffer element is defined. + The bytes value. - + - Syntax `proto2`. + This class is used internally by the Protocol Buffer Library and generated + message implementations. It is public only for the sake of those generated + messages. Others should not use this class directly. + + This class contains constants and helper functions useful for dealing with + the Protocol Buffer wire format. + - + - Syntax `proto3`. + Wire types within protobuf encoding. - + - A protocol buffer message type. + Variable-length integer. - - Field number for the "name" field. - - + - The fully qualified message name. + A fixed-length 64-bit value. - - Field number for the "fields" field. - - + - The list of fields. + A length-delimited value, i.e. a length followed by that many bytes of data. - - Field number for the "oneofs" field. - - + - The list of types appearing in `oneof` definitions in this type. + A "start group" value - - Field number for the "options" field. - - + - The protocol buffer options. + An "end group" value - - Field number for the "source_context" field. - - + - The source context. + A fixed-length 32-bit value. - - Field number for the "syntax" field. - - + - The source syntax. + Given a tag value, determines the wire type (lower 3 bits). - + - A single field of a message type. + Given a tag value, determines the field number (the upper 29 bits). - - Field number for the "kind" field. - - + - The field type. + Makes a tag value given a field number and wire type. - - Field number for the "cardinality" field. - - + - The field cardinality. + Abstraction for writing to a steam / IBufferWriter - - Field number for the "number" field. - - + - The field number. + Initialize an instance with a coded output stream. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. - - Field number for the "name" field. - - + - The field name. + Initialize an instance with a buffer writer. + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. - - Field number for the "type_url" field. - - + - The field type URL, without the scheme, for message or enumeration - types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + Initialize an instance with a buffer represented by a single span (i.e. buffer cannot be refreshed) + This approach is faster than using a constructor because the instance to initialize is passed by reference + and we can write directly into it without copying. - - Field number for the "oneof_index" field. - - + - The index of the field type in `Type.oneofs`, for message or enumeration - types. The first type has index 1; zero means the type is not in the list. + Verifies that SpaceLeft returns zero. - - Field number for the "packed" field. - - + - Whether to use alternative packed wire representation. + If writing to a flat array, returns the space left in the array. Otherwise, + throws an InvalidOperationException. - - Field number for the "options" field. - - + - The protocol buffer options. + An opaque struct that represents the current serialization state and is passed along + as the serialization proceeds. + All the public methods are intended to be invoked only by the generated code, + users should never invoke them directly. - - Field number for the "json_name" field. - - + - The field JSON name. + Creates a WriteContext instance from CodedOutputStream. + WARNING: internally this copies the CodedOutputStream's state, so after done with the WriteContext, + the CodedOutputStream's state needs to be updated. - - Field number for the "default_value" field. + + + Writes a double field value, without a tag. + + The value to write - + - The string value of the default value of this field. Proto2 syntax only. + Writes a float field value, without a tag. + The value to write - - Container for nested types declared in the Field message type. + + + Writes a uint64 field value, without a tag. + + The value to write - + - Basic field types. + Writes an int64 field value, without a tag. + The value to write - + - Field type unknown. + Writes an int32 field value, without a tag. + The value to write - + - Field type double. + Writes a fixed64 field value, without a tag. + The value to write - + - Field type float. + Writes a fixed32 field value, without a tag. + The value to write - + - Field type int64. + Writes a bool field value, without a tag. + The value to write - + - Field type uint64. + Writes a string field value, without a tag. + The data is length-prefixed. + The value to write - + - Field type int32. + Writes a message, without a tag. + The data is length-prefixed. + The value to write - + - Field type fixed64. + Writes a group, without a tag, to the stream. + The value to write - + - Field type fixed32. + Write a byte string, without a tag, to the stream. + The data is length-prefixed. + The value to write - + - Field type bool. + Writes a uint32 value, without a tag. + The value to write - + - Field type string. + Writes an enum value, without a tag. + The value to write - + - Field type group. Proto2 syntax only, and deprecated. + Writes an sfixed32 value, without a tag. + The value to write. - + - Field type message. + Writes an sfixed64 value, without a tag. + The value to write - + - Field type bytes. + Writes an sint32 value, without a tag. + The value to write - + - Field type uint32. + Writes an sint64 value, without a tag. + The value to write - + - Field type enum. + Writes a length (in bytes) for length-delimited data. + + This method simply writes a rawint, but exists for clarity in calling code. + + Length value, in bytes. - + - Field type sfixed32. + Encodes and writes a tag. + The number of the field to write the tag for + The wire format type of the tag to write - + - Field type sfixed64. + Writes an already-encoded tag. + The encoded tag - + - Field type sint32. + Writes the given single-byte tag. + The encoded tag - + - Field type sint64. + Writes the given two-byte tag. + The first byte of the encoded tag + The second byte of the encoded tag - + - Whether a field is optional, required, or repeated. + Writes the given three-byte tag. + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag - + - For fields with unknown cardinality. + Writes the given four-byte tag. + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag - + - For optional fields. + Writes the given five-byte tag. + The first byte of the encoded tag + The second byte of the encoded tag + The third byte of the encoded tag + The fourth byte of the encoded tag + The fifth byte of the encoded tag - + - For required fields. Proto2 syntax only. + Primitives for encoding protobuf wire format. - + - For repeated fields. + Writes a double field value, without a tag, to the stream. - + - Enum type definition. + Writes a float field value, without a tag, to the stream. - - Field number for the "name" field. - - + - Enum type name. + Writes a uint64 field value, without a tag, to the stream. - - Field number for the "enumvalue" field. - - + - Enum value definitions. + Writes an int64 field value, without a tag, to the stream. - - Field number for the "options" field. - - + - Protocol buffer options. + Writes an int32 field value, without a tag, to the stream. - - Field number for the "source_context" field. - - + - The source context. + Writes a fixed64 field value, without a tag, to the stream. - - Field number for the "syntax" field. - - + - The source syntax. + Writes a fixed32 field value, without a tag, to the stream. - + - Enum value definition. + Writes a bool field value, without a tag, to the stream. - - Field number for the "name" field. - - + - Enum value name. + Writes a string field value, without a tag, to the stream. + The data is length-prefixed. - - Field number for the "number" field. - - + - Enum value number. + Given a QWORD which represents a buffer of 4 ASCII chars in machine-endian order, + narrows each WORD to a BYTE, then writes the 4-byte result to the output buffer + also in machine-endian order. - - Field number for the "options" field. - - + - Protocol buffer options. + Write a byte string, without a tag, to the stream. + The data is length-prefixed. - + - A protocol buffer option, which can be attached to a message, field, - enumeration, etc. + Writes a uint32 value, without a tag, to the stream. - - Field number for the "name" field. - - + - The option's name. For protobuf built-in options (options defined in - descriptor.proto), this is the short name. For example, `"map_entry"`. - For custom options, it should be the fully-qualified name. For example, - `"google.api.http"`. + Writes an enum value, without a tag, to the stream. - - Field number for the "value" field. - - + - The option's value packed in an Any message. If the value is a primitive, - the corresponding wrapper type defined in google/protobuf/wrappers.proto - should be used. If the value is an enum, it should be stored as an int32 - value using the google.protobuf.Int32Value type. + Writes an sfixed32 value, without a tag, to the stream. - - Holder for reflection information generated from google/protobuf/wrappers.proto - - - File descriptor for google/protobuf/wrappers.proto - - + - Field number for the single "value" field in all wrapper types. + Writes an sfixed64 value, without a tag, to the stream. - - - Wrapper message for `double`. - - The JSON representation for `DoubleValue` is JSON number. - - - - Field number for the "value" field. - - + - The double value. + Writes an sint32 value, without a tag, to the stream. - - - Wrapper message for `float`. - - The JSON representation for `FloatValue` is JSON number. - - - - Field number for the "value" field. - - + - The float value. + Writes an sint64 value, without a tag, to the stream. - - - Wrapper message for `int64`. - - The JSON representation for `Int64Value` is JSON string. - - - - Field number for the "value" field. - - + - The int64 value. + Writes a length (in bytes) for length-delimited data. + + This method simply writes a rawint, but exists for clarity in calling code. + - - - Wrapper message for `uint64`. - - The JSON representation for `UInt64Value` is JSON string. - - - - Field number for the "value" field. - - + - The uint64 value. + Writes a 32 bit value as a varint. The fast route is taken when + there's enough buffer space left to whizz through without checking + for each byte; otherwise, we resort to calling WriteRawByte each time. - - - Wrapper message for `int32`. - - The JSON representation for `Int32Value` is JSON number. - - - - Field number for the "value" field. - - + - The int32 value. + Writes out an array of bytes. - - - Wrapper message for `uint32`. - - The JSON representation for `UInt32Value` is JSON number. - - - - Field number for the "value" field. - - + - The uint32 value. + Writes out part of an array of bytes. - - - Wrapper message for `bool`. - - The JSON representation for `BoolValue` is JSON `true` and `false`. - - - - Field number for the "value" field. - - + - The bool value. + Writes out part of an array of bytes. - - - Wrapper message for `string`. - - The JSON representation for `StringValue` is JSON string. - - - - Field number for the "value" field. - - + - The string value. + Encodes and writes a tag. - - - Wrapper message for `bytes`. - - The JSON representation for `BytesValue` is JSON string. - - - - Field number for the "value" field. - - + - The bytes value. + Writes an already-encoded tag. - + - This class is used internally by the Protocol Buffer Library and generated - message implementations. It is public only for the sake of those generated - messages. Others should not use this class directly. - - This class contains constants and helper functions useful for dealing with - the Protocol Buffer wire format. - + Writes the given single-byte tag directly to the stream. - + - Wire types within protobuf encoding. + Writes the given two-byte tag directly to the stream. - + - Variable-length integer. + Writes the given three-byte tag directly to the stream. - + - A fixed-length 64-bit value. + Writes the given four-byte tag directly to the stream. - + - A length-delimited value, i.e. a length followed by that many bytes of data. + Writes the given five-byte tag directly to the stream. - + - A "start group" value + Encode a 32-bit value with ZigZag encoding. + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + - + - An "end group" value + Encode a 64-bit value with ZigZag encoding. + + ZigZag encodes signed integers into values that can be efficiently + encoded with varint. (Otherwise, negative values must be + sign-extended to 64 bits to be varint encoded, thus always taking + 10 bytes on the wire.) + - + - A fixed-length 32-bit value. + Writing messages / groups. - + - Given a tag value, determines the wire type (lower 3 bits). + Writes a message, without a tag. + The data is length-prefixed. - + - Given a tag value, determines the field number (the upper 29 bits). + Writes a group, without a tag. - + - Makes a tag value given a field number and wire type. + Writes a message, without a tag. + Message will be written without a length prefix. diff --git a/src/OutlookGoogleCalendarSync/lib/Grpc.Core.dll b/src/OutlookGoogleCalendarSync/lib/Grpc.Core.dll index 97e7fbf62f24e7d63e497db5256e11481158e5f4..0fcbdd7eaf568e4d84a2ec1d03b4600f973620d9 100644 GIT binary patch delta 1090 zcmexxTIR!PnF$>%X%&liPVDhvD$s4b)q0C@>n)~ONk+r%7E(+c$^!2{?YX-)L(6Ts zbC&aSCi@fH18kXGz4#6F3>X-=85!6N^^A=44BMBqGXXI(5VHU=>-Ht>Y%NvwSFf%R zY*BSR5NCRkq1V=v|a`xh*@j;cVNEzX4YsN&RDD zoWpvtHU7?I``I7Wqs$7F9_;Ot-g>=**)P!ah{_fXPsRR7|MDXt2Pb+wy7f)#@8z3k z?G$Doa@TLTs%q4BV%_%sMz$95^Ih%-ML7c)fWWoj;OyxenAigZc03AU+WGsa!?IA8 z+%FZ?dD8`$*@G3Jq6}$JQJ{KhVb9Hxdly{K-9B;E`t8lk?A(l;j0|E7j6mZUw@+tb zcV+|z&}~-sd=Tx;&aTF+@c#ZiyGJ$t$*TW7xk7oD`rF9~=X_kx79yuN;e2Cz{LbwY zx!7a4>ldG0z{uy|e))$F^Zs*-Y~xq$U9M+z+erFe$JVnYtx`G$ylk9WZ60mkc^MfQ zSs7TG7#XzQZdNfqI$hHYHdxe}SUXt1d&m^GCHckTCwzM4 zw{-m%HoR1r@v`3S(8Ra)UoE*xl63F8+E%u0`1}3vqo#U3m3@~VZ|C0p`OK?;?p+3l zoGdNtkMEn?F!N!B$X2ygJSlli3VaILZL@+EkHqY`!+d%hzeHJ8%-O3KpWDrg<4&-) zzIRixe|KS2z$eFys88nIM^}4p6xLp0eAq-^;#9`*2{+fByJOm}w&uqPJK8C3<|Uu;~SZ?jY_)Y#ozxEf3)5Xn1 z*?+(Pdg1HQ#YdkPN}5^~^t@WbCio%b%dAkm5nb_mQG~sUJt=3zNTW>MNN-`R3w~%7uP!=fjytPMf%3bGW zy$mY7o<-lb2iP*Xdhr|R889$#GcvFl>KPg78MH5HX98koAZ7t#*6mB$*;=aVxuOEL zRlWb5{vp@wCVP0V+U4u33s)a{+Bh*d9bF=(=B0ZChn;OA9)_P*5}AW#iOp^Jx3d%gD&c z%D~dZ$k19=P_Df1wPu>!hBaA61*%svZtyovv$@vJaXy(%B;q7{nu>6=c)#rNN4G!j zeINd`f7+U^JC!-pWSE!FU;3Y^LM?0YpEH?lVbgmSKdF!RS}Sb-M&;G@*4yRWQ-tha zw@2HnCbIWV*nOnph1yxRig1Y~T;|VMW|u3c{5|_$wfsrs-piq_{@l4!_Jlq!xf{`0 zG_#<<#CyfDPvT3X=7_V$esPXH&$xIu%WW4&%SwmoK7GZ4@n+W>+;=VWTimMdAcdOLf5e$dq2$NcVkEk4@NWib26rkFB2+YMr_C;b+#4Jx?Au zZPF|kGhhKP*wgW_rkBY24qIvg3m{VpkF31m?rhZ-+ikktYty9DZn+QI%nb4^PPKk|@loBPDW}w>{aC^n_cJc8pAq|X_pdj5cD$O>yzi9xw~vO2(xvL1zgi?- zX7@etxtE#4!66vHX<_|_*D{8uK4C}TA_Ib}9sIWjU~ pI51^2Fl90{VKQVhV>vlAVK!uBH8C(WHa9soVv~_)DYKGhifNppAB6w_ delta 83 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
7rCKmBC%7uHU4 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%0At!}IPZ;Fs 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 QRNwv0mHn={HT>@X2cpgzPyhe` diff --git a/src/OutlookGoogleCalendarSync/lib/Newtonsoft.Json.xml b/src/OutlookGoogleCalendarSync/lib/Newtonsoft.Json.xml index c1c32cd6..008e0ca2 100644 --- a/src/OutlookGoogleCalendarSync/lib/Newtonsoft.Json.xml +++ b/src/OutlookGoogleCalendarSync/lib/Newtonsoft.Json.xml @@ -1010,12 +1010,12 @@ - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . @@ -2553,6 +2553,8 @@ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is 128. @@ -3012,7 +3014,7 @@ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. - The default value is null. + The default value is 128. @@ -3102,7 +3104,7 @@ - Deserializes the JSON structure contained by the specified + Deserializes the JSON structure contained by the specified into an instance of the specified type. The containing the object. @@ -3328,7 +3330,7 @@ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . A null value means there is no maximum. - The default value is null. + The default value is 128. @@ -7090,6 +7092,27 @@
The comparison used to match property names while merging.
+ + + Specifies the settings used when selecting JSON. + + + + + Gets or sets a timeout that will be used when executing regular expressions. + + The timeout that will be used when executing regular expressions. + + + + Gets or sets a flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + + + A flag that indicates whether an error should be thrown if + no tokens are found when evaluating part of the expression. + +
Represents an abstract JSON token. @@ -7331,6 +7354,10 @@ Returns the indented JSON for this token. + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + The indented JSON for this token. @@ -7964,42 +7991,62 @@ - Selects a using a JPath expression. Selects the token that matches the object path. + Selects a using a JSONPath expression. Selects the token that matches the object path. - A that contains a JPath expression. + A that contains a JSONPath expression. A , or null. - Selects a using a JPath expression. Selects the token that matches the object path. + Selects a using a JSONPath expression. Selects the token that matches the object path. - A that contains a JPath expression. + A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. A . + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + The used to select tokens. + A . + - Selects a collection of elements using a JPath expression. + Selects a collection of elements using a JSONPath expression. - A that contains a JPath expression. + A that contains a JSONPath expression. An of that contains the selected elements. - Selects a collection of elements using a JPath expression. + Selects a collection of elements using a JSONPath expression. - A that contains a JPath expression. + A that contains a JSONPath expression. A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. An of that contains the selected elements. + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + The used to select tokens. + An of that contains the selected elements. + Returns the responsible for binding operations performed on this object. @@ -8629,6 +8676,10 @@ Returns a that represents this instance. + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + A that represents this instance. @@ -10695,6 +10746,50 @@ Optional arguments to pass to an initializing constructor of the JsonConverter. If null, the default constructor is used. + + + A kebab case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + Represents a trace writer that writes to memory. When the trace message limit is @@ -11168,5 +11263,43 @@ A write method has not been called. + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + + + Initializes a new instance of the class. + + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + diff --git a/src/OutlookGoogleCalendarSync/lib/NodaTime.dll b/src/OutlookGoogleCalendarSync/lib/NodaTime.dll index b3e55abc1c9d483e508af85a195f8102f9b2d1d1..e221df073b4ad174f1ec08207484eedf9c396d96 100644 GIT binary patch delta 64918 zcmd?S2V7KF9yUDZ+_{%BW9*1X6Hri5Me(%fgH{9pnPVeX3bFDEx z);OP-s8_~*JNb;E{I9?e;BR6UgQ1s;!QiShH@pSx4{XKLU}z*THyDgW;ZM;Y215qq z;Gg}SYwXcB54{hwz9fR#YsT2tP0jHx1~cgRH(d;mXq%pN37!0B7VIAMRJrrLCXZ#l z54}dt!bCXRd-7`L=LS1+*U)G3aTd^V4h08)&*8@nvf;JE%+T)x$>1iq21CNrvf(Q) zZt#aU*2!I1;K+X5-jB2Q?A)M5u1RP1HR=4{Pj=Zkxf3k@WjG|BBMqk~_XIuJ(A@Gg zp5qKDQwNsQ@94BPxQzR;JS`HB-`$fZxStqUVE95|(Cu>T-WPA2p1gLQkPzPQP8{>1CKd z#ad3&ljw|cnx15rq3XfQ#52s^(Mx(+W_G*kCq|6L@bmCBIO&>%A9WyzlMva#^-Mt{24W%Ro*CA^q0@NMhY_IxjU!bIb` z$({|E!8NQ?c&9F1JE3}*m_gAg`#%HZ_L6;W8+o79z~({a6o1zjvm$MHJK6GjzgGrG zFZLcF^~0~DB~0pIc^JQNgVYm(7hW6yqMOtc!VVS-e%+;4pBZ3$^%)2|bm;=dBhv3l zsY{r#r(jxs2WA%#y$5LK_OiE|WFhkTR|aTZ+RGs>9lCUt{s7tA?d7n}a!1RAU*fW0OND8G(L^M@ScCv*0z^@9(wUL>D8VCj4#4F z-t%ScYUp2)bqswZas$%9`w<$As-EN>-qU-!-fw0V8}q_#X(;UdFNw9&LaI8 z@ql~oJwF;YaOgY3hP*RSdiqtwyNgA78nJk~-vIvnU$lN5WFPIT4)UaCQm+>WAdFqR zT4Y4Mt3`SqA@>NCUv=*Xvwr;sNYA{geHki$)f}k|b}3 z3z_|s&hnG2X_KBG4jKw?JHPtgkYR(~`*`SQgX~EbxeIIfP|weX4D9^!*Z=(bgO7*4 zJJ4RxMULc+8$I*+(2qYE)cH>ze=zvt!9xeWYabjg+gfJ z*GuM{d1#m3ls)YId&|$U2IdOCUi$p=_w6&Dkw0Nt>)vuJyXp7xV@B<*=jAb)^n(1b zg20A#wb&ndL4J?Qf4+@{HkuMF_-=>O->-~ad{|ByigKO5Gr zI_t|ppAFNd50Jg>X9mc9%}mjH43t~>TVPZfYFIpvQUO*^%9Z!u8~Bm^>w)qU#tsh+ z7&`Ey&)yk0^pky(%+Z;w3pwP-_!Emm$gO>E8_qAkKY~k-oU?UAAcaX zGP4(Q2DB{g?mu{L0=5{Y{(N3L@&Pp(UxZx z|IIpyL>b>k`Mxr0<*1dX$Bg#{UAoz()AQ#nB|2{RCY{bq%qBYR@X2!h6&HxkJ2~7> z*hg#_@8_+;;D$|SWbR+;M+U<;>-6bwvx&|d_g%R`(FLMQr;hL!4$QwY-kjl?+bI)fo}%mbE5>bDMQ~{%9?e zi9E6-x-H1k)AI#6V^b25amAT}T(fI0k!fY8b>)M_MCOHz92HE)H%~+dgGRpZWp>U3 zk?#ZEK)x?Zm=xG-v0*sVN^+GyXcw&VXMt&)OOW?EZMhXc&O4x!CF=+!3v4ILiHuvB zp{aeua5;jZP9t&Qa8zJGKC&Hc<=wazZq$TPxAX3&*O}x6L!a_}c{Fimm zDOhy}p~OY4EBp^0r@FnX!9DfoC*cFexO#-upPP#h9OLQ{R_`fDKhwebyNAZ0lqu<) zhZ>q{4Ws1i>Ke}1Qd{thKiY!B^VG95lMQG)Zv8ML6qP`uN?vQ#&b`^Nn)oMFXZ07T z&p)R+tG_^f{yEiIbt=gy}FYEGd&VcPDTA!3wrPUA zY7mL`Z+6o~4=-a}rcp=|nhX2#FSedPZp9#@;QJY^%9)$GcX;E6H?3k|v~;*{-!O8~ zbDch({lpBjRgJuZp1fkv9qhE8b0fUkFi{SqQ6H2aUCy`yKZY5hyyj@?q)7`6*~-I~ z^To6LDKHn-?e-^n@ug(}(@mqFu^hc!5J&>pw%H(@v%NJ7wi`;*)*snvKoBzLjO#eV z6dsn;N)JzHk{*p$bD%b7s!!+F(%_;0bEhmB7&{>t=|>-dW?FAOMCmM<@zx0CSJCpy z7TIj0J`{VMVl!)wHg3ih8jAIbk=L|OVZ0lh8W;sp!ji_je9eZLrW*4^Ya1)yRZ|)N z6ZCKY4f+%QvH4KnH?2+MmwX2*^|8b?pFC{{_Oe_!pBp&E=pDAEgiXccTUYSx8KyQ~ zmYWmU^WMl{z}SFl$R2nvPuFWedfg#S^myJ|4ZG2?LQ$BU^M|;0M!73nI{6h zHx$9oZNa>I_b~DB0X?Kf;bAOaS|PG`uE$qZvp2I;Wbce^@ds2x6K_j0^4G?E!`7Ct zxp*9N1rPcAt~cfHAWB2P*nn!t9(XTL*K0s}-62i%0J_n!LQhzn^9Qerty+WAwR%@> z{0Cp;Z+l#Gxu7F>|K(6MrpL%@V3@y zrhG^Hz$UwEKJjvZ_UJ6xq+OgLH}E*bHC?~y0il1+uhpAX^h34i>2j-Pak@_PenO|{ z@tLKDx9uCI%RN}L=|=uInvQ1A>7x7_p%B5lM_IEB&Yy&+Nx94Rl;agHzcE{Wq1g=G z(MGp~<@sEfzvz~XY3sj{dpFypFEKQtMs!K~_wG;btT3;L$P>*rbKUn)-S_j0=2p>p zyxA5#1dV&^UM%!cD#Qpu7w!AGh+C$v)09>+mZYEiq(gsQ=a%L%Uw*0CR?eTI_|b%S zNqW&9(?2SlKqy4=C|be-*{|6)J-Cgjk}XL;AL%=+ieh=X%ZuRQD#l-ii>*F^;=;b` z{`g9W;ZOGPMe;nR%rtUWH1OXh$U!aNY#X+*gbi#Pmgnl)mU@+)d^Mx2wRfy=$ag;^(&FxRFl6Yf2PSjz>+`uA#)JQJ>YcTT2N9jq?f%R6(~IrXnQO0 z1ggo_$--e;O+GR4{4Cdc5v>CB$}~Ap0BQwcXIxYp=tab>OnU?HEiV9r3Myc zDO!Hor$?JEW7CR#h*}om3+nu+7+<26&KFcfvY?h^3Tk8yQCVfD1vR2XP^A%mWH&s< zk7PII6SZ@1vY>v*^y{I5+>;~7>!*cqcZr~`Mfj6yc8os^6E-gp)UISfZQ3fRojHQa zI78IpxXXgtII1;KT5M~w+ps`T(^80v8oy0YQ*#A1?kp&^%i<}Q1vz$f02xk>4ItGq z3yB(gGDT2P+XPjRE2zk`f;w@TsGql7Ygdz6hZCVM%4Mm`-n;yc{~sW zGW`%0$cZh$N%@zE|J6xtKxEBW)CS5sucQiU`gTEG-bYkIVWFT(t_bREWLwfKp466P zXBH8)c>M}No!%~}b^8T%s!&jCuL|nB$Y9c3GdUP`QOOCQ5dZWQf=tR1!nFN@T3$rd z*wNPnwJa)xs8Lfw$Z%inLS zg1VkXl>hnN2LySoNC>m95tX%hOnXw@HKo0lvP|}UY8R)Wv8~lLl+ig;pZd1lL<0(Q z)SUx9DA*^0fG@8x+gSUsP1N(Y4?Egy~7#DYeIMD;>M#l<8VRFtNyqb*b_PAcQYDK7> znz~w>Dxc}+ANd#CGjza|-|YYY2s8gVJ!@V2c}uxG+d4~|m@YrsF;~n@<4@C=XwKBXJ@og{29%V{@8=6mDYnkulu9r15ODBy6pqB<+^E?(LZcm3CqUgs4G|~$$OLllw{z9c}4`U zY@LMWEII%%HlP}^2ZDFbA3S>?jf0%TPA1cRp%~c~dICAMl#VvjNw1z3Y89s)CJyuq zdROL&i0lnTL~>hHBDE6MD6W)NF{y#~K(@Q7u|m07%MWs{K88#$$P(r2-GC++3O8DenU@(X9Cq&5^Ec_*27kHIOtSJDofL^T9~M+ z2#{8D` zN7b=QJxyvH?L4@xZlPArR~@6UxEm{OIj0L*?UJxuSxZovZs$WVnSc+jS+EdnHykq0KtI!B6}e8&iO-6px6NQ zz9tT*?=h~+cDgU5k!|6fKuN(sm%YKOj%Y?(P4WIFwOjlI+h^_@LQ9z^0=PF6;l~s? zqzO%to9k2L)ylV=Pe&7`4a}B5bem%A5Eij*bI??+EI`?(Cboo0*2yF7U|ycuK#t_B z8~sEJN8X}&c~I{h#&z4K%=obr+%8YOqi(Qex2h=23cVTNx^5gRQhZ4sepQ4TD<+F4%~C{{Kxo``a3YhEClm0dRn#Za@7 zd}uPQ1TLc1V&o92`(jb>?t4IDRs1sLYq1B!>0+h41<;O;;2kEOK+#mJV>^&-s|vJ{ zq)xm=#497)q~<`v?OlBv4X1_x^%3b`Lyz#=wHSkcVgpsRO{m@>Y&LFY{C(6rBkfTx z?7K4{In+>K|M;M6;ch26Z-mkAxvw1CXx%W3s@FCes{d&=+eq7RHp3cyeJ?mqZcwql zr(u2X9qpSuxsUQ4=Wn5bxs)ddR!Hrh`8X8sc1j$Bvl%9ky?=#JYkXABc00}aqX^vH zWz}T%2FK)wnCS#N!+9`y-L9HggZSN+nB-|C3=_rJ0NxfwS|CjSCTjmEkXvcnkI0^; zvFt489&mwWRCl4rarv)GAs6eRw&RW zn(9aAIHvkoAdNS*N6I3%vD9BaySICPhc^P6eb0Fd@n9eH>!Oe)PO9y!@)!kpc@^5 z^eI-o<}z3uj-kcgnCg?VsBho3j%d=9M>AHmc6x- zRX9TMr(<#(?UT#0t9{^Ec^PxN$oZeiwQJR?xV=Y_yqrDK)Yh2JWi0Hw*>bZFHb+3E zE%Rt&^IM9&dVRq2=_Sq^QwgMtjztvgv?QEIi^CVun*g~K~Xp{xmsmad5QA_Tg3MM14& zf8v3vl5o0eZ9ppA>)ky(?ATT)K9KQGTT-a9K2W|Ypdx9U76_c2c5Ie7kduXDeV|s` z+AIPweMAt-_f43;iKdSY^yyeM_rPWyIs*I z37(IOqP?L<^G6LflMQ6rN)twpIs0bN@VC$(7^8%B>?#*0H{UOo)7`Fd?ulOg;yTBW z<2__Yy@nh$trga1KX99Lo$~<*{iYJRUBw{7ez`=R#FQU6Zvx4fEAq$c4bD5FYY1M5 zcvW@{huVTleJo~7_dn29&i@%*1M<&NiXF(QJYSA(j1zNJ+f2tPI)NxY57F^JHzHev zRzF&oz_v2(jl^ki4QJin)LytIzu&N_%{vbXvf=61dq0$EXrgVqCSOuZIiE~(yJoaW zJZEIspWaan=#|Hx%@Z@Tb*?B5Vp^AW&IK^CF-pett`CaxyTC$B!_Lu6&`vYA>Ft5k zB%1auZdu!`s^+PbW3rS_bH455hCpHw%OR~Bk%g+SdkMwb=Qfp7n|jZNDlP6ap%JsD znml$|u}S$m;#sTSeLSf?C3Ls~KQL>mukpQ8uKLfoVo$B5>G!?MCTcm;$#KWpn*-fz zd_UV-EfOMsq$0dGl(nd~1UIxyG%4{{hiM-c%Wr5!SLBDZ&SkO-4*GX5lUu8wwzH(} znD1w3-{nBoNML!qG7To=^!$N-Y1PYod1wMBwT zTSe5BO<97n9~4wZk)T#z7gWUPK-f)*m=^eH2dHjH5ah_!fiO({Awy8b7Xs%PJ9Jrn z>KaJP%Kf*3=V<(<9K_~m!8hdqx4EW{U61TO++mK^|EB!?qqn7-VqRx+{QsM>v>_=mWAUL+towjl7vtM7^cD=(^b@Jrr zcvp3M7Rw;z$NVZ#xfGMLoEDgZ-VF$@7&#>Pg8eiE|HEKKx&#rfP}(pH?ZguJbd$L6r(AKhNo?NDfr3226*>rjdbsT7Q0K{ZraU;OY~-7eDN&Dkx4oQ?5MC#^|j_HQe75~;5bmVfR+1Z^Aa_e z1*lbz>9!pqiE9v)5_HB3`({me`#r3YC~=_H960&nOQ&g+Ks(TUq=a{5Xsz^{rM?(_ zZ&+Y*9>Qahk2dqtXpj2M5uZ}^an>NR+M8EY!gd}#) zeCYJw`XdhwUlfX$5^X-~K;~_JFaP`+LDGTH(|f<}6}-a0!HeCC#9}B9T$^X%~ zi}BClUqhqtZ_B!jg@&(f4Ic%yZu4thzgT3zzF_vDnLg#rZC?+GIXT#X6|s_QKUOev z#yq>QtPsqwn5*`Njg(GYiIQlLr#;<7396i)f7C?zh&3G};T0#8kb-MT^ghGFbYqUa zxT(^WDPtwtdeB0eE61^-R{So)U_bHx`!j!VKEPEtMM0X0<5wxc_oA9kaFs1#70E1C z+zb8D%Zh3wlHP&z^?1>qZ1Jc*`ZyU>;eNy>E)V^XXnj^r&}@_lx}-H(IC%HBRcrK^t~Ciu4rZMK zyxm!thquJS!q|Q(M$)$^f{}QYQ=5H@Kw*pGn`J|P!WM-}`%g74j@Gb8@e>zTYhH)a zwQ9+vh+PKNu^&+rs&&KRm)fFeK<^^QyY6Lt9Tv*$lUgfpGRNs0J5J}M zGPc0JG)Uo0jg`b2>4o=@HLh5ls5ozI{~}l!%g_Ox%C=-I&8C-<_e5} z)onZ7m$o#1jjakCyr|}~!w(0dZ4MPvU?@86c+_g_q*q^Cn-~1RoV41G$vBs(5;rbK zrJmM7DXUzgva?WSG*_odd?ZBi$D5&g%$Yi9!PGi{Gvwa$#1034 zi<8A_`8!GXEkaHOOcY%wo}+NqglaDAb)F}7I8(E6ErE6_RkfBS(yMx&xO$0wumby2 zZB?p1wT7_vZNQ6CE)y@W?K_QfoBCMCGv2Fz%FAo2czZ49eI#Y>H3eaDq`3qAYN=0G zo51G>$*?M|m?O;{sMe%(@}t56^{-Zws;Mv96-uPaH__^rI`nEn4%@CZiJf>AFR#s( zHHoVj`L7F8!YgNCH^P*+xEiMqNc|Z~L*;;U&u~#TrnXqN!-_%PHJq7oeuoifW^jll zIsoF>fNIE2uQfXHbiD?o*B#PC51<v6F3KeOKA_MfU&o znVG*-IRW!a4M=G`dVo*YI(AoDs1>inW3}bCeS2D8UQ%fhyQcLe!E;*8s(VGs$(8!q z;ytWd7tb8tRb9HS{$BbEGbG+XtYgKdv~Ts4<;c0_Ue8)CwgkNT3DAw^KpQu5!2CA> zR|Er1@dY~C255F8AHb8lmUjn%S!~!$ZS^Bq;+UnKe?;+7PfN2UOloNnq#&ZDZ*NP& zXt&nSh86h(P8-X>znRexI48{=?3e(+ozX&hHYL5oX%=hfoio7K^1z|_7xUD>a$@Y)Pm_i!s)a?D2jxr2NEe$4?W>t zi8owM4o0BWf}jWWBqpH3Lf8tA1o?u$z4aE~(84LLhc4gW zw%OyBTc>>*KI%e6B0-vCzx}9^$kcdR*Mmy@>?As24_RYdIjbNkH8@DWg3V^s9g5FL z>xw%h$GFZlhKJ{cFpCE*G|V;9N<%nnJh$A^x@%7`{DWgt`95)-l5P5YwC>s2woxUA z3|Is@FzJ{-G`6c#Teawc)B3=%0r#Rr;!PrH4563@MrnbtVb+8ktb1BX+p z1Kx|$0>MkBn3Qt{XH$%FZ70 zT2wcK&vTaK=wtp}`&hP5Z8e&`fOGh(lH@_=%K` z;qxWl6=`dY7ipXPv7BsZ^oS*9@-csuiDG*zcDxTBwvWli5Ovdm(3{=;&W|_L4If{#hkwQ0n2T$O%WDIMC0^ z9Ujn(vd2Re1!R$4Kt@=+(X{)RqZH$^?ni! z0ur8Tu{Ub5)*fi1AJEC5`=UZ>M#mmo+Xb3Q)K*-kw!(o9Q@gN(>ar86sz(h{O(uCM zSzQq{q?cc!z7M>f8jC&oU))@I(=hZ&%W?a%))?~(UnPE4}?iMj2()0N=zr7Ls~0Jr(~>EIx>YpT3@WAH`L!*Z-`d)%(H_R8$PzpdKXk$kMAO0_`xulJ!V;* zw+B6Hm(sjbf&Y9W?8@!!LBu^Vrqw^apRnYOU5+YbSv~xCSK`9a$;P9Mzl$c~{g;%6 zTs_8U=ft+KHymBqcgWO(qYVYzHoqUpf>*p;I(=pM=M$DS6OROvd3rMtCoUS{;;h)r za5RuvsLJGOhb8(h{dTHI8%qCKR{SVclharBQJUv1XaXW}R0Cirdw$Er&i|;_EGpA{KUm28eOZ>W-fiB&`N<4szTnUY0fC=7!F(E)1l_JgGDRnuP>DASR~~h@gt6Oj%8}ut zmidbE!T*uTG)9YmRT=PrY1MC@k=|vut+FDi(sn;IW_gBTp~<%D3#vHX@7`QL(17MI zW96klRGAag7^+MZjgv-v0Q$yCBVgJ}4qRe$1xA4_;YkvI7EZ1kt6J8LTHy8cQF zq)DV_^8)W~J3=bKMdV-^IW15Xu|u&sak&lvE~agQhgFX!Ne4B(Fe#m`!<{QEjLh$l{S1|C^BYFAu>rH*NQQ0 zbma*5!I7PYuwrz4A6vD$C+R3dNUB29~UTi$c_}`&AbTm|Fdfw^Qu*|U7 zWE=Vw$gL|v661#%+Uo5*dXo|l;38K-qZnX3*7iVgzCbY~E%FB{A!%G!ps2>xP)V0?6<$%GlBu)H zq8{$}Z3^FS)#Ix0QFP5!yIk<9^|;gxlU@)4c9^1dIRHp&4K#)Z1;u_qBPj-=Gaud_ z=&V0@`J}gzq{8BEAdroc#7>B8Rb70ZoGBz`I*B)uCnqV5h10_0TBZ4v?hXq_uucTS zl}#84w55AZ!@EhHus-bfoxTt->1`B{g?+VVZ($gBiivf|voto`6;wD0mnL8>?E=;z zv6_bF0ZVvd$K8|jIi0LCGA`W{KQRYi{ zV;jO~b^;dA5`9yf?cZ>Hdr8vN_FlT{=l6A5Y8qWeI%oL`iI#P2Ia5jLRQHrw!B#Xn zRp-Ylau>}@4HM+wW_~QDVKvRa(|+Ok@iuc{Z%bk$uV>Ly0A;n((Hjm}6_t2HoE!{A zCsb){x#$P!u7flNL|VVFP<(yBHvcsw^?(1ndBfERLxJ|+zbSz#CVoln+v*dvFl0L* z436Z6}mSyh$V#O?u1&qqIO(7^Cu0i-hqa$mj-ewH|Jz zVM`085*8)iwV=F;eIhgh(4!qA9aUOTe^AZXNzq~AKu#8pAXM5?sYG;A{|--)Ii2kK zg3Kmb``unLYs~NvtQ~=}7OM*7?#W!rqv9KEpCWSe_h}M+1!VYX%dD;QO-&;sENNqX zOekFI69O9a!sq>f#}sl*B)2bN!1<$Pu6VyDG6hsImmzuWNGqQ& zwDnT24HuDk2)-jl9jG3y{(AQoYLBo3EzlQUYv2aep@Um?M40SXAw{~oYJ-;z18~cYyJFWt~HfA*K`P? zGFQu!8KrqDU#o9nr+lb*{T>@SVk!7%ZeeRpK2nm@7uV^%cbWltx8~?r^N$94`3+>u z#0E5hK9l1#okqJ^Wj0L>XU6SGoy%v{q36U$DIzt?n4(Fo-soxBJZqdcn#;^ZTY}!e z22ffX@RHXsV8qLBy{d0L4W~ur?IoK(FG`~|@Z@9PbkI-8OywIy%xx2B_cc2^p{$Qb z4LjMQ4k2A0cthU@MFZ0Uk(Bo$anOJ^(C!u8!>eTzx#}*z(>}gqZ@-Qm{brAwDWzue z^NhAJwf}yicu|Oci4t&697Hmt1&Rb|_$Y=3KzExVaibf+OF@!~T6=o@YN=qEo#lei zASpb*SM{Bf|Io$9XFn>r8MTj26+m>7U(iQYho6JUet6Gn%Tij@Ii0#C2qS{gqnl#L z;WUa! z*M|N;;@BtP(yedqbb_lT-oVMh6$n92WS8_HZ+R6#PMvpt+x{6=Oc64ExaPxqg+=-U zr$?H!zQdH!YO%iEDW*@U^RC5ReZ?v!Q}N6BPnkv?<0X3Md~z22&d&ZKe&E=;CK_t> zIY+(g#4lAP)T(ouUu357U=xk!#9X3&GY!2uoM4w3-NhC;+H&*I7*FJ-_4};>|I%iB zq3l+#FpiB}+oUf=;xEW9*l9&8R&h%6SKrp9)2X6S7i~9+;&gshKR5a>6(O4GS$gd9 zH0v_E`76bhxm;s>7rph^>TAWzsAlM0^MdhEJX?6o`tMY+@O9|w*v@bjZasBfTu5y@ zFwzonDar%Ae8D{bMaJGZ(F`2bmSCJOU`{B(oEFs~TsX^r&`0SudWCj-(E-2INme*c zYcn)A!891-Yp1cf<211mlb9kIBhwwN5nrb>PGSUDEJxU?gS;3s#s_m-ga%u6FuwPAiRUK$0)~0iJmwT-zkhWn z%@dhH#b{!)#BsdOc6b|=&Qo3A`$K;9V^0_cEU4aI{)Ev)EiI>tLyW)7XrkIOOAU)A z7(&1!=VcbPh6NrcMTdz4)uZLS=m+nxpo@hXv;oI>sop{D4n!*N3OW7y(oieLZ0cz& zg+T>v0ER=0XqAdiP&=bU;!Pr{7^@^QwS3{c>QK!we7lb^Y|EFzL<*PbDZDE{l;cM)dp=#g93%4g>`tf^%>U8x zJxYJ%$1lA-A&%u$p1?!VhaZkZdk$2h-uJX1r7*0K!krV0;zF4vNl4(Cp2vcG-n4F! zY#`%SG{FYf4-x6$PgMF>SqHZD^V**O+gWbIM_)lMAdWv}ii}htTgnc7hPaLY$mpZq z_R>+x)2#U|#>Zh;WBVPg0?(P+xlecqwv75kDuqvYSi-H%13HDpHh3u167L1HT>-Du z6X=`?Jb{W`z{_dj%+rQN;ae>g*OZ7mLL66(#M0Fz(R7K4Ks8-w5=&CYWheK)oCM8O zg>RLp{KAr&jXf=T5FEjBLN#7&5@XDi_&_9Bvo%Ptg?%&r_{U%zwE$JH^Px7jfSqAU ztp&LwsEthp8R;X)wWH{Imjv5hx;|oKII#Fe!`*g3Rc~>CRD3FB_z)m*PppkDp%5SG z5FhRk=rY|Ro799{sg8s+_YQpzL;n&-;_}+QWAqz*p`!dt98Pyo)q0zSlU`j{X58<> zQ{7g4tL7K51@kfKqW1KvIyl7 za_|Il@UoULh)Y{TF=jAOh98h9(nbD21wm9f%VCAsI-~+sRv}9s8H<`xjQO{XQ zFN|%4SQpGn_CYvzbObJ@OivF3y4$z{6~7L2t}%EUx48jMqA(?r;+)Pv34}_?SR`6P z2OyDtyb|wfQo*a$qE=U&EYzA5YvTQ6@4PKErtsXZ z&ty8&X5zxW$)h{IZ9oskJPqsy&yx7>(W1A~Pq?r9c!Fa1+P*7Rd6zxEQ@YFO9xK~^ zI>Wh?j~g(rm!S)m?6+O>?DDkb_}L{sVb6qRH3ZIxZvdFk2rwo9C?)_XEfA>4AINI| z_he-RQ$Mtdo0V+^bgS5s^TECw!VP$hHUloDT(*LnNkm zpJUe0Thz6_jf{xrNIN8sJBDqCyhQ|hj#)EtCwW+u_>CtbQf6le+=IkJLp+AqJ4{nr zGPTce{Ug=cA;R(K#OK!iwA4XJr?L^8H$zBw_9Mqi60c`{W%zgGGRwHaB|ecX@*EO} zNTiOS5*qzm1sM|{sF(nfS+6z{R89+`;&Y8vsGMk>%4HvK9nnW=8oV^oXVO`Bk!45Kd6Z}3U2E}zxKl=y&NSDRk7+we{Bz!QSDic* zZ@7zB=6{=a-BpDD-k05fyLa7H)US#RaJ=mP3%u)I{gw9NY^Nl?vh-~z3c!-{?f%ws zt|$QNuTg1h%0!gHSyBY&zeDvnJ73f_wZP+$N})*DWbgRmGnUQv?2c2|@3A%yA~%%a z-WGL0uV=eNB<6P_%hU^x|S}e-MfjJe<)8-+3H0> z9xN5)t_cN{VRQ_5) zP2MA@yrY7ebV*Q$e<1f;u*_ zE6L(#b%o~K#YuvivrbTndx^@tcuY_U#X>gwmY^0zheI}h&Fpa4jaaiRTxHL^*aKG| zc=f>52VK|}X_rKw=&hhP=8Kcudl7RuEOd53vqFUwLR5; z$88o4RNrRFaiNBAP~7-YD{=&(vZ|~4y&Uy05ylQZhsSZgqL-~+;YYAhdRMeTbebh8 zj~#S3{O2i48hWBA)(agG2=qfL5ebbz!~_tG2>?VNL^!7fFnXX$jQ)pkUQ_VV`w+G^ z2hIy2SmF(s99#)e}Cum@@lt(=C!M5tfNqvy9LOse;eTzgz{$j7S0zQk~ z45XyULI* z!V7o$YhBLD4{OQ!vWxb%U3SxU9+QJK^|IVrD_Jc!)RK?MvOT8>J}Y5wzCgi8H=M6* zBqvU8k}dYP7Ajw}wu_C-;?3lJM%=>6i^CLc4hXT6x5Y-G>*FgeA@`rw-4Z;kAQ(Tpj_ zjVydFTsmQ7-GZ20U}TRpV)98Nd$b{wzcaGOn=$#6k@aZ7R4XQ*F|uBMOgW42 zr5f1XlI|E!Osh#!)3` ze2IwDiR4zV*c&azUM0Rl(sGG1TZ!WIR)u}t66Mbf-#i+;j+&7b(|5gd)9@#I&@$y= z()`PEWsfq3zW3Nv>y)It$_{FylN4V(79=T$gBBQbBt959_Qx5pp4qbDXBIowyFeA( znA`$uXmO*>c3ZMyw^ENf7<;qB2)Ef+8D_4&m9pH<55DeeAB$7vS!o!a!r{)V^h`&TR8xG!~7q$U0G zjAltD+w;*7Z#k8GJYj>it?kcq5D3gW)0VIFX%iNf>X0?KLylpG8cN3IBz;U}ajm;$B+0u}j#8P&FeCybq>4xR%E+ZYOr z6HmD3;5ksGZ>nyR7ee7`LP5xs0ONcC6FLB8_yLKi-~}us14UHu(kK~q!4^p*eaZScfL8#T~nrsD+G8KVgVQuNs zEpNJitCPyUGwzr8Fx2W7{!MjfQ;$Dw`HKPRRT>#bA}Bppy;Zio?4&Y6s@XkS2IkNXu=ZSK~DMxFt!a)q!-ZnTq9tKH{gy|K!@pSgfU(~T6-WHp}XyX#Qg#% zf`B&BbqVVm;bdd#G2ZBrutF1{tq&w6B#HA?!Z|MR{&ay7s`Xo;1Zo#HD(771NfSAL z8BzE)L+PVs%vEHM^>iUamIRyP0HAcAkZzXZqxL5@DUY#c(fa3^KcZQ{%$A13aeeRs z-tn82BgUpStEa|JD6eYPv-luQ!{bUb?Zg)4FgjFwrgHX)&%?30-7*ZT+vpo79uDNF^uiAj&8$`x5k^&4 z%j>#>St}~a}bDQ#B3Z)LTkkpN8a}@(+>ilXlF0O2d98HoF67g~3iKeSoo^uMk zbbn8r92Bi5dMS(OpxWqPqKGpdmiQnHgL8K(UL5uFLbfu9eQxi+TX_!SU;E5GN)A(E z#qiYrX^t|41uiij(Z{^6(V~B%ajCau1fBbTB?aUL-{*HsxU3~v!9)k^R^i$bMbz?@O)9iq%o`u9fkmzW%oaOu{F}o7&!TMS#El;&w#aY=mFyk*~bXytO&`$^{FWcslShv!!wHxGe^p#{hYL zeY3-g?Taup#X6%jNT;*hw%FGmQ5uPna5&7ye=(pedAVVW{m4;e7rp@@CK@*DuyCvE)v zrXf!mbGJK-lzJxFS zo!8HZPNgYN`d`!9b?HVg{;VvVO!qBeeaG{AeNSrTEGR7Hvs0fMOJ@#AazU3YeFKt| zQNaf7A9TqQB#keUgl<=zwzrLbpu_W$t~~1B!km=*{W695zwP=ONs$fl$bm_`18X@R;JBUy*0U<$E= zS1YQ?7l(g!BZsY8x1y6&1dztUFT8jdYpJA#K*#m3S`&pl&qYtmu6a?X2eLoHPlP;~+@2pn!d$XMq%W-M7 zlhclCt{v#XZL3&_tGgZE)qY3zQRy7zFD|)H`)5FQ3%oYZXr42dMR<08V-p-w~+&GXj+V2!cbgCiKgBch9He-*bFBe!z52 z7wOF9^u}MJ@14bqt@!duvelA&#VucHX}L0UZ<|Q&Wm$RULik(WVeozs-6Q^9c5In<>YX5JkvXb>%VdO3d-b7lQ z`s`@V6It}RvJ=^s(wjbTqiD@3x^r-NA_q};(FA-hfiRq%Z=B6(Sug%Pt<^2;oBzAU zD-A2`BW@~!D^FM~@_?;6y(^rFYz&By244|Z5yhu?BP^-&CqCA+kKusP(~>-SY)4A` zq$#dQawz&=6`fstGQ|jr{i22$L{=qEeOT96$-d#@?Wi(31+wMIZ9aG3ru(jo3NCfQ z^(zS;!10~Cs(r9A0~j?+uHYsI1C@G$na}|!sxeSp*9w#o4s@a+c<10#SlUBCMU^O~ zJ9sg;KEP5FN_zy-A`_$uPXWbKs#?+>!RmVt=Gm=l4^t!bE}qx)4!SIYqBd{mzk9W% za3j*~uZx%XwX)kvTlEK_6~FHmv^M6ver@$%3qH0`b>JO{}h#;|DyDyWYe+SlPejBleb)^vS-7hKLn25A`#xbU`2aS1+y~R z3sHmrVmB%`l<*Bt2ogI~!s)YcxC7P=$a;prXA%~Mg37qKR#@z90U~<6d8J8|&L`u! z_*&Qc5eV+GreB?EvBJ>1mF3cp_SOS@!iF1x7acUNGWmo>Y}*{P8qd_+Z9yv7n?CF9 zP0?y+<8*;l{06GWsq;sV_j}4MN-}UnwrX#&b}U6UY>60wJnuK`Kj|KOzE`TkY*ZDYKdA{+(tBjQRhRcR>AQ;^SB;WQQ_w0 zs9UEFGo+iMur)ffxDC0xu=x89YfOK@CLvKJN9iJs`Pmb@ql}}CeAbIT8{ngVHsE)+ z_1Iq=505vpeg4P8DE8xVH3YP8AbBl`;Xu)ifR<#q0Y;U#5UuZsijVkHK+tG=_F9t&tN&fSariIoJAHOEzbNJoGHLG=%4FmvV$<3x?lOu$OaVxp|K-a!hZ@$I z{45(59`CYW@h6ohSBmR(;-?G{j$|+R_nUC!%z^TfqTZ*dz=h!XTwIuR^eeb9({p3O zvXzD-itQ*JzFu;^{XaG&(Cdd##0PSX+#9i2n@@ zaopzd9f8;E(x^zsshgGxa;II88QDb5h|3e@eZoaSX{CZ1KcN%Jrp0xlx-f2;pr)n? zYV2-7P016~n2Um%Tq>xj37uhgvmmZB?D7sR6V!<`K^;_g3-WlLAP-y=)VHNXAx54f zjMN0hZ+#9C+L-gM-~6S9a>+;`v0YtBQJuH@YUri%)~(+H{dn1(EFszc+K#1$4W_6F z%dOeVas9t#Y3}$i>U9fzK_tA=f$)ijz?;G=VcAs|!ZG-)fCxr}?%74%v)s`uDm?QX zrAuz->7ErH$~5?B10_zL{e+}H7Jw{`pg@M_>gF3VUR zeg*jL$1lotnaa*6%h+t!Wo*3LGBy*;W3Efs_ijtrZBx3WxvZB`+`nhLT)$@-u7}uu z{4}?3*)`W2(phB&AK`vSN_UOn(fFm{H{RudbkXIUw7~tiblmN@l;?U*%5ys^9dg?% zopIeOMZ4^kF5ZT4mU40j=*muei8VUBEd$PS8?pn z86(Z9EZ2RS@v2EPmY8N5ubI?1W0X0EjWN$Q?stzjZg-z;yl$Fq9BclLUom}S{J}KC zc-b^n8fP9ajW@>`i%mIff_Vd*XdWd+n`iJC^FryG`$A)^`4XFi-(>SKHU-bA=1tNK z_XWmj=G9V}dxEjdG|#A+PqH|3hBV!5mu8r6up6dC<4o0jRGMWT&1d8HqiH1n#vH-t z0LPn$bDP=9=bG=bdFGLPzIm6lz&wgCH1CiWAutK%+dR>{hb=Z==1a_**iy45Ei+G* zmYWarB=cUDY@Q~in6p``IhU<4?`A8_v-ug9&FqFtB3otNC#^iB?Rtl;a=pfqTu-t!uHW-@uGiW3u4PhzYcku2l*=$*XOEZ#K{3TaY@LNP$bHcz(;Y(zw-pN4jZRVcce3VYInvJcS>Uwwo`rEb~RS&#hQx zH{2%h9SF@%^9r^L`IBwl!FHS1vOUO>z2+>IV~*#!$c}yHLwr9RKVZ&e2jOU{@vQL> z><*hJ@jN_@30~iuE|@NwN~Lu7c5JCJ-MtU~PcXJ)OYr}Sk=>Cd7;nk!79O)18{s~| z*oUc0jBB8s%GS7d!~ay?j>Yp-9xbDhOvM>`HUbZ5UoxfgZbH!-`E?ps?JiZc!o> zW;Jes#&Y9k1U8dxHg;#zq|L@|0{3C(j9b9p!L}G*!n=`Mz$e^?{omgZu~|&)TsJ zHlB@<*-j9XWR`g$z>^pvjU*~uDU2X-x56dxTAOy2{hWi-CW~+P?sI6?1`%A{HY&-vf zm+{TuWV6lg-FY^Pm8=MwomttFe7uy$t*kpMF!*1kFX9)`2*e=FxyDSmu#;uFuR{W{tspkz|701DZ6LP0Z*%V^ZFfJ#&+;tL8(Eh7 zTm_FEAXedjq=H8#eBOlr!)2B!Wg@vYv12O#mY4EO;}>kQv=hqdY^VEb1&>`I*5m(^ zd_CLC`?q6TSpSPgYzy_jWMn6m{@09btV{n=Bg^9btumYK(to5(IuSCP>(c*8=`zpe zqow}c*)HCHs?7HB{xf8D#ijpDnN5`XC(3M`YyT9PsWV;sr^)OD@4r`O+g6+=f z=?Bw3XzX|2=l%u$9{}FY4!EyS@Hhx!7ycuRyHs`v)HeJdso-%K#A^J1692a%yOtTZ z8lPmh`BvjfB#*QeWnq~y6E*i1%T&H#(Nd-|lY!U@)@}TsB8x{Kw$GRf^TqfN?|G`R z4_}P-Y69XK!zZw54Da+zU<;7`H%t>)f-Ja8Wftu^fo(u;L6{-46j0k`mX60vhIVtC zG`JnR!v_CoWK&!QPn6jzK6shTR`bD0GSgfKC(CTQ>tMUg()i%5GHK?^Y&{=*R>tsR z@b@yi;W~J-!Vb6%))aQkZSZu3sReF>7bvXQEe|nIVtMYf6+E^fI*ajt4w9X3Q%=aB z-f73i@ORD|*>35bt44NKdS`-+73y~)jeHEh=gCr&Rv`y1MtMD9$`@;QpSco_eaP5iJqCo6BU9Np_M=GK-9a#LQ$e z8fW5;drmfH&bqUkdCz;?Gp=W6&-?Do{_|Gj1rQJ#6uL#F8!vzY(kcoH3SJ`Z6;zaq zTpHxkDwh^S8c=zE)!kb5dXDux-@0{mb=6Z(eX0StO8+>{;4b}Rh6tVXk6M-pP4XXY zBDBkYEEC~?l8gH&h2+AJ0QYDvSQ)fpaT*U;9NER7N6Lj15$bT{4iWCixsWYFi=2VG zdppSxCItMsgbZOPgBw_618JfsadbYzshK#B6^CO2r1MOnl0ktcWePnE2C&#D;>30M znZvqA0(OhmO$pc`T9;3-ue2@&&kMdT72g+MXJOcbTDKcpAhNE2VJ~XkQ9J>qb&nZ# zqSifO`Wp6$aE7ca!Zv`cTL~>fGw$A7(5zg-y#yC=JCeyoAweM8N&JQX7lmUCu49ob z;`kPvwFz1j{QJ^Pa2LZt9Og1CS}~-OR;3ePh_qq23vG%+#G)NTI}Vct(hi5|2E69M zhUWt8xQNywelM{#S42ydhj^J<@4}a*!(1649_$ttYVH@dD zN<=J<;f4Ak93#&Ju<~Q%Cc{4JF_I+0X?l!o!*_$zPK$6v>BXfoNUxH_u&Bl3IunP{ zB$M2xwfO2<2VIZXVOYN!^5}XSo+y01gMrVqJ`eX2Uw?(^6R$JuU$5`R<6T;xBVwO> z{caH|$@(KA_Qls96|pD2{)~wI@AWI8L+Hbod<=cc1%^c}e%5U`d?@&fXLzE@wb+cf z1rN@aq!Eu2O_E4Ay^rxW+*h6mSUkY6gFL{UwS%~D4K^GOGJmmE1TS?7=^_l$hd5gn zd5E)Rk$$X?K)-T`VKIOqn+)KDY%+-TNf=bT0v1CUx^UPpV37vzYA}q&YRIK&@V!t; z_tOKk0P91zC$Oj%U;v8(Y~QgsB;wzaGt za2AVm3?5){mEm9cI{@F~AK*KKehT&B`aIyn?eV}RoIb8x z5|bJ9(@SC>Udfbne2F`djxVu`rbD)dJqIlRN}RL`%WJp_DIFT{EX5)p+ZUYmtN`Pt zbbQ5o!UV3p5hif$jWCJz4jkqH7Edws;4qr>z$y9+Qy)CT+4|r))}P=o8i$wgqa4H` zzB9cziS2(Wy(DBj& z4##K`rYT4=EhkfOiEhOdPqyN##*<{Mn{l|Dn8{_DV$$A)1d@U=fn1>l__p_x0{m=t zW8DfcVJd(Vcwk_devS!qjEp8M0g)UH&s=0l~ z0*RI}8?~Bzf zi)=R*tX-W;ABa;`3+u8Lu3fF!=|i!uX;HOr(c0Ax+Am%?xY&18UAsDu4v05yzIHVY zur3UWQzzfFJo{kn>b-PGwCBv|Yn=D(H`#($wD(Rg$XWR9H#Xssm^iF7c3}M+85Rrb zmGow;?-WMF@@`Xk1J-{aH75Jnu!6@}w+fHNy0I{=z`5w#Z)(V>*fB6YF>Ud;-<&5; z#Kx21W4Tz*5yr&Co8i_SIL`&*6HA+-%8%ptvt(SXPM$jykM)aWLag2^4#odwQXCeZ zQ`KgRbZ7IY;)u{o)yBc;6_3AMvwSmoCf1G5@%3YU4}C6L`)9e@KVP$4+eD^BYu!v| z%d$1guTV3e@`n3P{&LOo1QO4!Tf$vCK3lW=65YtBlEN&GFV-wKlTCbTL~@+|#hT@p z>1Li-Jfmj zk+Y`68&EeobH%c|WIyk_K+}t6tXP&z5AdlS8ns(-rZULq9d;qH87B;p0$$Lp^nbHSnY4XAq z%M$2$Q$;RRH_TtL>?$edb|;LLV*L>*;Zsk@RP*8$%bGNDnAbUlj-Ev;mZj2C?%QY@ zd;W%#Z($QeHE#{`9DU~qPhd4vt$m<)j+l<}M0N~6kj6RnX<=nNiDeMg*~IOgZy)Dd z*=3^EkIXK}niCsS2Pe3zE~0vTL2S%fDCh3{+1BFuu`#Wrf?M)tCsr+tjq#C_8aG$W zDZhvl+Q=zxyBgJ(IxjZn3aR9U)`)^fZ^p)C(JF5HA#$qw?bw(}a+f{UE^$xA0;}WW*qEL4GQYEVacyU8Y|MRfg?leW zCg%JsHs%Jo%Ds8>(;xm_Y|L$Pjn_P!H#8a@8`DCr^Fpn0er@q5I1|)y_x6R>y`RR$ zG?04kxD{EjZAolQHod`1i<#@ndpCJ9>!<3_BdBi`j|=(a7QbM!TNr*wdTQW5nCeHN zFiX14Q`jA@P7OiRU9pj;vL>z;-k)uD(`LSn-N&<`hzxZ>3r}OmiKdnwl817BeV3=R zctNdg4xdVRt$=LByZ2V!STZLu%b%`58@G;`>QX+`r|lu_+;b1=^Mnp=VQxGeTBp}I zqfcPJW)M2L+aBRM^R}MO(k|}aNUXK5-{Tpq98~vVp>h1JZl1~NiR#Ew(zTs$_3-WN z99|D<#lAyIFW<1V3@ho$T2DuhH~E9vK!$=MYis;2>d(NvSlY?HGFxs7Q< zTy<2=^_*v3zLVX+Hl$VTcsBnL&tbz{b*D)~cNdTFT`UcETh>hc#TSqHZdOjzq5rN+ z{?SR{AZaI~yzb+v(s%SQN^4EFwD~r#@`UeUU3l@zneJ(uKE`v|K~QaDrs`hi<92q6 zs5R}PEkzyIxP!S&YK>d9*1;i?4NY`{S9HxtEFyY3NhW!HahSbJ)YA|2DYrbOUbFg) z=dtHpbym!GK2@gpUe-X>sY&iTw#qE+W4T04Z;eVkF)v=)&s=y#$fKU-UltK791}K5 z-bC7T{!2ZT37a$tj|NZOay|O!W~sulpzbNzA{}4{1=U>@>DUAbQa;;GR9B>HyO1aq zup~(>z7e&BZ=)oI{-@F|9)v_!&|v$lgAmd>!7RBf1?UVM5+sZ`B6 zLG|^_u}^|is$oa)MMvcN2X7yh&a!+#t=>&5?!R_SI>#PR)psjgt2h@?CY@&upgQi% zuw08eE?r=cL9MVYOuQzakbYp#aZAf)+0L+X=^|^V>gDT^)&Er?)v}Y4+A_@RI^H-X zx!6OZ+O~u{dS+Bgm)I@r>fN4kv+UC<=`tGy)w;r$J@d45g&hXfGBC^0{rVZ{Dl4RF z(^ieSwtY}7U1K$p+VuC1O}{NB$*@T{E8*3u-1-|m4byXy`QN58zSKh=IWJi=m^(h= zf^?nzfFJQS-dDTeqEyFfaSfSjMP7_cs%Q7{bgP-^?TNW0-CzTtnuo)ZQX(%)H`x{Z z@J~y9ojHC{-T{1UC)O0QU)AtXcPO5RvshC*sr|-|udI_%s z_388e^!)*P$&}=Zs7ZqvS3rqsZ0 z;eq!k+5$r3 z8#ZL8!d*SgEwwWzsGjcd+C#Kc>R^ZPBgly;w9_uh&046Yx^K<)-VVDbb+S~VdT-8h zS4!Pd7weH!hmV)HF6fo+u|7#nER;On*&eBz-N)_Dq~_e;oD!0R3Hm_tJ*PDnzS7e; zeJHt3&Z<8y_e(u&0NaCFHg%Q`O1*4IQj?tAnfIPo>SKk1T9_DVd-_3%Msn~5^^xRD zjV#>vlM+lFaMk2akE}2JSWk!OHPcnM+&cWxu;gJU@C`SL6$zh@NcY)e+`{AH*u(jw z(gQY3RLcan#`7oALpFxZKrwGDTHurV*|?-S@6B*I#R+MEHB+^8P;%~_Hz^G=8+Ki^ z2jI+q{i!s>hN#*%Cc2$7o=INz9M_Ep+NHnwZq*MkCHeB?I?LPNt*QXC?A#@fIp6ti z)e~~vn}?SJpPRU@R{dW=uD={+t;2d1Y?Lii zVdanB|87-0-6Wgug$;FnsC~DplWdmF`Qg?RKl^S~J#3N9nR0;x7pNsSOqQci-}KW; zVXII^6J*=Bjx!(X;W$l{>&i@?!tf;d5vw9<>8R{I%eTtI>?#5)4V~?Dt$s0v0Ufk}? z?r_iDD{m4n;!S3}$(prvpS)Q#3u=FwRGF}7zr00Eq^kGfba&>AGeR={QPu;pdtiF% z34dybeAyGPcEk%u$S$};3*`Eu@VXORPZw#STyuG5$3Byup29)7W;bn0{p66GAWq@= zXWwS(D4JI!CyK|h%}O)5Z$=f%N#beTjajnUIk!aKDtf8vJRf1HG98wa#bi89nc^*vQsPrympoi*3(cs(xK1E=JA>)fP@x8kDvpi=gpoa5`odLvZHmIrg4ML&*< zegdcEin=+4``?a>K1I*SzUylJGZa-b_)%PRGn|!c z>B1V{XK~Tz=nryz_WYW? zzl@9Sg^RNH#%ym3j_-$B*?en}>*5!2(Oz)Lw){CstzX7P--AoC?Uc5#V(RO-Xk;3> z@!uW0reBd$#jCPfe_!#OpM6cg05B5bp{HL_Blr zWs6vhU4^al3&;2kIYaEkF4qdzjrVWLnc@(r1yf>O4Y?(67aL@?Fn2b#MYrW0;vE@p zaUFloY&{WrsMp*Vua|CpO5*3CU#Jtd)2sH zDn7>63KjHd^n~mbA7QKboHXUBlkySqsjPZ;M7heQU@3VwHBqjJmCR3+JVf2F6*!X_nqSRFX``qCvX z*sNq;n{}}It))xukS$7Y-^|IzA1_^!DpS>GPle+o``i1Nml9yXFl@bO!r8Nl07=}cnOa0CaH>Rle*~$j_)Pgl%%7x z3eMs9N=Q=%@60@C!Fmr#SB5iZ-AclG7qKXX_ahF}V11NiDETe3x1Rgy(j`+QQ`vlF zc8TV~V5ZxZ>s_;_TCx6|>`)F>swEj8EM0O2vXs495l51KwsgrglC4xVho?I}TDs&C zSe1&&@a>a0{sP#Pb0hN~4gF&2l4Gz_Ia4=p+tyE(F6k#ZO15QQ+bOJD=q_b=_uQ=e zOP4MgBfFJzS@Ull`*i6N8{MNRw&I1`npP}b@|5H%j^3#F8(%M7aun>!xx@1L(l3`T zaS(@cqiDu>^V~dqd|QkC)N-|^WKoTfDpb?G3R4)eAbyNwqGd|4=8HW zJy!a7e!g;CEKt%vsoqC$MQeiFMw+oZ;$3lA#gqIL*B*d(d?!onh@LM+CGS_QNB zgOlP}VV|IObn=S$l_kn4@e!&|KPx@{^LPyZ%UOaaVH***nJ(0a4M(8 zBZ`_>$DH1Xqskfan4;ERFqsR&%9Luc2)n`eMBj<9<4TQqLQ&Hna@Wo2<(hIb z>7Bd8@1_s}r$m=i{bKo2Pa(*s0V9PFB!!@o1~3%i($G*028UvJ;i1}%1(*yG#bAgi z27^Q~7$&NRmne$CP*Hf5MKKsIiot+U41O8a{4|Q`2htF>&&*^QG-$^wNAyNvjQYi+*N--E#iow8A42G6sFt`+h;iVW1 zFvZ{(Q_WANm<%(;V4x`mT}=Zt3PBqUa43X$D1?CM3lR+{Cx5 zH3N_duSh1=FOfSz%EVw;CWZiJ>XwPYz)TE=W@0cn6NBF~H9u%#GDH)DL7Eu0(Z--@ zVo0D(LDa-xs3r!3H8C{3WK9f)YeEQY0?MYQ(`G<3A%rs_#53Vl(8OSfCI*8vF`#J% zNfU!%nive!#PC8jweGhu8Lo-JfK3dBY+^8I6N6!!7!2IRVCW_WLpL!Pyotf@o0=au zF&V;%!5~fyhH+vrkQ0NUoEQw|#9%ll20wKAol~FfC3IqFAleJ+#AH|}1hF%~mVUR? z=}x~-zE7J?0l-vr!PK>1mmeK`^xI7R_D}C==^ZD%i==l(j^q82A2}gJIYFmP&2UbC zHlWiVb?FS?CWPvyKN`FVA-)N(0O!uPAOtueL^uUaH%|R&i2eXU?}okfP6z={2o+C% zG{}?a=BalaU%Dr}fX@JKLQppYpb3U(YDk(PrU@aa=})7yC8(MZ!kYMH(pOv)UcjcG zGXIBV`lErF{-|rFQ}YWZ(Fs$33iOgOA;d8u1TrC1GW`)LGbowL+ZCedM^(>GGLJS-Q-sg z5<(ObUS&u{cSv3S$5Gy&aV?MOkf^(seixOKjfKpN zq6|PJgh(U=DKg-V5CBIlAdZ*}a>QVmBZdR?ZV(+Y?5C|kb;M9W+k)(fL3hUhHA2uD z1E2^Yq6k4!3@9RKA&v+kkO(1?2qBaRA(jXMObl8g1Tit7gb>Pv{-`@)Km#=h@j%ec z&+tHh?11(l2>Rn8+7T2%2$Enx0U^kM0qlbi?SmKG=hr?6a-S}I+NHmNSB(#YfqWRA z5O+}dFpQJVAoF1uAzeY|!(c!k21EKV7}STspgs(K>(l($hpCp_3u+&PaGyUJ-Y4nc zr$4*aAH?d<{dBF=(L%qiD94+LD$;EVXdr}eAOt-yV1V!f0X4q@D!Kyd->T4`gX?S6 zpCRgx4)y1I`ZFK>sfmt=CD3CEP$7g^A%tKd(X~)VjhA8wuaY6WVusr7l@OwaM2AAW zb0NJ!ID{8+==AAUNOUaJ>HZ}cLWmebC>i>rVTS%_pdp;rLf8;O-4H_H5JKb-@?Mog z2%$p=u|o*KLkQJF&7TcFgit{AM?(<((I7+!7-EnRA;b`gj)?j<9$rEs(Irub8ZYfL z1vn87Yp;T$sEeZhl?(lGRX08a&=p^&s+Y3jbO<%#M8g^}=-3#rMhpfv zYM2ae#9(+M1_K;17~+V*AV&;_Ibtx-5rd(Q7z}pA5M)OU-4T-kj~EPj#9+`P2E!gP z82E_6&_@ggKVmTa5rYAc7<7TuY^QXA#H15sfE}ssj{2i2T@+sWBZL4Xga{;r5G1^6 zkoZG3euNC*AcW{3bjzCIgAf9Q5ER0I2|^GB0}cow5C|a>2muQ8m;(MM=m4lc-_xIk z>8f%E?wbM{2s#I9FFgAH?ZTxb!DQx)kXqq)X6CN`w$ggdipc{1EVnH~dgf1|aH57sP-Q zLMRl%ODWWl3Naa0h{3=@42BkB*z-~gF&JEk!SF&11{h*6#1Ml)h8T1+)B;rH4lx*bh~a|vk`FN%eu%*UL=1)?VlW610~%tG z5HT2rh`~TavUG{Q{|!lmmz1dKmI$Gk=#RQ42FwtGXc&+|2+-gIQ@{ox1P38R2O-FV z0R*JF0_u-&by7zSoHlLR^swieQu^R`|Mtay%y{kmz`rz=tUfd{%X!n%@cEI_GUfLV ze|WTH@mv3p^yRXOd4K$^(-b?v8Y zVa~3DrPrl|tiSz3xOl$mlzO4Lp*U$g5d!}tL^7dce|MP!- z)bk(zt$nh8+O)aTru~@;Pp84xzazLs+wp(XKl5o#pIiU&Gydk>gxw3TEc|QO7bm{` z-`)dD{@3?_)4z!Qr~hlUe8yk57JSCPowfZB97hKJmFV@?Gv0_I_CHvEvW&lL{fA|| zs{CJm#dm-;{B!=vOf#Q0L0`;1ZQ6wOyU%&FJbjulO@I06R_o{dU*Y%G@z42>U`hF+ zU+{9EA5W95jlbkSmOq;IvuPhp`*7McD}2E_a6Gr(`+~n~(#PxnVsXZZU-9=Tjwt`d ZulNa&f5)eV;gp(XMf^~T)frfL$Srf6c!O>%E;4k`*( zK-7bswSuC6q6;=qQBhH_gB2@aRKN<>?>BQ;7Zw)5B=`QG@B8yS%lWmUV9~+fYxq%(sCoY=(Y*PMpmE@?8qMOD zM2(XZ)olFGP7@T_iFl3eM@{`G8ET^UW`?X!A*S^y^w$?V?TYLGjelzn@#k30*~p%t zBQ;G8FX1^!6F*~6IsLgxD?`etJ2|3+;PLGJ8C%M^+c?*I=9zN(9H-xyS%~LE_(q88 ztAOVu%^S+;GTNMsRBo5it`4(iF5<57O4mCyjBHnS-l6e${B)Npc+|f~JCg0D7w0H6k4CddQxeIZ&uNBDPsfvmmRIhs`Ay|};Q5>;cshG>`Eq(- zg=b66!s$WfGCcPS6IiGNjc=A&LD3Q(}K@ezyi+E`RpfokhK04h)^EN-6&Gmy`3#xVEC< z!?$`55c<7?AD-&)A$8ygg4(B0MJF~31&NkLFfsAc80FPdoK^rzW4Gw1GGKy zPiWVv698vDBfQE~Ix#<<#jlgnz)y5>(Dr--at4r3`-#4GeVA;g&dL{lV!!~}>umA~XY^#{bTNPt%_73a=rE*PyC>2{Dj*jU4o^Vc!Vp4LC7NVpS`-xt!I`sVUhfyO3eKTy3*xv9o6Z)Ib^Q{36Jx2~1 zJbcu!;e({N2LC+l^AUJwgYb{u0~~t}A2n#?=c9&wK1gWa$soLhS9$5Z0m`TCL|2{g zQojKLqC(&JK>4+uI86^fJ9jpSNRG}1#nWGW&#@Qe`@M%>KV_`H_;daChCnWWpoKSj z4^SGk7k`k1mm%@8X>@zBkTj^@^V`8A5nRVtM|?4A=%CL`Uv(5;B&Ll9u@f=f>m-Iy z)AT^mWZ$@vS@6A~!$u7rI%4DxgH3O|AoimU{eSt_FW-z9`Nbe*#*5VAG2|#9gFegO`6CIpVv)9sfS!n;|2Hj2!fZ$-b9JY0DPxzT@%Mh#&Fd!-jjj zGiuQAF9wbL!ehX&ZwH$kdyAhE(?4Gpza#5j6}xE_!#83JrP~|g1m(&I(OKF4hWPZl zH^tXz`=$d1{qXIe;ll=b_6y7OW14U<#PCz|b_J2Ke(C|i_$($_j?>I<&LHmsT-{AFNM7_fYgT5Ova>T!e z`usAuBge!3HFVgZ=RMy1amb+IKYZQs%^%^>4_|xu;@w8IHH{oBDq6+$D=|~C|5_ZX z6n-VTE8l%BDmtgPMhqV{_@BeR7(BxC{5PVWDxVG)KQ|p4E;c46`|reFl%mAEGE(eg znm$szrfnp43hWvfAO;vZJu}R%>)=j?&y{&UiMdM1&!T_*r`~<1V|jwKe|zvxrZqo{ zuSxQ1N~xxi@vUS7eYm-F+mO@&8aIQ1Xh^8AhEfAq{oe#@`8 zmozyt&JA>Q<`$KXo0rMxv?FI!I&;}&M(5>?cIWb!6DPYf`CCSnj@udM?j}PaXshaw zxj&N$O{y^Ib@JzFjxeudG| zyT-KQ`f;rck(5b(p+qMA z7pe5*^D7x0J#U*z$6eja=(J_$%H>P1Fgh=Bte2VsW2SmB`JIbYIxcF}3(O&H|2EYj zbKyQl=N&&+t`K*X(a4Q`B#BZl!HkQ>XE?Q$7z(8!AWXmO+0T1o|QdYw1ii=O1- z*};%;j71w-kzx#?K}6HY^kB3YM&(#ScYrd!{slbQLMIJA)dj7UA#G)_SF3=4(|X{< zMnI-efx%=7yr3oE_F{X$HO&A^G6lffOm_50#%~BTt20oT3s6J{poco3T|p2uJp32n zgoipNDL)cb>ce$^M>xheV#pt88S{M(^C*FF3q+tCJD>y~pzwMONkG|80TsId6*mCN zU~Z*MgS#a&E_X{{K65v&3pY6+AgC#0J3}SSk+JQ7Vpzc3Ey{r*?x7Rnp6u1s(1DSL z(C5u4p_>_TH|9aDxw4fq_u9&>P9D}V3Nqqab8vO^u#W!8YGT$Lg_^m4D1!2zl8aUm ztV1Tswf7Ikpp;1KDD~GgQYM9pH)Rv08<;J4*#oxV=py;zoCFPQ$Guy# z{ZR=NR>^Hv?frM^S7JXwb(a5x`us<#vs_-Yt#Y&Gtf`q>r;L-UE6LTl{gDXP;2*OE zHLz`P>#kud`sKFZ4|`arM6VEGI? zRuJk9+wjsN5+iC(OW1#bdY5-P&pjM74Q|4)}oK5nC7;am>e>oG(3v|-|usa`X6 z<6kz+nHKI_9;?`D*KtzMlj&QqD{h zo5(Y@E&=O{iGs&Td!LpDQ<|=IOT(QhZZ!oV{%==jco>WyS-VC zYZQ9Gtr}gq+CVG;S5zM4Vz?;wb}=k>dB+WEKoOo*(JVK(g|q>eqj(>n5~g8=R5|&P zV69cE(RgxQxk|h&aV>K~th4+P|NYI0OYiPF8u(6kp+R5($rV=f3|-jl=L#7bon8uR z_4BiLL?6;LaWN!Z+V3@=xCLw|CJXR5VGlQCFOm`2JD4TmAQu^FSPoTW@&ez=jR_he z>M^;lK(Wn$Znrnfag9O`xY^dN9ER#2b2G^-xN_y!+>pO*-H^ZSJP(-X#Z#y-AXVEo; z24ZwHX{OkWG>OvE?x?*jlaReDQZ7ghR%t#lc`Om_iLxn5?ABzK%5Qv#^9$XbKT-Jx zqP#F$Z0bB)3y5Vh368VaT1MbM!Rij(Wb#O}N3bEC@Z)~Sjhc|682XC7B zZT)E9=%CSrk;RL&O?(Y8bJF~q`2{>|0({0BDAm0Zn$QMrS*~!y+sBd}l)B-Cd&Y^2 z6MM%j5zjVb0-X|Oxf8y)V>c()fbYIjxwr*5UYzbk{>m(9tW=Q(q4F{f?> zdoa<=a1SWPY+b^sJqeuJvYk`AvpJP^fleuPXuA7)6%32ur~K0mQhJx`Qdz!DcTD!fKe0Q1K>e(N2u zxtRRu9gu6!iuiUNN_LnhV1(ymk;$v7oXnLI8$r3K6WFoMfNr-p3v!i054csQTywy+ z(v{7zwyMiE>!X#Nr7qW9gXzku5vjYfO^q@qyi%4wQVslq4RlGm8SUM}gKbo>EVU-1I zM5m7s6CP^a1F)Tzr-e*jaZHVq#1lj^5!w#5?dDqX)K|%bN~p7q(oor!_T4h(YBU=3 zM(LnZTjU2BU(rk@K897N6WR*ChTxFMKt>jC)`Ef!c26OETGoR#U7Lr#TIk}d0jKy{ zsGr7<2~4$HPiP{hV4@!mP<|^EU6l_^;wiiGrp)wWvN(=9Y#_8LB(Ca}hATubrFgyA z{9UAi%_Ob9fkNr&=15R_v=rUiH}|Sd4PC?EYfqDAy@O^cA8inyYrl_=x1!IpCV#<< z&z|~nyaweb{p=!F7?D{cff4b;!bU;eOI7uH+6fo z9swJRNhTi0?cs#-oh5mqd;`ZU(jt0g8wD7-Fi*e;&q~PT1-C*ExS70I^KZqrQkmrj z!H_nPS}duRTrD-^3SL`OEa*=RuFMH9lI4#Vf&K8%Gy74myUa&68|VQ_pGWfN zW$>K-!n4t34FpRc9&&}!X>VY(M`MU*z@}m{7LQ~0%%88pEOG%#^r?z+ec`s#8C;I4 zmt*N~Q@MJTnlvoIS>>Wt9zQAqGRgovv|`snnQIg^Q>(xP?IuD$NBR{tG2A#B+!U^8 zZO!J%VhK4q>I?QRXK+&;9c53$=t;WDwtB)wM=tHaR&HvWS`R*lbwvcq+hZA! z3;yBYYTKAsHrBFg!L5?$39Wi%uPazZoA$Bf<41jYo61%VnzN$W#czmwPdG&Brzk@CYyv*{LC^j36PU5x zh$@IYJM9g;#T{q?>!0oKUa5o>xxg*g7jAqo!V!1dRp?N;Z0-LVLY$SjiIp<7m-eMj zE{A0+h}pH;@>97p_~#WGHX~9~z*f0qGf%AKY-hYxzRPtP_F0NR-Gj4HXfShnGe{-{3MFbOu-sBOI!zX9PNrv@X_PC<wqcT#fpoRYkNd*IhXPYpcZU? zDXI6a;$G8gF>X#7uf?dk$OZk+h%yJjFi!?OAB#+0kSp|n97hqJ@?%vjURP1BNq3eT zxFKy297pj!KqW44tBlyFvXbEARcvcKfo|`|#?Vmaga~H&BmU@S`Zi(R%x3B^HIr;6 zY}1PJm0sHEuueKg=`2_^C1mhRzDAU+FQ!g95!8H*~PnQacVt3BL~GB=LGSfP$+$8?>|D3x)o z+?Fx7GNv2f6o~tr&-~*)n_4#Ul?_{b&E9Yn!lrt;H(Ys_0bK4i_vUD0GnWT!(LKWg z;c|tnrde_CI$6&^Ci*}MhE(>&s7-~{qq1*m;#zcTD>o~Vz{5wio-JUqSE^h~>tu1O z)3tJ|E)3O8W&!`<;A(3!tjqvvBhtT`*5SWrFNQp!d8%j;DmM;WwOa}O8ud=gmcW+w z-R+s+uQ_Qtb3`;yhf|a`K=-%sXEyES-vwQ&S}ob2=AS1Ev}~=%s9CR0s?Ew3>zOCj z6iljpt~59%zAl~SgD+*^G11G+HBCH*4bBdEe3O(>Gll7Un3>Ah6Jn;r8A_i+ydJKs z#52h!#ixkwDmhE39}Bu|CAQKbPmEK#pAZ}CCX#cMHiHOBt1MzXEq?59p0c^e=!f4| z=0Saj!v%FSuBLBg9$x5Q%KS6p7xG0)UtlxBX=(9n?kakZG*{=1`7z)zbM4UATF~3Z zc&ko>I;#QDqj6c4alMsbtp{dLI4+ZGxq@dI%Gns0VO*9?^V!-Yn_hpI=fy_zVcC|^ zJZ2u}>HLtg7|vs69V7cNPy03|`JC8_G%298IkMMb3@_6=#rBb!`AX7x@t<-brSEDQ zE%d$%j(KlL^ud3FTK)VqkAB%~e3x9f-^+T=EpeY7ooCC~#e!^4WYuFDUEyJDGoah; zfz%;Yt;Q~xbq!~;sNuF}Q8DRSP`5nf6+?wTIv{*iUm5Y%1Ff zj&CBUb`QZ-ZM2sD#A*gQp8qDzvE&P<@7Z%QF-~i_>b;B+X&lTWo*cn_m}qF zYPj<{7A8O?uWZ)Z=pKi4V6}7e{qK}EWW|xq=P&KM)6bL5FiiSg94t4AKD)HWg~I)} zbk;>NH(^F=l&6j1@vTuj@;(60VAH)hY~r_=O$#TmY2jL+9J%f)Ov4hKrG!?8xY;XU zGyWV^olcNzm;$a-z2aWis#+m3mb#18QY2U1m7i=rp~B=q`ILZ+*jUXDSb1$(lCU5v z4a?+!OPP)R2u<}!pI6}HgsRs)1gIa@qg$|%6jQe6FSvo?e@FaCF_efON+py! z!MlhOvEyH`E2Q$G+YaFxr2|;&{xKqK939>Hn>9hO2x(^yy0T3IFJ2QHnfn^1_pgc5 zh;*IOMu=YVb#a7zgVOeBJ$#lz`BCd}qz$Om&xcRw+J`OP{C}hMs8q~tmhzIYhS-o* z(X7Hamm64)*!w)icAq&gvZa6Jom(+vJE1N}%^Q=|h0)nJMJF8NTysb^@A$Quql^~{&q4yIO0=V7H-Xm zX~^nq7#FlX%6T-%sr9(%k;Y?&Hhlb4UBFf|H;G^3J#ET8CXmX5LyIp61LLRKDpwtR z)qd<1ac%<}h*zCHk;@&eJh#lqSx{Bw$LZSChzYsNig1=cX;NuoZsaZ1w6wh=j=}`X z{5xVR`Mb7;)w>qEYy3JL%1Cktb>Lt+qi!5H#HeYvceVnRwBc|oM%~Ki)cTv8x*6ih zcqubH8Sln2P9?8p)U_=coH8BeR9XS2*4^Y(@OUriO%I;w^<6uNZjRyP*mYh|TzxBz zQ$?4(jM{dc)}6Zn(vWoUo{v!(c31Q!MrG<<(bHjpu6^fYdylp=Dk*ox-(5}%w<+74 zV6?x5ik|9w{I{vCSVa#$KfCRW?i1f13`{8sJh z4}QYk$rXdE*d$eMb54*u>MqiaqLeG&rSvnjKi8Vpxc-k$bmisPKfcdSUDlVa*Yz>L z|8FkqV;h6j0RPcU0IVM(V;N^#$^AJK0pC~!@<)QJI1zv;lJXsQW(2PCo4w>F-=p+H zmgAxSZ{~Q{C(LnWzk?Jn-!D(RZ~xy+y#IA|X;ZuE!t$!Ml675dsoP5)P<9|Jx@fLt z>ml1?YqS1VzxA*t4NIl9pz5rJu_dpJ#8a-g3AW8cb>pE_jP`YD-;5~(hhi2)iUPI% z(3!X1KF^wcw!ln-1RSPdQ={|a+|YyGyhLZ+4ab}wTbN5`%fFb@v(*Qct(S*w2=cC{ zRaehuC(TN(hK`_va{VbO?BnN03w$limF?ZzbnL0o%ltL6(RCxJoUKE1FRf=3+g5o# z>z7_W2Q;itmb<)zy6g0fU4-h9tp&rYuZhZ;`jTfWq&IJ8kbG0=ZbCbvLsc&UUM}sM z9x^mk6RmhRknXh_Bk+@f&DklHRNn&&HS^iZ8I)qlSV292&`??;2dnXI90IX~<*}nq z_6mYn!sJ|>oAL{|n^$SW`(5oGLVrYf^|d^_Z5z{;YJM`-e-6~ft?zgK=Q0h}_%e^o zaV>Y;@yoFAGeh{^+8cMxj@c7lSz4A4$AIwbrooM*4pbT^@P6B@CX%<+WLw$d`fReT zxsuRAYR@OzOqgtQBu%%`@dD1spy=e?i1)#0eQAnzziDaasuZynsCrF6EPnP`F zTsnn0wW2Q&OVjDEzn*i;dM{W0bP1`d?!@w`imKbpWxY2m-vbRRuVy@REJ)o-C9~c8 z+nQDGaGdcr=OssV3O})$cvk0DzWpo^!CTmTwMdG>P`D!tUI__9w0Wf{;B7IHeNdlWa zG1g}*z))}3KTu=T1&10kOlw=gFvP|G-WF5$N1FjpSVyp9xzoPmhy565#qWNMyn6o{ zBPW+lYRAY`k&*2fS-OIgS7X+2^7bB1PF-`5led0vhoU{;pJR0>JSOy9!8}nC=v|8Da zA8jZ8la@B>IEz}%=B|qKw{>6IFfS`u78oq3nxzJ|rKgT6sz%iT&l8PzI#oW(X?wsE zZJ$NxMogNS3cRFGh-Jr)2|IRH6UT+R_SnkegMqv9f{)~{boG(;%2Ne4ry6~ED6-#l z`rCl}F4l$+`^qbuC~h-S-C;dyHc@9nv}RkD_@xUZVU57?yiF(TL{WJ%g+JiH2`zMVgl}hrvaB2Qb4OEpV}-4 z$(7fOCakcBKNTw?Jg>TLQ-fQbbZ5D-6_CGTWdn7!lFybfEQqa&$QU9+&}xCirm~e> zZFP+;5eDY}%*Q|Y0?Q=3X#&-*Ld{nG-d-xR%woOQK^jlxNP&(8FZxsyRFnlX25+9Q znJq6oX7e#W)RF2A!86_n)8A4OuQfDfC3;?@uVP)wEBRWfTjl zV{xxkCT$ibR{Sb%KCWD3>sDf)R99y8$7T#|FB_K9=>k7ecHlhkdbGdbvhGQal*#-| zS@ze+|NS>4#Kn^47W9{;en5!)=;+y#reI|QWHTvk*qRrfDD~%wGXyHbqJ%sx1wLBH z-1@ZiDV1lc9Yha;e0kJC+&7x%(v0RScLkx(bpu;ptk3wNe~7&(VV+<|cveCtcI?l} zO_i(1aW%dwW@E?X~~^&_1^^hMcTl?9A9E+%7*!iv}~LoNE$|$ zYX8AGwmZ5l)2429Pj zCCgr1+5I&n6pBnxQ;=cxYUfw77vvIrpi%5%1LgRFo8b(u6*6mlRz=xLuqNfox_F0N zU%W$xGr~klhtq`u?TmiL-It`6e`f^%#Rw^g@({t$GKOLqn#K?-WJtlfA;tey$q9w4 z8bu|lxAdK~NMP4SDNnsDwfvBWiFojk{(^X*VpS85DsHT9AlvYw#V$5bjxV?w&fr?1 z8Z~5=>XBrzKwF|jhqCQh7)!83;N$P*s$6eSwI@}#$9f(8Ad?4X{Fl{v3S z&e9S!-#5PU*XH{Rc#~Qb7#r!WjDA&mrTI#FkkGD3u77(Yxt8`F`+CPCxTnW-@>R*1 zNQVf036|o)YtlzVZgp6_CM2FM-^_8!T`#PMq!DCvdei3JS>or>BZLiX#uph%rcQK2 zS&N!>!UH@cyK4_5J79!oRTRtIrZH|fL(J$_L2`ADkKCBegbEBI%S_l2kYV*~`SnQc zf({yS&7kpEqbpajwHEtZv(>f8Rfit0YcSm;jk`58L=3`9A(hY5qlETCzU03l4I=VV zfj*54RM_n;nVAcZxD3^xpdUiQTAXvo@g)-G0=#2McQ9i4Y6HjdD z1j%@25K5Rqu%M&N4D4bR)(TaWV^*g+m7K(k&WIY)%Y7N^gfud4VisXv?mzD&-O+si zqT!TjWh=EudWPokf^OWv4%Y2F*V~~-xCX4~h!Y+jy;vH0^+w?ZjPR_2WY};xPGjtF zhQjNNlD)XDM=um!1RK;8WLUl0d4(1ff(brQDR!}ea(uzfU@u{X>aJn&#jGn=3HVVU ztl;8(rVT>y$cG3T!&{?}uMD?lZ)%Ccd@tyLKLi%!Q^aj4OE;dDVULo!76@ZzC|d+g zEHSOzEL@u?g(ag+?$|^Ec9BapUduH`mdEDwmw3tJrvzm16qdn}P*D+5_fBJsWj)D*Uv8mT)V&1o4KBz;QX`8 z3x=GDt5Agu>qejI%v|AVr1lu0U%*6s)L*Jk<>Q2{Ef|;fhNnyW4x4d!yyhe|F75|1 z@12%*9e&pQ{DNWq)MH*uJ*5eV(^s_cac)FS6#yjqPLvvKB;%IzK=Bd-ZXuHw2!=fSQ{tM5zHYQFSq)`Y>$GUHBz7ijNd%n5Zc4OYR?$Kq!VhA9|wI>Pv9tkmW2v3Nt z9r>$+ApCz@LY%Ca26E*z=(ku)9gzfUgOCKtd!L%HDowLUXI%SFR_?n#yt8SL2G%Pr z>8ck>{OOqlB|emObH;oF`gW2QFgb|=7aQ$?QQnH^N`bxtFE>s!Y#g_w<%>NGvojmN z+$$iu$%{P=3+3Z`y?*IsxL35>8=N8+Fb+()%y6j_a7;U(V&)p|X+{Y?Hc*rs>XV{+_{ol1fh zWowmsOs;G7-mv?Nz*gMAMxsxnrwAK?8JB&7j5F;pDkrH1rYw2%0e@r*njLdjROUU< zFxD^R{nNT56YGH1T{i_K2q`7oP)550ei5bt>gG3(P0DsHl&7$libS)cA|%TNdRp!7 ztm%nlnd5Xc`i|@nv{!2convA>=M(7op!A~SgNAAuYqBC(lVycsncFnRWnCT=&AOsw zR(*JnAB{MI4PujpVQ4>U;}`2Rp_oIX7|n9ED90Dv4E7FIsEUSc_Qp!ER?1a$%lkb@ z>bF-3ym4O}jg+3!d30ybVm4+1S&%Z>JzfZT-w=9I`~8cu;Z(|D)`$j|ZTCjsbaVQw z*6=njC$}}I`RUtGo@*GAnw7o+W&a@FMH>?eWf^hMNU2&vhAdgqZ1qk-+pCpANK4 z3|dg_rU>O4W)PGA3sZ!0?Wg&w&L!4f*LsTZ!*hI#t1(<=o&S`NH~3!sig)*C=JJ02 z>BEHe$VW#B=(Qd?RO+`x`ZfG9>Ah@&oyD05>twKc=YIM1bQy1bFm z_$xf$SsXvZuchkwr2`#ebmPmI%te~WmZFjW*)y2bxvq(GeS%Z1fY1 zegCwfudI%scj&!(8)6$czk&t>D8soXRO|w7f)C`Z&?8;L6?bs=9A^DPr1hK2_&xB( z#qT4ffBS9g=Ig=cVVJUEFqXnFvWxd?qmIA=koSO4J3-I$=^kUuRF*?GW(9n5Yv6|BYm}naXl?dk!9DM|m|Swt@QaGCoEC*En)!Rx|DX zw2tK?X#WEKt%MN8Fri?Y^XEMcTjx%4fvHSiw$1xSb&Er|Utayn!I;^~!UgxZ?lG9aJvRQ4!@gEF) z*cvx_06-6$Af&K*U~sbLEfY4@y({iLu-aW<*>Qk<269C~%XS4`ALeD)smlmXh3X>5 zf7qqJ7l#+$2|d7S0t(I+m*%K*tr&Z1#K6?M_UtT4KIq+H&2iWsE!ou-n_ zd@0Eo-bXE6RCT+@6BJOnR$Fq)3n)q?--&^YpF(~o{NlunP{e5cwkyxMP1ab< z%;M~HW@e%@v~U}fey2@1c_|>jIf(ro8NBTTnClx(in;U_z_~6!sqKJD8USV8 zBt+Twll1j_SJcHxJ{DTN=tk7_cY^rHD0&q|b6e*z(FuB$H_l4<&;S1r;-fz}give1 zX;MVkU7jK14R?-Aa6%Ra{l4Av7v;e((q5^U@O9Sx|N3vQvvT{4!Z(YS@Qs(of9qwG zzBx{%CrV}p#hSkRw`5Q3t`WKi=XXrsfQ%=Tw6yLn{@A1=}xYDe72j)3kg zIOM*1S`a*Eb17{2fe|exBCNXKmM-~U+7Xwl?s=-*sjt&yiq+VKk5dXn^sjfd!uwin zI^vC5wcT$^XVFT<(pR+ZA(nlkcEqRAo9gP@+9ag4X~(Q4rd4d&)UxRVlYV?ji7zCD z$!tP{uQP?!8JXD3M%{H&*cy^KG}!{n5mw*8FT%`K-TdaU!Ri~7tM2!3N)z~11dHY( zRk8~*zrMbk4F!otMxSAez&6|&kM3Zl^IYeleR3=BLqeZn$zL_yBBQqjlftHHs+n)8 zRiEJxO}EI^%+=Vmkae1Fx#EuZ!Za-UDX;-2=q+`CxYrA*yvO(ahjIQv=$Xmq!%uiX z1U3LEu#C+(u|3JwD3-ZRV_cq6Y|B^OP%>t%p@E4tR$wu!1v0Fj^D8pC5RdhXWl@E0 zk)?NKL65phb?lkRe{{B6oz>zgd|OT7J)XQAKUd=PQsr`tm#?y)PBuIKkM`5C^hbWM z>_G|xnRmEVL60`LA%!7Vbx&OFH7e-JkKMk<`o0JcDcmtu%P&@05sw6(<8;E?^^>5j zf)QlYnx@#kb*DIojfod0qb0~+aK?|ly62Fb?pYzM&3uit2|9~PwO zLZy1@CUFdIEPJ9Y=nw6V#^z|YS^a;#N&FpT7kcY8jr?p4{E#Y4m*s*w`rARv2*t;b zO&?E?ULsBJ5IPCH8RN5T9(Tcvj;{y$YECL^CrbHEn;HUxn&QrkhESlP|tP^bf|)Cs7_uBnnc311p9U#P)vvoK$ZVSw4dofu*4x($x1yLcm_^0gdK zc8i7#D}_L+SH`#Mc@!+svO?8f!Eu*vQ@24iS&uY2=rjMvMJ9H&LFnz{?AsHTi!d2t zn}Xo@Kl_$}Y~xEeIEIL5SuRkpAe;9h*wm;=_roW?P1E)@3#Tr+MC0<*c|lz6d0t5#)kcT)BTStV#vB!L7)yRe+4j3K&rjj?pcFc1o=R0!y8M z3UzSfhzX+R*5nq&Jme9KWEIJ(f>>T8;Y)BUR5Q7nTXd>ZuAov&4T~=|=_+qWN@wMJ zgubk4H10J+>E(&ecMw5J5S#O;wcO1Gi$AN?h({Q^Te&RvL13g4MY_ zad2)1)-pToP{#uu*{a*pz6s;o4`i1t5ho3~O?L|PRkSG1>c;JjBc@22pG@0lNM8{9 zOyNFZw;3s&6sdWK{0l2w16~doGkJ|`r+d<+# z%>&|JRNWS2{iX#^X*aTMh{GQ^@7Vhe_|2pWt)PE}uB^Z$3XHREJ{y z;vA{DT&GfivZat9N}Hen?C!@3KymENjGs0C3R!8GesP8CI1*AA5RV$d98e56y{rMF zB0M<}=E;cB*BfvuySdEB=>6Jql2O@VDwWfiQ`hV`FQ_S_a(p>a?81lyp9%z`c2OA3 zZx%HkX9NGZSl4M69UoUV@$H35^(tia;-7g2zEUBsScYX=$L1~d`%f>#70a+( ztCR1R6Y@M|>V5{kQX#HbhGmP_7F3%;JeKSh_#(hbe`NNGOKm@EvG573s$5&M$}ceB zHzHWBGC-M|D~zG^SyYFMY^64i%6ZL>uxP|=F|~j5Wy4leX8Q>8D%Ko8?DuCdt9eBz zTRA(w(kVDLw*ymMeYpdpV#*k`Flb6gQ0H&X>IiDgzLlK1k;19Hdl|L(NDikmuW;&c zDW~>KF)-etCME3sV?%R@rC38c?TTV=gCWUggZ_GEU8y+KKUw&FREMr?28v z?gmap?&DO>aZXLU%BiDw8MQTUY5>zaGADrP&5q^N;SG%1dTJk|&M!Q{sgqX&oMn*4 zdz?HmwKHQz&+QD+h0EhPwO}KsVzU^Pe&qzGVv0C#-aSq&3kw8q@%njz&>ORUWgvO^ zP4;nn=kBm}oyc}!kH9{*Vay%Mb0}onZ*wgLMXr1MTjxfrVtu!+?lQ`Xr9f3z$gH>) zyTGrqu(}(A+X}0TE-Y7GSacsDS-s`MDiF(M8{9)~32h=v6fAdMaJO1$;M+eiw-!N5 zz)@~UnQ+g_EmtrZt2REHS;r=>IPv+zj+%e>Fl<5FGoJJcIDw{zkxG@nx{s1u((q5k#%uE(G%rxEN2fZett` ze)*dnmNHeBA|*BPEeGE40MmM#KYJTy{#tgIeP9 zF_Gf5q~$nDq?KCYbVy6YRm!u=rM7asmUtYJh?JluZigiz9@CP5Rzy6mCB40fctT5F zaVBD-mb~Up#MN5zdLWTbYRQ|ygh;2fBybUYI;|yLyos2nCC@Y<;u$S@u09dZYDu@o zL_DV@-J28fyq5HECE^7w>E%JBi-_MEExD}C6lC@x0^{G=Wqm`JM7i95pm~o`Ia}KK z7{BnwK2uKK_2yKuO693kxF_c&dvRWY$789|R$MaAn@dLfGfEB!a^hrx2WKXGaVn!d zr*fL9ytXQ@C8vV?I2El@2`Uxk%z4qOWROZFt5kt1nXOXUDix!?pj@g3AEkPepelx{ zqSbm@*_&|Hn@x84+Hu7J!Q*#${%u?mI{ciBZpnx!l}K=A#JaX(V8DqPgXR&!`Df!b}^oCiF8r6#7Qnn>SD?9xl*Q*%-(taO#*n^ z32;k0Gdj~AXjwD3-C-z}A!WQCuuw51N%8I{=tTa)#&6gLjyWwz#^6lNC*vC%u3X7- zMTFOyq*qyrea!a!EbTj^@!h{^J~8Q1Bp2e)Xk3UPrDS%K6^dcK)Kta@KY3M>YwLi3 z1UKMlFQ9BMpwd=AF`j0W;R6)pW_HW=XcG{S=MA?!Z=eikpadVFDCP@CY3^n&N6B8` z7I?rdv<*->S2jZnn|oNDayW~OgHwVI_nBj~-II={>;${;C`N0<) z)D8%k*Rf52VbVV0X6O*z5|D9fKr&-9Z_!p)MK+ajXeT(ZRt|Brdpbfib%Z=T*)q$MV9u(*()Z90JWtC-1_rGuZK!fBe4T*AXEeD|g z1|pf2`#RPDXq49gpz<03R9*vs$_ud>@i5A3fY}Xqo0*}7ZE>?8&MmJ2bYLMudl<#+zycB6m}X{f zxh~|2UEo$;jeyFlkr{=1no)sA>i|zRk*a(5&^8c65-O)QO9?P$LoXovX7zvZ_6+2sdafku0quR++ggaDenlyhlP zJO9|$AQpH);tZ2G>JF50Mg+WFpLy^tP)JLlEf1*DFj#bv5BS5W#05?n&Opc5)e7kh z#j~3VCbR`gW!w^W@xp0upe^j;h11>*o(VAZ#-7VV9zdC1KymIsH@qvMvMzAT*TF5~ zE2u@e!Gqwc+Hr=>}B{IctKRysE54n*= zV`kv(SZnnI5mDNs0v(J_aYm-plA?Z|+b0bsKbZPtNw1;0nx+78`QjI%XUoOIYuKZ?xV#%O3O7;eWk}CDX}f8ZjlSBZix%f0e_$jXP{&+ zpm0y1`3#L|^@Gywm~_E@oe)lGUsxZzBT}aZMm)B_Rw6#P)Ng_)DwB^(dg7+cIxbx{pxt0Q zeCD*!4w)}D|W@V;{()F%IPKv}{n%~sQ) zlhPjIFpUpLj6tK6LEEJt71uoJutTKk_Umfq_MX!HigZcoc2;VD7VCRaTL#Lc|Gt?uy)QhO%jkS}=Xq4!|Vz?FgQTtkb6nWa>B@^8-H0L^~XD!Txr}5LuTO$*ZHQj z-=${6K8F_Y<8!7{mvL0GCE9?^!gR`3qaZkWLTD4N5i_naOHdEf@T<~f(xi}olSjRi z0q@d%XrN}L@>H>u)BGa2B+xdgur=y3^4h45=V$X9oV+!pMKO=U_#KAzA)!r1;F)pJPt|HWgHj2F z_vdR;Yq_M{2lf)1`~AFTZyNVOLl)CFXcx^J0fx{eGhO=y2IRT`-|+@2W+=hOjH0*c z0HYEKTr->jlf8h#J%PeK%_zp5=@d7BV}S=?vX{z657;8f9XZ?LW)oExiY2_7kwsUo zSsGm@+Qu!_R&wkrZ1x44s)=Q}*t!}O zRpXD{qx~p?a^(+9+P+8oxKPOQ7dQDQpFQYW^|J!ieB&M;=(KU=zvc3O>yNir`_YGb z%$u$VI<^_m?e;)*{7{iu!xC`$R|nXqOE|1HU{7=Wt?u`)>vsTbe+Gc%KLW9Qo}fDP z=LJ{gQ}IJ}G_YQG{wb3IGby_YXd%_W6vnzeSiU?6UoJ@qG9+AcI3~3)T$_{CdK_(O zNV;}8@MD*NMP7_3@Bp0Nh+V?GxFIfK#*)M9fml9zCYW?{AYB5;TCGCqAaq&o-j+Ji zCQ;n<8qcvCCgwP;zpW3}99MeWk(#o7suPZ~9nia`v{ny}>=0&AekIv`X5ObxzjoPY zwq}*-KX)*z+%HK>?GU}GY>w-P(8;P5J$&S5cyYhz=bgk zqa9hSolV)CVDu$6&$qO1?z0V(H1Vd<_oRkY{_UE&ELz0;O(pxA9y!3Sl8Gyu&;eW9 z!`RmLGq}(hLp`7rc7i|O!;CnW-!o7P#C4Z7gYK-(@Fk=n5Zhw!bDiIx6rJdT2&`T_ z_4&rHYYu6h3<;4F+p`3ZpKgz2#%p-o;0;`K0(%Px_6r@Q;n@>A<7rjm=Q;e-)W)(N zkl6O(4%deR+11$vc~?8(j+mHcz|kFn_?_0Fb49?R+%>@mu+$0sn07#+4S}LMn^9UI z(CPYcD?~s6$xi_lJdG*&?xbax!0sqe0mSL1+N_oZv&b#l{cEo_ENDdA?-svHU`9{7 zHu7yQ6n)?xgi^CVys_>B&0)!nNjc4>{0u_=D8|Y%`CZw^vH_e3Qp$5^%u9w%>FjQS zb1ch$MV2RKvK_@|k_d=1_w1$->;n20IAWW?@ZKeB{6OW+P4nZddcR`vWWPVdx1GR< zZTASynoG(>pgo)83o%RmA(VDy1J}rE4kB!mK0(Ke)Qj^dyT3Ae(-=f|W#gaEHD9CY z?QFPu*VO7A*MQMl;AMxki8|MS;2m4NSL3;Q{|;{%&Rc%y?ZRHG?R?6v&5GX4D&OkG z<0rfK(5%so^)Td3o7nzi7ei^zbpt9H6MdshV26yNqcS1-!|`2r=Nv%Mzw{#u6g+D4#x%lc`gfLO`m4V9-B+v2 zYSv$0y?Dy>4y!atx-q4O(4|GKxz!52Z~%oZaUE#b+O=Z+c}i0!bwYJWd6$H=UfGg;-$12skznC=3_# z7*?b?0EVjdnY4PyYw1GD!h}(6mXn06OZ=G`RoSHD@$v}bC%B`3W9v>o9M3HXe}D|h zn$9v5FO3Ma8m&qkWf54t_^1ANMrx9E?uN}vPjxyZc`%U|*Ydl2qNfkwo@6fh^%Hn< z;ZO~wLatCO;De7*{Rr&wpW(wCr_`90Nt)x5@i^NozT%SKSDRxrssY_g#%QSvUSmTt zk4{KIm+6`mowMOq-WC6^Tsu8%f&v@0b#i;)^?MXne51C+acZ}TQ)!uul4nQd@UlJS z3L|GLrJR~Pr30g8Ms;B2e$q-#%}D0d#J!xFp2MjLS2z_}%Bj#P9iew8FRCN-a*nLz z)ahhS9p1~SQ#qVEbcIv$$x=q*)t$y_nYoGH{u*8=HTw(q#c`T)PB7;fuP3orU9|VQ z|J8Cs)^8zY+rW$uGB{`F`@7;a>vf^QhI{i?;og5k-2TY{tXa%+0}<1X!PE5tw*;Eu zi-xl6c8mze_XKz}#;Ji_Q3KmQevLUWr|~N1evTSg{*iQzyOJQ<<;$I({Y*%~1+gXe ztLZHK=HPeMVKqI4UkQF?pl8~xrbmE->{pU>-AeMnVI?WCTS>+`t|aGye~0@{{MLdF za!8?b>{94j{MI|B(0!nf04D?I*u{}!_?^Y?Fn$y5<79GCiX#i`(KvfCi6aV#Wz?F-3P`@`fgezP1-kX!bpLcXNXV8@5T2K%Wr0>3r*O|?5D z6xm%8mN}jh@*GYH$Luc&#~h9eISyGuzI~PuVV5No;TenH35OFxnNFTWv+N(z$#z-v zl0z0g7ho2H;`zf^{eR^{VeTReIhyF7^N-J&C*`h$@8?uy4l)beKr}V zU!cu!T%aw{&C!n6pQcxJ(b{Xex!NnbX+ns8f)J{ot^Hk>O(y6!k%{^-!X&*yC+imr zC63FqQ}ma~RQ$s9$4NMz5&AUYhT~H0G<}kA%Q04aQ@2XWpK z9H!G%^oX!cUqsUNzmr1_S4f$|B$;kUYPuFNKY7ao~pgx=)!c#lBWxlRJSE#!wY;g1=E43RO`{4gntsjZQ z|7%+EP?)N{CzAVk%qAq*ajLctSQ{N>Kaxl`I(EVTci9OzCco>pK_FhcO$wICXc^Bwj6zh?$u@0QAyU|n&$n&UcA@Fy2Hl2u7HY%5-9^H{ zJwW%-qclwWHaUg=UASu>lB-Qa2pdQmLfAk`XgK6Ik#KES?IF5{Uc}d_!lCg1?p^36 zvK!Anq(D27_z^jcOe7OTvXf3E(?qftkEN8{5+;(hB4NDsA_)U^TO?P&n=j$I#)+g4 z$rN*Khv{!!$z|Pd5h8Oz*6WEc@Rch~y#t?V(71r@!?fN44qj$3)T{-^TxGh+_u+j}x)ieVVqbG)>5- zS9GQL4tj(z4H3!*Qo$ z7a_wjkDjBuKqrx1jv*2r=?H8K{*M;PHX$A9vW4W*WAr9X*N!6L!fwbWliiN%Bs}(j z*ogn#WqejPllJ!`+erT_T9POAzp5o?rT#axWU^iVQZ3m|`v-|+fnEQx@Rsxs7Rh3} z{@sPEbQc{f^zTYCX#W{V2ikwONN(8mpCghh{gXwUNbR2`l3n)w zkBB74zW+Iq6x#Q{B;wNO{_17%sOa!?Yg%FPwA{Uv1x&f*WIjr3e9}YO~cl^8lfa4~*nWoY- zx`l3~+h~!lSXZLEraK6U&E%ltDEvPJyc7S|NO+`6eq;~+zeVN==@KHnha3if2mX(h z@HoQi|5`k{WQVXF($b@qao} z505_NfOZYkSK$9Bl1B(g+=(Vs+OMD7?Tk_dZw64@-` z$igI&CXzMwlgLhyY``Omz*cS-hWL?tWXN4DnQ1p?fk<76l zViL((I%K=ZBy&Zwo({PvqB}9w!B&a!MF@R3yjj2c8hgQDI;nurTn7 zh#A9yr6S1`29}BBxG*q6B4>nwGbD1%VPKR*@*D;xNo1Mh9HhVmI)@Z#$vI&TQBWB1 z*d%htvm%l6?dOn563K$=bcy6R%po%+a>5}JsTn~dwRf~6TZq)o63Ko%A_>hA*1>rx z(vI##Cd87R(gKl~K%5pq9Yyx8!vA?FvSd0unNFu`Z)-_}-E{2+2-r{8UO>UeV~hme zP~?9c8Crq_kcK|gq60K^5k=o<=p@t>yP=cuvUWqmMf8}4&J{@#9lA_JuW9IN)JXfG zH;|7GLvM-9heZi7$VNJ}4>_jIK|BtS9LHVAT(Sf42&Fr;AzHdZFbO-fYecdS zkBJhILuoEVkCI$Re5v^;IR+vI|L2Q%90xIx9(O#0KC-S7|;2fN{Tiz9Z!k0JZ)hZl?J6%H>!#iGL}OJtwJaHE7S-tbh3 zESJgfG#Dhu;aeoK-f?&za!NZFSvG~vB{#KXs@+_24^~N-OXeXF@K`94LwFn)Nj@GY zMRF34{|Hm)1))$lg;?d0|5MeyKsAx2`vUjdyLRoW3L+&B-}Yms?KyqBot~b9j5O`( z9=peJdT{34<;)$|^4xRII=#-ica8UT*4&wO&$@Ffhyo&yh(h8s0Toa{0zNX*4LIjZ@V(wQ7P{y^~d;gQFqLQjq?fUHs+*6tuR$Ul!NSBg`r5D>3;8iRl zR`)SfV|kBZrFCO+Lbo!=uzG;uI+kZ}=YxkBHj{@+m57xSPtK3QNyY`(&Yk2Mo~k4# z$-;M?I!Ue=dahA~!^$I^E1x`4vhch`+_;BWuuQ}Oubb3I-Qr)Ni>|{S0<22~J6&hf z@T0=lIq=wNT33wkleF$4)1SS9Mvo9P%U-t&-zKuIM#SFtx>^zY-s?_@ z*yCQe61s#Q{Go%;qnu?}wcyt7#PX>Ss>bo7D!1T)#4GgTWErGaNhBHMA@yOpp@C0% zDZmYQjH!S;#<#10xN!-ESoX6}wFy74)Gg$TFhHN+WLwD-oNOz3itXp{R5^&R0s1hE zV(AyKdWPXXmVE+NIk-LjSf=9b`Z@3&J5EdJUb>$)Vj95L@5kCDKtEPxxJO`hP{coS zl>@l~@#7#<4jzT?3;npr0QBPz4!{7mA7Gg#V&%v1T=6TXaV?ZV47XrV>A>Ry3}JYo z3@NYh-BtGCT3m&FxE2n&5B3vqVb#nuc#8EU2BlbiN3KEx)+_P0pYyos?!b9*R0vfW z44UXLF0dDdaUFW$0zUszxgcg^$An%Gdl{x&{24d#7bK;^cA5)C4EnJ8GdV<0V0{@+ z;8HH!V0aai3#DRc%4SV~VN)*t#0SC%F1-y#aOrIj!1g^Xt$@`ihKE=t;xEdrr>`*e zz$=`r2gb1d0?R}!&*Mhx!xCSbULD8Xh@KaGc+{Y;ak4IWjgxi3eq6_ASgvPKM)!mE zXE=&gwm@p>VQiR1IEGaLen4@emGDrwh%YpqT*Pyjjb6mBfv1ykT-*SRD^A=Y;0=ah zEUkdQ4yBw1F`7wGS&pUI^bvG`*_4Q74Ss%xu>3PPX$`r6Cn5|Pc>FO7HRJ%E>+#W* z@JL9*d3=y&@?Z}O)?;{z#$khLIT;5x-H0g&8%@ix%)s^= zESHlv_$8H0OdCihrVZpGEyWjKOiFPB?ZEanfR~!76pk@O!BTjPn@}o+DiWGxCH|q1 zESx!wWZ}$d|a%`ym(GkFZR{ zG7sAhl4lxbSmk4Q0{Nyy4XZL-t6iiFmcve3hHHh_E~D5OV(cXK2~xGw@yvhbeRC)@`$tBKpU&Fd1M30_h426@w+dH2PBp<7hVg)=>O zqzB@F@PKM+`3=?568li}3!|V0`>E5%9*NI|9#PHT@xEi{%C)Jz;z?7TWr5rM>Dp8q z^@+V(7J7=`Uz@s}J{E)f7X;3Hu{L!FeIhp9USPXAZ*A%>`cw=y%x^86zczI@?Gsx& z7BmGGtWDiRpNSU_EDY4DYg6sCU%Yzlol9CCtW7Nu2E^d;_bua#*QPqCU$pO-(c3=f z55Knw&qaIB^s*iE|M2@A!l0NrsI+%syNL{mWgaE}7PfZ^FT}csrn(#0ZYB*T`{}5% z7uen|42!KJQDx2rfB1bPc`0^1o1U4s@DIOtkrA=|c=X5~Z0`~RnwWVl+PV!VI!#8! z>W+lEqxi%r@=9#Vo;{F;?K5OdY$_24(!PBy4hli4+HCROB0eq-2|ZM8@1I`(;+xgW z*OND5>*%aNAGUYWplI!z>Av^n>g8#~%{tCwG(89cLcM)^?6>gD5* z$?c8I*|c=^@*re|=6&(m>gDNV6VD7x_j-P|dbycob4wFz?OM2*zYub`>Nzsk)-C1o zVIhyJ?k+X!MSMPgsR=hgb?uD}Y?ds1MA*Vrzn9f*pIg8K!uLeYI;I5fez=v73U@$t zRwQ_bU>kphcZI8-I#%|(LOv!GaW&wb>9#9Y{#x)-HS3b8e0PG4j|h6jF+{}+oN$avtzPG=bxPK;A!j(Rb7Q7%k^0?U(d>@n(yFs zqYFxSIy(dEsS4I&UbvTUVEee*(gAh$=oQNlV|dHoTg&2CEIUUUO_^7rbvS0lvJO(p zd(YDRiWw`GWzsSp+(zwIoaQi;^DeuPc?%!!BiaF8cAK@l#2JplLEcrNSWm^RSat;} zc-b4tYM#Af*(FlRTl&QIYuIjpDn5_}_B?E7(^IDWXS6zd{)%Pkw8>Pz2byloU9s#u zImGQw7^%i~KdI)ymn3*=;fiH9iIcZFg|0^nRxH~@Yj|M2Y2=OeUM=6qMu=+O6y>Y^ z@G#F{O;l}pqWEe|M|dVXiW{VTmM1Uj7|&w)M0Iv>`~5|Ad=qOSs%I#!tZ-IxQY+MR zcWZ3Z=)B~l({P-7OXIASbCZ*9krUif9GBTJKRIcboaE;ES#{^|@!O<<+b$*a=FCaf zlH8<`ms?}Yp1+@*R6tL0+xPLohl`Sv0;Gw%i{s07eVClIg}S&oZN7c;!sMi0a+;g7 z7BoG_g_>zIZ#x!$r}#(7NxOwJJTM&J-tkd#QXxId%a6oYxBN|V(nk6{_dI@gOB=Sc z=s8}0dEU*FIDH0f;pVMcLd%;^l9Miho7d+gwATDMIVq2x=eD!6n)-i|oOFX+;5Vul z?krrKoOF>~x<_NmhD^w{2M1az8masfS$V{`2vfJARs+bcI~u{^Gg$PyaSK z=^AO}uBUSbh7*&M+KGoduE&?ke70UtTW&=MGv3kmkxaalzsK9F zW@Q$>qo<3|#jPWz*3F;lX$SFg-vjUz3-`H&b>r^PIo;(_n_kA+t`=}YIzm2 zA6WR97qV8Oj+__VCl){9MXV1`E+=OAZ$#JQbyFRE%FF9!bPR`51?}Uuv;=>J_>5aw zCr-F&mVba97qWy*($6hparHi`rvct{?rfT_)>At(uNBJIB4ytX$)YQXXaXYIcs_UL;+pLap2Rmz0U0&7N z3T0#~bkNsatM8tXSwZx8jEr+nWt6>J)YDn|hFe}!zgZ3PVrG_9XZ>8~Yb8x8VK=B6 z9OHq*tJX_<*-oP7cP3;Wo0Bf>V=Z`gD5kz!KQAZS;E1q6@@LYHGvDaxsIXDOox#_- zLQkVKL#lVoYkjSeOldzmD5&0sct<*9Nu_KHQQh(Gt->a$jAct|<<*3Ze6yrGvFh8; z>bA_wkq)q2Np&Bb8R&@3lMb@ycnB{fUBQHWse&B`^~v4%>v>?2D%loEwbc`ARDo2* z4&xi)pD|KNwn~TCb^ZOCAH1t26vCfQ!8XZq@4eu534@0eN*%8kwqBPp1I->hIpOtEx?ox}a6P7_-md{`nKWiEUT!_0Q&@AgW^Sb(bT9Sje; z`=mN{6xaI=8EBcaU#e%FM6G`$2ey4yDjjE4xP zbrncm58pW`HLwey`Um3bYorRPk!`~L={9kVEG~jSAEK3-Gyvv|PcfXJRZ_2=I2!&I z!%=!jYRUuWlP@qhX|;rh&Xz9Xluog0RJ}1ay|Qsejnu@vpavezvX4QnCj| z*9S-zXd8qx5}vKQp0EA!yGD9daye(!znb^Q?;7Ye3C{zb{5gO8ZZG}bl;w_fZBF>( zcO~?ksr+`F<1x1P(-u>}l~C`-_HlY$!tcyFHh*$My1{PZj`uv;e`!XWbd$B?8@o-k z_s(sX+E@pE4m#s-f4wEOv)htt&YJw{(wHgX()2 z-ExpVkh<6b+ypyf%kA``b)N4zZvyNy3ewS>c2MAds5PRq;A$Lsg3}z>zwD4 z9m|D zw6Nf5>X&-hb4kr|a%b^JgHkU$AgJY;@wV5C4-zY0sSZhjocQv+Kho1ZaBC)Se!Qpr zGd-5m^QKE)xpVL*FC-s3f-ksTtk3vzSbEG};u;YYZ?zoPuVCQ z1}b@b#k^Ni9~;BNt*LodBpkQnpH#Og2}tr)SLbBnpH2! zMU$nYM!)No~@)n4zNqOfP-^8I)$zBD7%B_ zKxXxHfbJLESkNYvi_EVKW;opMlPPl;;3&GYYmg}YN3JdsENx$&5~@fsvCHjuiRaMQda@CRTz*7! z6eSkRX7L#A>Ms@d$ps~Hn)m?w8)FHM-SS>}y|@j}ZEbN~-r4))bnzTsZ)#~KYvI!U z@&++YQ2X+vlNk$2<&EM7s`{T!_ZG}(5;o%>ZY`6&&!*=b3#GeIF8k8dt~B8gu|XR> zAbTpJTaR%)eNPX{t_v|;drf+J1r@Su7wyRTyi(2(&4OyrHFZ_Ysgg7C4mj18XYyW4 z&<@F2;z@iP3uUu&cD1}od`?y8nOIAM$th=xS@=1<6>CY8Yvj#hD^-0PXJbf7%ptXM ziEFm`Y)nd`g&daay|I=z(c9s#UG#|T@Xqo1;!_fD(xbAiI?k7e?F@2Eb{vhzQ$R|h zkJiba8wt+caVd$~R#GoJ{IgsoIMG9TT*f0|U_(MmVgWfJ`^IN`J#$kM18`FI7S8rM z-c3pDg$CJUot;(x!<57xXq5fOX9aq&-3F&*%ahs8iVso}UqF*w-#V*&-=dVndg_t` zS7!Sk{Ro#2r)Bf&1aIFbDT!UsEc*r$G*|ymQW87hjO?<{^N#;4C2<7K%E!*md*S{( zC9#HnFI!&Ebc`=eNqh1QMR3!Umr|ONkp-c+y9$m=k&{Rj(A0rRnKF^cP6e? z&J`bnYPSiF!@uyzdEzcS6lW0JC|BitaR9FhpNaUgN^vbIFxY&Aw-kg z_yj+Vozec$8Bb-+fnQxvt6NOYo74N`V(}TSXq{{?ey3k95u5Pbet@~Jhy(Io@gz|< zcf{X&ws4>568iDre2dh7?U(n9&++AK6tjvx9+XSPo7kU!6=UABa7Zo_58@?Eo-knl z_Jv$7zM$%emuA_LhUEj|0qhU7#bn)>qrH?5iu-VBMKQhxVMMMF8;IIkD(8>?Iv`hy zCD_$SpXt0CH7Zw$o6!T>g|ZFvUde~>{tz{@iw3-_#^h>o7>`zICTDHpYuPCd;8F1n z=_ppm}UE+oerQq_+15H0%y5u^^RC;=2 z#@atvy2K%5DQ(u6`}?r{gltk?H>frJ*tQGV%B5gTN{zfbZMce!K@zSMBUXVRXbK%_Uhrd|5q=?!T zTjl)Rj$bZaGD;kZqbDKlYU)yLNevV$&4=VO)!!^#vYV7BS1V?W-kQA^2XI@kqgtoB zsur9Ua)ncLpMr2`Ik8Yre%P;=kIp>Rz)F=PVws|LJYdx?=9Vi*#RH1!xgrFQEI5cm z?e*9l%9Yw{=T|6oVkK_ZEUD@2{3@khJcRRf3TDl}__)|C>=V?k`@BBwSJlc1aS+v~ zk5wN{bt)&t3_;D$7K10htx+1pBHSG>Ggp6Xt4H?B?&?pAOMll#TieWd^CV3Q-;iDKPfiw>=7(j}_5K?%X zNHG{jiorlq42F_oXeOQsCWSv}Z$T+OWk@LogGw==l}=D82E$4*7+8wI&{Cpvss5P_ z(yOMhnL-4bg0808B%5L~+!TWWrx*-5#V|>y$A6B&pi>NnonkQX6oa9s7z{pz)!JKt ziccAWia{sTFq8sHsSc%K8-)lQg$Ny;A)FWt z;=~Xj+9YyfGL#d8!JHTj=fq$@Ck8`0F&NZ|!LUvYVeHhc6N7=Bfc|Q5Cq89(Ck6vN zF&N^B!5~izhIwKz&=Z59o)`@F#IS9WJ+&_|8Sn`c@)y(qoEr1wmw$P*&W6TcfcWu6+MXDA!$8Hzf4hNTlCsWTJ} z>x2mGgb3|~2=0WCcTRGrpnE5djA(*BnxJ>ertlLY^b;caGZYQ~Bszd%H&UEJP?%KE zFm=L&b%u2lB6w5xO>GJ|AwoDq=_PHOAWn!dPP~)!E#!nrd67%r(N119xk$RtG2B;GL`vdJ(< zLWD;`1W0NSL6Ug8@mV%Sk`Q5%R7Xkux=8QxAx?%t5^qd?OC%wJB;jq7RCJWohXHhl z*G*kV#U~mfmwrj5Un}T+f4wg^C6_Qsm%3JhPLhUJhT;@ghLY};VU>gkmV^nH4C^Dj z&5sb_kNA`UkQnyT_6dQ+P(nK<2ol47dTYWUG3W>xc1M_i$1pDf`l7*$FyV_~QiKUp z)WWC;5vm9gtOyaV2obOd5wZvqv=}Bsh&01c)X^|ZgAles9RCmDAVlh5DBgqH6FL}* z<@C-355j~GhDi`6OfW2e5J7(sVSg}ze_`$e-TSmj@WW(?ABG{)IYE9HUXr^L=7+&g z?oFT{21ETY80?3^a6b$N{9y>opALVpMnn4RnxH?3u)k0;@K4h9PanwEM`iUvz@X%3 zI$`M782Y8fapEG zC|1IKQy30mLJq@l2oZ8fbUM_DV~P*qZ9jwvKm=V7wJAa*x*D!cwUX`$MTAL449g+W z=}>q4DLw@BLxT??(hoz?0K`x<1Q8|)Q41SlC>w|f5sC;Aj0h2q2$PT)azu!LM2L_? zh@`|&ybIbSCPJhphN8iVp=fv_M1Uehh$7KNQNR6RN)?IDin`i7rw>eFTZBnm)Iz!_ z>b$7mf1!_E=_3L<>FaJaMUL>cIbtx-k)$L>xFbGkz#|4j9x)j7h(V`EEo_gN41C03 z=pzP$A2AsIh`|6z42D2rFbEQZVUQRMgv8LLg&7hR5|hD@7z~HRU_c}WLn1L46p6vG zNDKx>VlXrkgTaxYg+VfGkW@!VecVdtg(-}L2#tgYj)Vx0gttKwzhM&+$*>ec1Qo)R z6>5lu5TS)I!G&QVgr{;y2*W4{5h@4~EC^v2d}s<|prC7@KH8@bjOoO36CRnuGzf3m zpl1ITB6JWUcn~6Z5F&gKB7hLTO!SrzM(aeV-+QLta<&KW@zDqQ^>J%`d{`eq)CcAC z(JoCNHqzNh2O`~trd$ysU=b!{F^q{2p^18$;6&6!J?WenMni~HLwK7FFyk7>J0$P(%y{BVy1U zG0cb<3`fLZKq3Z15;06tqBigqCIb^O7@CN|;6x0DCt@%_5rZL$7z|M)OPA>Hzrl(S z;fiot(B76s%wbv#10qZaqV9zL#SnJF9#a?!Awmivf(l{63d15ubrRIab9G-w8k{!m z;{E@5>Ax5JKcV5(46VxcV=eIc|NZfQ{(8~ws|$bqXz|AX{m<|J+dqBzo4O=W4Doc)gpdCzy4$N zl8+P4Okea1_}72?U2h4$6TkE?;_83Rl)kJvsHRYfe7k^UIUh{?7X1Oa88P z!B>3M%time@xk!FFZK4jTi#0`pZ$Xse>cG2SR23Mjn?R|`R6hJ#Hab`0v`K@cd z=83X6O_-+tV9{#*n*THW);jt%{{ehlx8NII2lUfvlC}L8`~$XR+Tv-STG_!wjP{Be%QEZfQQX(Mc%~0${JqEVeUD#qxr_Pwp zm9e?$HkZc2nEqeq0DkwKH{bt{$K!e4pHtVV>zw;Oh_{ay{^>;F`Ef3BH$|#0ggYr2~=noOvmWKIQ5 zMpaRgT1AtyE=oRe(PW9Ml1;9fRB}@mY2cFvat0cIsCid+(1MM_v(_TqHdrjt&>&bE*lr-wV zct<6f9X09b#qwU7TqnOL%XMOYCry$%bHtrB`GJ%!nw0QX;_9u*5Hg9p;iKe{k0u%2 zlaR7a}WPLRm8?0o0uqMj}aKr;N`D2h0hrycE8mh!=s3y}xIIs{+ zEcU}VHN!ONHJm;$oNE-S3E`-@6Oa@6?uScv{8xoM(&bLN(ODxWZ-5cqc>}! zwkj#RRg*L17i8`2O4@JNg4Hx-sS3>IO9RzN%p6p*g) zLtjK97D%Ki9Ov*6KEa(r78`j$ z@iTtM--QZF>%s-a3x4R2P$XkE)?k0(Lh=XxM%^NXq&or-jRcHGD&}J)GO+_EaUGxI zw<5-MFC+ylwuPkwqOcJAa1>{72{&ww1q;iU)Sg8POEktI6*I97m+?JpiWQdPXjv?0 zosQH)iWQN4ID%9749|+$%D&>Zas-xB3@+d*Zs87!l(1z7Y{iwVho)$aPUwN&7>H0r zVKQbR9V@UN+prHu@f+Mq+Dd(Rpba`Byriu~VknZJV>LG6WBdTIV`pHGvT#FR3_%29 zF$NY)!#wC%jZL_KYq*1Fcm*4KTX8^n)U>zQN+XIk=z>5D#0Vr|GL~QivT+;V;wLLNY8^jFrg5 z4jjO7+{A5si=XfeuVCX?RD9rvei({K#330en2z~aiZvDno3R^*a1pohEq=l?yn;>X zqEZ}{(FmSs4_^#GBoZ+ZX_$l6*o4D4g)6v)C$MoUDlV|pcPb{cu?eSf1)tz+{D8-J z4ppX@IHCfoqb@wr9zO6x5;AbIOmXpXE-t+ggkgxmILyLY?7$J{;ubkgaS9vsFge1{U{i;EK~!40j^4?_`&IBdlSxB=%1#l^Kk30a4I76vDA z37_IyJjQF-S1ciA;euLd1W&Yw5B$&%LlKEMBqIgWF&|5@2Ah$M3%G>`_!*Yp8T^f6 zl}boC)Px6mU^qr%G*U1f^RW_{*ntB$j&t}3pWr?o;R#+qt6V~gq7=%b8tR})VkeJKx~iR2KsD4xCxl`K4&YNfN1Q7puA ztix99#aUd&O?-!6@h9G(aCJMegEOk2CK{qS+QA!x5snxnVG^cdE|y>wHdeRT$xe!c zIDt=a2M_Qwe#hS^=V~W);fX#Nh6Go8Ifk>ij89!1#LLY=dLamd5Q>qA$2g>7CKh5j z)>#;A#aN#t(Rm=TLPV#TE`IhpK3RX7GX^1|ba5NW?^>VGb5! zB{H!CCvhG(>sTD+M~bJAx{gu;*uTiL;qm)D$ zR7MRnKr^&O7x*H`!eB6#Vn0sRD=oF_mzI|303Y;15C$O>BN30WNWnDB#bT^PCU)Qe zj^i9Y!Y8_DYhx#=ho%Tc6b|A9Y??SpanwR1c%mBu&>vGV z7fY}T8?hh1;CDE6lh*v zioyY9;f|K*03Y;15C$O>BN30WNWrw`7333qji2!hFQIu>5L>vR9^BCqmJSSj(95%; zq+=%z;26%}BCdN@5|0*@qzn3C1mcRBN!nVfl(NX_b~$tuncRl1$%H9r|==J<8yqCAMhB@p;}cETR5Ox zD@!G*N>K+*&=MUHj1U~g7x=DKWoh5KviP^IA|K)hIJT)Gh5FcovK2-|QTSMe$Cbuo_OpFj1bh4(+l8^|p02C@)qaSUg05s&cL z!r(8w@op$@d>Tsat_>v^J5i`xLkZ~CNG{+iZs88T#gBM`=aBA=#2#+l8_R0!?%qU7 z^=KmH;DT5rVIrnr1zw?MPj|6wV6Y8Ga0(Z2wP#bY_iZZ9sEnp)g^uV7KZN^wh;uIw zsSG#NgF9Nm3w~ID_1K1exQibU;^!eFFv_o)MGp8klVdo8I;EP)Me;hT1vHb;faYQw z*j()4jLL9BJ-A~OmIQiAmEN9G1NG4q0}zQg%*N5)EySiz3n>N{)I&d1n{ftT;E$kI(z6dVnW)>Aza3N{19T? zRvo1Munyu4U&LV|mf|A*M#147q#>FQ?WmEa0X-H3laAdI?; zjEd+&@9rYWNs;j;*D@rv}8u}Hy8EWirvz{yCXO>em$=_8#+_(<@G zuCfV-aDPNsi&S{8tGvejkzJ)yR9BfE)lI^qyGb+>FdhrA6sxfj$8i>yaTB-kZFG0( z9Aj*(hg^>7A)nz}{ANxwrsw_il-995#S5=PEj>BSJ*68X{uqU1STGguF)tqDkcydD zh~?PK{N1s>Qaa98+%N=*m=M=XzQvDtg6EJ?y`(To!U+{o9bOg&-4TcZn1rdAizQfv zjo68UI5Emks>l0D3uNFJ&cypm(b4|mfU*b=@|P-P4S2&BeJ~J{FcovL1eR3{Hex3Z zjt&r;gaC0uFT96Q34wAL**K3Y_yo7{3I!4ar6?Rw8;#Kd9k6P2AZ-V7wgROq;{l1i zWhYMJ1Qn1N%yA(kt20SAr>qA_6f;!)z=<1~w%36X&u0q%z!45AHaN zOSpjtV~x($PyQSm%-IT-cH@Gj3wokA24EOcF$43l6uT`94j~&Ca1Ec~D||n$zcd@) zU%ZiuRmdEl*NX?pcjE`h8#qlEAT>}QZP5!Mh(sc$VIFj>!wwukHY^tyT*GJh3g6>5 z`~{gfK#IT~W#NKaXarBRhY$SF4?_`&I3yzl(=i`Qu?Cy58;6iRaezfGP+XfhP%2Iu zDAmylJrIcg2*CtQ#!M`jG)O+hUHkwW%OEL+QYZ%()I0_2dP8FdGb(c4KH+qKl)(^!V!(7SdC5Ch4Z+I zPjL_5;aB{LHz+)1sMuK;I8Os3>R<{EoX&GAH>aykn8vo5AZ8q%!-sFvm@mL{DvBHA}!)MCsIN&9$T;n zhj9uY;yOOZef)@L_#1`hMv5KEqCX;#fcG&ME3g^6aR}MCfNQveM|d*V5-Bezw0V(I z6s1re)ldgb5Qrp9fVn!XShqZc&_^z_~@Er1auZQUTQ#$IIl!qvgxR z3DRguf;3-}C^MHN$!EB?WQ?@b$A~uq5rcWyh+}BIbc}R`KgPgY`NIDor&fS)oZiO))4^>r=&TL#p(JC6YlbmSG$A;tU?6RAx?B`Ok2&#AHsEq|7OD5w~zBGff6=Oq03D z#(8Y^N|P(3!=^MTyJ@P#V=`u94a#huCeyKb^E8WSTc$~U48lrW*fL$}Z=Eh(F$8fK zgUOh;b%y+kN!w<~Of0}sWaBb!z<&Eo>4Rt_U_7>NpCy0dH45&SB~Cl?4k_KXjEiNK zv}0l)jK^dw$2#oVFoGrnah$)zbg;=&TuaUf*Bj4N})Wep$?ktHX1D`EpxL&Zu;bA zuiOmE%|T}7tWzp%cR`7IJE4$_-fi3(Hic!cSy=c-r|2Lduzx(9K{)2!VP?hj{9mzAI#rpY@>!OGc%`N!}Lvzm(SUJ zP1(7xwj98veGTL_?Dun?TrG{nbAQevB8?zlVJPb{P*Tc)&wSzzLNO80+vWgWPmyS}S-RXeQk)3<5C#6EFp{vFL!OWSA>> z%0B9Ic#M}Qc(AS1J=ji~APGBg64&t!8fUc=3l?B~ma%c;r=4tLd@l|o8|P8#3WHDH zF4SIbXK`98S~^ODLmkBftq*yL*P)y?M7*Tip-$qDVVM4QdM7!=_(^<#k8l%T9_lRj z@fTbVca|XtNA%$?vfyxDn_Xn-VQ*QDP1uEF76u>Umbs9(JbAmYx4dAwI^r#L(F8v5 zLq7~fB;qgzmLtYSyk#17R&ISFH_tKc8~kXF`^eKH-QYlp)=N4c_mdtNhNEw%^IFFEMO?>c_zK_Q7yOP_C~(40ioyY9;ewiIh-PSu z&gg+a^gm(olMsqX#3Bh3F$J@cjulvkt=NOZ$i{hG#Vy>ygA@Mp^NG9z@t0>O0^}u1 zoD2}3lX=qvWERbFQBpmqzLTbjLN8i`q_cfG`qL>U~qQc z271dl#^1+u%)=6_LMFCjACBM@EEgDD#Vy>$1N@9$u zZ8U->+QA#X2*MzQAqokYfXSGNg;;(%Z^!$}y3_q+D~_GE@Zw2v8Q-gr|4` zb+*40fgQ@A5?oOa?r4RM=mvlEJ8Nu+_r=_d&&@P5bLP!CJ3tnn9VjcY?A$%$O>+@W}YpYRkfpf2*t20N5NCAgw4CY}i4_T)8=x+OZIEBw(9 zLlA)&Bw`}cE)J79*o<8ljRP4bA5hCBesgM!6uy*`@8#y<+&q<=4=)Xqr@8e@YRAjN z#OJd4)jVAME{DtexP-f~|Hx=8T&m?}KyI%6C|tJW)_bTA=hmlk^A6J<><-f3avAWq%2_j0e*(f$C1+MV{?lPBBdYWA$Sj?G2!FL2uY)u3mt2)1$%MSTrplwf1D;C z;uCz2-%H24Vhps%uZ5=GWZ|kAb$E=6RptsW^CG6(D*^M(!+4|d!l1tO4mYR{?_^G3%saBB9 z@CWHyVKd9w7=Qf8-*p!*W~OtI5@rstwKH>MF$XgT7k4zXaVaM=y_}rQd{U;InVl3tEQQs)vImh_y%>&)SA{e^QuQfGwU^L zZ07c6?q<$y?qOz-XLB<@^K3y@Gwa#uRi8OqPPFOBn3p-lrEO=@_$N0df3)=>yP9>m z_T9-IW}VpHm+WQMLp%7B0cIWEu{YVrtP{QZlKsqjmsfvsfLX_P8bl5@>$9DQl018i zjV<#YPKKKGMxSsp!mNvQA3?rn)>+-7$Y`_P+cTDoGwZd!@#JW;4)RYVlg#>XKr%Vj ztS<(RCnuP7sXmiPW4n!v ztB5V+R@Nl$#KSaN#pyXl1rnE zZ%D?sA^zGtIMMhraoQZoN;W>N&YATuy?8V@u6B;In3 zyl&R5Qf`pO9i^o5hW!i1>4(^)cH`2Z`uEW>3Z%zo9`YrhY57Ek; z<~IEY@)3SC$EVKvnfwL6n&Ta3KPI1;^`G;ek-wXD`20V~zs!30f*0gVv;KI&-{k9@ z>FE}BSNKbG;#GP9(#EW7FD^tDHtY1owq#MWzQ4FQS;DN_F0mu+&ARIHQlz6lV5Hs6edYhMaa4(Vm11f{5&MCatJbXBs72Pi zVk%SF*s9bjx@QSh(IIa}i;g~lEd~rpZKsEpP_yf^z;Ts&O(|7MrQR*kAtojvTAm9HQOWaaE*PK?OUuJP2qzqZKcigk@i2#Ze&iF$Wii~DCqx~LS@I-gdT+&8an@gA|m^Si3LQ&#nA z%Gt*2e>O3LGid*|72_PfyE7|BW=*J}t`%^jQ(Ut%7w#G}Iw2$`;oW6dhh)XoQ61I4 zPtuw!{d8UBYV|Cc2b1-tu9{Nd->Yp%)6*NO-tJb9fm3MPD?EI3n3es=bj&K(NGYv# zUSEEDEBy1?m&jS&`fahPM^>LEYLMzcud}-Socqh+KW$h)eVZRi&CygT3_L9aMWa zS)6%=EKVQp9|+be%@UvOV`(SRLk7V)2d1s z_kO5XRP6AP?=E_1h(6d$4eI=l&R}$Wwl?|S7uViwC+~q`rK#6hZ@koBnq#Tl2XgLn z_vq_mg>+kQ6<&Rq(de<1B3>cGBaOT1-36EG3%u3*cUw5#M0fX5QL2i*#z$4OGXJc8 z#YZ)2X3LJ756g1Cv7sRWVIiTtVxq=&8Zq2>aD~JhC-|L>o~Wn0cU9|Z@r1Xv_lpl3 z9vc%n!dTvTPQJVJ8~s&R_1xx?I{93G-c40#X4uy1^9?IPzCAaf3rH6S%be|sT_naHoygWf%V*h} zSy%j231xk5m+$n){;HMrnckiCjsdEUx|9_ipo*$?Rm^Rfw{}IND}+Q1PmJOtG&HZ< z8z&>bGvISD>p-B|o6ml9o2O6gqxy4tKkK8ytnW_u{(4}LYFcP#&ckI+kgAr?f@ibN z1*!4*Y^vuVJ*Xc?6{x>YSZ|@{E&WtKwPmn*<7bO+bl#DdQpf&tnfThnyfkiFBj=Ut zJuYu!D_Bljj(H9I|5gt8P|q5qzASD$eT>zOuSWW+!K$qFa})TbetEFEVtr=s z3;OOMs#am+aY0*I_l78^e6B-K6}@PP`oMZSL9g|PA*xNWP7x5g(T{OqEyvF zIV1iJfSqZ7+p9;uN|%K<-hvyc6zlK)v9#v>PEMC z+p+XfG3xWK#)%#fn$y`rLl_B7HqVt!@37>A(*JpD@C!-cbQ#}@-|4rZTUl$DzA#pO zZlBwN@z^eJtgKtcsWR_gYGakKllrDOl~KmrA>*Ui{6x#S2f4<F z)@MdE(e2~a>@McJ4EyzuL*msLcheA4PO6T_vkkrHl^spF=SF z{+?uO_p`AVF-pIetbAMWeX9yz3Cnkl;niY9XzrnQP97c>m*1nuTs=(>8>@n??@-Ju z{pMJ;jGoSG;oE)E$B$Fxt*;P!Mc+0~%_y5+|I&Mm&+jx}wbKQuvIv%W9!7xh&W)i>5>jy|F5lhi8fGZT{a?iO{#Hn$h?c3Lteziycr zp|?v>8>}~!fzQ_HQ-9KT&3HC0tDYW6(i*ABK>8B^8Me6}<3 zo}M{f)hL#GO*GmCG(*^b%wgn+s3Sydelr+(fZPstNN;$s&xb7 z!_WA=N6Da&sKhX@#Q4#%#;^)aY|$T&0O`l*}siPZ|)5>`MLhXJXQJKhq;X16uIl4M<9sC)~kySmE~<&=L5vu5kPmZ(`Z^FI1= zelKOdbJJ9^$~pPQm!#Q^`7);~UAeq_!e_@Ye?nGsU6r)*tTpD&TdfaRu9_5@M@#b_ z>gmg^J>}=yX3Kng{nB#PNFCQ-Ew^@U&1ItWMl000`o~L~FT11t!s187hISbd78Po( z`x&b&h|sHMsGxUu-JE$VYfgp=R}J`OoTKqt{C{aNeT43^N=5TKLi*u?Ro3=(QNe6k zWUrrFrTV?QVRPmL-F>xcm(R@0`t;SRKCdn27hS%FoLFt`tQie0_R#-WtvXn5Xz^0L z=NeU=H^@Ao9O-<;opY}ud!+r9IIG1^%EUg=G(HyvN} zM~B}%{mWjc@BU-vw5VdA7{3;_ada*A_GN(sY?-M%tZ!@iB|R-uMO&Y_VyIqZqnc$? zrGj@iJ!O-%lVt2jMj8EsjcNzyJ7JS@v))w3^Q>K))IKW@Z=;1(SM=m9)?Vz4nX5Zx zJ>8=E=W{04?#mj!UD@R`cl~Es(|4+h^eW@gZQr$TSlCFT!v`crS$!2XwwKvhzqU(t zwtgI$lk~c~RdAu_F5HBp^@*FTeP$S~Y_!vl?N(oMQkL#f)vY(S$xXk$N4>E=b90xh zhkMoBe9qXGNBYeD>V1ctkEF@ZtM-ZR5arKrng7Ri+PXHY`vKJ}pBA^5)ps9MRrmnS z{gp}TUHyxLD#ZHUZQrB&XQ}%9Du>s&)GSpppH_Dk)i)kesihtN`@JeMTXwF=YIRtx Is+b&HwANF+pvy+dP!5CmCPVkBb3iVR7!$WWo&h@BW|#IZ^3z1_B; zHCwf+Rod#L)v8vjt(N{?=j7(=!|nh0=ka)+_xr5tT<5y3bMA9)x1WxczIC+pg3+~Z zUlpm_H7RwZhu%*Flju@bN&T`WnPIPFk-bT#J18k|Fv;(gl-N0$WQdEBBo~uZ zsiLG|6_bp1S2Ee%Br!FWWYjdt{#r^-*D}e>dP=l`$!UQAyj5CMoJ@R&s@;ekT@mGRb|S_?e_yXC4aB3w`$W3{lk^BwG9u6A8SFo-T3WRl28C7F>Xu?$sm zc_=M6T#0FfNrI!4L`9jze39fXi9@uK2GJ&&97Es6(3G)Cw#1rbT%3}5aVB|6tUSsj zAB|G-ogU+f@g`}Jpd>iKB)=pnDVc1N50jOALkvq%l8|DOlf+MnOH!5WNTo$bE15Lf zB78McW|>O-Gfi@b_=Naytdg>CnPl@@N{Wc@ zj8n34oJkI5DfuXi78_5CjW@~g37qi+ljKiSvT348LMADRo@A0-y82zSN&X<(Pd3S% zsY+H)Wx>zc43cRkv7gT9p3a8E^+dZFN<3z8hBFy_Ga0qSLSnldC1E*?nOr5lxeVU< zN`}v;BE*k~9t)JTUSN_6d6buDk_p5-V)=X}_44Uz;yGgNg^W4#LX(Uo$t8YEd`$E$ zP|~-+B=d>uhwYLax~Y~mxL!!ncX zU8dwbam8{adzLeZS2BoKn&c~@`A?F*g-S*hQjs-OWQ|FVtyOYuEu(xLqkJ7rPAnoG zU$5lj^$fBN46+T3jZKV=O|-~nx@ism=7>Hj??%M z*YF>Xlr1anj%B4TnxYka;g6mOLnNXx9#b&~?_eq3#b)fr9aJx0R_ehMt$irS&2kB77 zLHyAJ5g3USm{EX2Y_H;Ami;8ha2gkJ9be#k+{Yt4MX9O|QXa1GKvVdjGcqv~^PyoC zcHY^!H!59AMi7-SW z8i`291Y{!z`B;WMIE-`n6t`i%%j5x`!l8zvR6`^9Ap*k?hjdIpHWpwpR%0V};sA

(%FwTB2ndmx# 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 P{ts^Q|8MI5njZLH>4A)K diff --git a/src/OutlookGoogleCalendarSync/lib/System.Runtime.CompilerServices.Unsafe.dll b/src/OutlookGoogleCalendarSync/lib/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..b50dbc4df47d93c7acccf5442fb5a0e0a41cf9eb GIT binary patch literal 16768 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 literal 0 HcmV?d00001 diff --git a/src/OutlookGoogleCalendarSync/lib/System.Runtime.CompilerServices.Unsafe.xml b/src/OutlookGoogleCalendarSync/lib/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 00000000..6a7cfcff --- /dev/null +++ b/src/OutlookGoogleCalendarSync/lib/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,200 @@ + + + System.Runtime.CompilerServices.Unsafe + + + +

Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + true if left and right point to the same location; otherwise, false. + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type TTo. + The reference to reinterpret. + The type of reference to reinterpret.. + The desired type of the reference. + A reference to a value of type TTo. + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given location as a reference to a value of type T. + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type T. + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. target - origin. + + + Copies a value of type T to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies a value of type T to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address +without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value +without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Reads a value of type T from the given location. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Reads a value of type T from the given location +without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type T read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type T. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Writes a value of type T to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type T to the given location +without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/OutlookGoogleCalendarSync/lib/log4net.dll b/src/OutlookGoogleCalendarSync/lib/log4net.dll index 93fb476ce09698c5b42da2596d74de0cfdbd1c81..e74861d2437fb14f7d8c80fc6a1539086fe23a79 100644 GIT binary patch literal 270336 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

od}eOUu)lQt$ylGYaU>U1W0fxZSQC>GS`A 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

K$V;#)}dZKS$hTp+$DF2u;{ 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%0AdC+w`*$)?5BuM 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ǚD6b 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 diff --git a/src/OutlookGoogleCalendarSync/lib/log4net.xml b/src/OutlookGoogleCalendarSync/lib/log4net.xml index df567438..ac8ed2c6 100644 --- a/src/OutlookGoogleCalendarSync/lib/log4net.xml +++ b/src/OutlookGoogleCalendarSync/lib/log4net.xml @@ -55,38 +55,38 @@ An example configuration to log to the above table: - - - - + + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + @@ -96,2434 +96,2315 @@ Gert Driesen Lance Nehring - + +

+ Initializes a new instance of the class. + + + Public default constructor to initialize a new instance of this class. + + + - Abstract base class implementation of that - buffers events in a fixed size buffer. + Gets or sets the database connection string that is used to connect to + the database. + + The database connection string used to connect to the database. + - This base class should be used by appenders that need to buffer a - number of events before logging them. For example the - buffers events and then submits the entire contents of the buffer to - the underlying database in one go. - - - Subclasses should override the - method to deliver the buffered events. - - The BufferingAppenderSkeleton maintains a fixed size cyclic - buffer of events. The size of the buffer is set using - the property. - - A is used to inspect - each event as it arrives in the appender. If the - triggers, then the current buffer is sent immediately - (see ). Otherwise the event - is stored in the buffer. For example, an evaluator can be used to - deliver the events immediately when an ERROR event arrives. - - - The buffering appender can be configured in a mode. - By default the appender is NOT lossy. When the buffer is full all - the buffered events are sent with . - If the property is set to true then the - buffer will not be sent when it is full, and new events arriving - in the appender will overwrite the oldest event in the buffer. - In lossy mode the buffer will only be sent when the - triggers. This can be useful behavior when you need to know about - ERROR events but not about events with a lower level, configure an - evaluator that will trigger when an ERROR event arrives, the whole - buffer will be sent which gives a history of events leading up to - the ERROR event. + The connections string is specific to the connection type. + See for more information. - Nicko Cadell - Gert Driesen + Connection string for MS Access via ODBC: + "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" + + Another connection string for MS Access via ODBC: + "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" + + Connection string for MS Access via OLE DB: + "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" + - + - Abstract base class implementation of . + The appSettings key from App.Config that contains the connection string. + + + + + The connectionStrings key from App.Config that contains the connection string. + + + This property requires at least .NET 2.0. + + + + + Gets or sets the type name of the connection + that should be created. + + The type name of the connection. + - This class provides the code for common functionality, such - as support for threshold filtering and support for general filters. + The type name of the ADO.NET provider to use. - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. + The default is to use the OLE DB provider. - Nicko Cadell - Gert Driesen + Use the OLE DB Provider. This is the default value. + System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Use the MS SQL Server Provider. + System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Use the ODBC Provider. + Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral + This is an optional package that you can download from +
http://msdn.microsoft.com/downloads + search for ODBC .NET Data Provider. + + Use the Oracle Provider. + System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + This is an optional package that you can download from +
http://msdn.microsoft.com/downloads + search for .NET Managed Provider for Oracle. + - + - Implement this interface for your own strategies for printing log statements. + Gets or sets the command text that is used to insert logging events + into the database. + + The command text used to insert logging events into the database. + - Implementors should consider extending the - class which provides a default implementation of this interface. + Either the text of the prepared statement or the + name of the stored procedure to execute to write into + the database. - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. + The property determines if + this text is a prepared statement or a stored procedure. + + + If this property is not set, the command text is retrieved by invoking + . - Nicko Cadell - Gert Driesen - + - Closes the appender and releases resources. + Gets or sets the command type to execute. + + The command type to execute. + - Releases any resources allocated within the appender such as file handles, - network connections, etc. + This value may be either (System.Data.CommandType.Text) to specify + that the is a prepared statement to execute, + or (System.Data.CommandType.StoredProcedure) to specify that the + property is the name of a stored procedure + to execute. - It is a programming error to append to a closed appender. + The default value is (System.Data.CommandType.Text). - + - Log the logging event in Appender specific way. + Should transactions be used to insert logging events in the database. - The event to log + + true if transactions should be used to insert logging events in + the database, otherwise false. The default value is true. + - This method is called to log a message into this appender. + Gets or sets a value that indicates whether transactions should be used + to insert logging events in the database. + + + When set a single transaction will be used to insert the buffered events + into the database. Otherwise each event will be inserted without using + an explicit transaction. - + - Gets or sets the name of this appender. + Gets or sets the used to call the NetSend method. - The name of the appender. + + The used to call the NetSend method. + - The name uniquely identifies the appender. + + Unless a specified here for this appender + the is queried for the + security context to use. The default behavior is to use the security context + of the current thread. + - + - Interface for appenders that support bulk logging. + Should this appender try to reconnect to the database on error. + + true if the appender should try to reconnect to the database after an + error has occurred, otherwise false. The default value is false, + i.e. not to try to reconnect. + - This interface extends the interface to - support bulk logging of objects. Appenders - should only implement this interface if they can bulk log efficiently. + The default behaviour is for the appender not to try to reconnect to the + database if an error occurs. Subsequent logging events are discarded. + + + To force the appender to attempt to reconnect to the database set this + property to true. + + When the appender attempts to connect to the database there may be a + delay of up to the connection timeout specified in the connection string. + This delay will block the calling application's thread. + Until the connection can be reestablished this potential delay may occur multiple times. + - Nicko Cadell - + - Log the array of logging events in Appender specific way. + Gets or sets the underlying . - The events to log + + The underlying . + - - This method is called to log an array of events into this appender. - + creates a to insert + logging events into a database. Classes deriving from + can use this property to get or set this . Use the + underlying returned from if + you require access beyond that which provides. - + - Interface used to delay activate a configured object. + Initialize the appender based on the options set - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - If a component implements this interface then the method - must be called by the container after its all the configured properties have been set - and before the component can be used. + If any of the configuration properties are modified then + must be called again. - Nicko Cadell - + - Activate the options that were previously set with calls to properties. + Override the parent method to close the database - This allows an object to defer activation of its options until all - options have been set. This is required for components which have - related options that remain ambiguous until all are set. - - - If a component implements this interface then this method must be called - after its properties have been set before the component can be used. + Closes the database command and database connection. - - - Interface that can be implemented by Appenders that buffer logging data and expose a method. - - - + - Flushes any buffered log data. + Inserts the events into the database. + The events to insert into the database. - Appenders that implement the method must do so in a thread-safe manner: it can be called concurrently with - the method. - - Typically this is done by locking on the Appender instance, e.g.: - - - - - The parameter is only relevant for appenders that process logging events asynchronously, - such as . + Insert all the events specified in the + array into the database. - The maximum time to wait for logging events to be flushed. - True if all logging events were flushed successfully, else false. - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - - + - Default constructor + Adds a parameter to the command. + The parameter to add to the command. - Empty default constructor + + Adds a parameter to the ordered list of command parameters. + - + - Finalizes this appender by calling the implementation's - method. + Writes the events to the database using the transaction specified. + The transaction that the events will be executed under. + The array of events to insert into the database. - If this appender has not been closed then the Finalize method - will call . + The transaction argument can be null if the appender has been + configured not to use transactions. See + property for more information. - + - Initialize the appender based on the options set + Formats the log message into database statement text. + The event being logged. - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - + This method can be overridden by subclasses to provide + more control over the format of the database statement. + + Text that can be passed to a . + - + - Closes the appender and release resources. + Creates an instance used to connect to the database. - - Release any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - This method cannot be overridden by subclasses. This method - delegates the closing of the appender to the - method which must be overridden in the subclass. - + This method is called whenever a new IDbConnection is needed (i.e. when a reconnect is necessary). + The of the object. + The connectionString output from the ResolveConnectionString method. + An instance with a valid connection string. - + - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. + Resolves the connection string from the ConnectionString, ConnectionStringName, or AppSettingsKey + property. - The event to log. - - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - - - - If all of the above steps succeed then the - will be passed to the abstract method. - + ConnectiongStringName is only supported on .NET 2.0 and higher. + Additional information describing the connection string. + A connection string used to connect to the database. - + - Performs threshold checks and invokes filters before - delegating actual logging to the subclasses specific - method. + Retrieves the class type of the ADO.NET provider. - The array of events to log. - This method cannot be overridden by derived classes. A - derived class should override the method - which is called by this method. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - - Calls and checks that - it returns true. - - + Gets the Type of the ADO.NET provider to use to connect to the + database. This method resolves the type specified in the + property. - If all of the above steps succeed then the - will be passed to the method. + Subclasses can override this method to return a different type + if necessary. + The of the ADO.NET provider - + - Test if the logging event should we output by this appender + Connects to the database. + + + + + Cleanup the existing connection. - the event to test - true if the event should be output, false if the event should be ignored - - This method checks the logging event against the threshold level set - on this appender and also against the filters specified on this - appender. - - - The implementation of this method is as follows: - - - - - - Checks that the severity of the - is greater than or equal to the of this - appender. - - - - Checks that the chain accepts the - . - - - - + Calls the IDbConnection's method. - + - Adds a filter to the end of the filter chain. + The list of objects. - the filter to add to this appender - The Filters are organized in a linked list. - - - Setting this property causes the new filter to be pushed onto the - back of the filter chain. + The list of objects. - + - Clears the filter list for this appender. + The security context to use for privileged calls - - - Clears the filter list for this appender. - - - + - Checks if the message level is below this appender's threshold. + The that will be used + to insert logging events into a database. - to test against. - - - If there is no threshold set, then the return value is always true. - - - - true if the meets the - requirements of this appender. - - + - Is called when the appender is closed. Derived classes should override - this method if resources need to be released. + Database connection string. - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - + - Subclasses of should implement this method - to perform actual logging. + The appSettings key from App.Config that contains the connection string. - The event to append. - - - A subclass must implement this method to perform - logging of the . - - This method will be called by - if all the conditions listed for that method are met. - - - To restrict the logging of events in the appender - override the method. - - - + - Append a bulk array of logging events. + The connectionStrings key from App.Config that contains the connection string. - the array of logging events - - - This base class implementation calls the - method for each element in the bulk array. - - - A sub class that can better process a bulk array of events should - override this method in addition to . - - - + - Called before as a precondition. + String type name of the type name. + + + + + The text of the command. + + + + + The command type. + + + + + Indicates whether to use transactions when writing to the database. + + + + + Indicates whether to reconnect when a connection is lost. + + + + + The fully qualified type of the AdoNetAppender class. - - This method is called by - before the call to the abstract method. - - - This method can be overridden in a subclass to extend the checks - made before the event is passed to the method. - - - A subclass should ensure that they delegate this call to - this base class if it is overridden. - + Used by the internal logger to record the Type of the + log message. - true if the call to should proceed. - + - Renders the to a string. + Parameter type used by the . - The event to render. - The event rendered as a string. - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. + This class provides the basic database parameter properties + as defined by the interface. - - Where possible use the alternative version of this method - . - That method streams the rendering onto an existing Writer - which can give better performance if the caller already has - a open and ready for writing. + This type can be subclassed to provide database specific + functionality. The two methods that are called externally are + and . - + - Renders the to a string. + Initializes a new instance of the class. - The event to render. - The TextWriter to write the formatted event to - - Helper method to render a to - a string. This appender must have a - set to render the to - a string. - - If there is exception data in the logging event and - the layout does not process the exception, this method - will append the exception text to the rendered string. - - - Use this method in preference to - where possible. If, however, the caller needs to render the event - to a string then does - provide an efficient mechanism for doing so. - + Default constructor for the AdoNetAppenderParameter class. - + - Flushes any buffered log data. + Gets or sets the name of this parameter. + + The name of this parameter. + - This implementation doesn't flush anything and always returns true + + The name of this parameter. The parameter name + must match up to a named parameter to the SQL stored procedure + or prepared statement. + - True if all logging events were flushed successfully, else false. - + - The layout of this appender. + Gets or sets the database type for this parameter. + + The database type for this parameter. + - See for more information. + + The database type for this parameter. This property should + be set to the database type from the + enumeration. See . + + + This property is optional. If not specified the ADO.NET provider + will attempt to infer the type from the value. + + - + - The name of this appender. + Gets or sets the precision for this parameter. + + The precision for this parameter. + - See for more information. + + The maximum number of digits used to represent the Value. + + + This property is optional. If not specified the ADO.NET provider + will attempt to infer the precision from the value. + + - + - The level threshold of this appender. + Gets or sets the scale for this parameter. + + The scale for this parameter. + - There is no level threshold filtering by default. + The number of decimal places to which Value is resolved. - See for more information. + This property is optional. If not specified the ADO.NET provider + will attempt to infer the scale from the value. + - + - It is assumed and enforced that errorHandler is never null. + Gets or sets the size for this parameter. + + The size for this parameter. + - It is assumed and enforced that errorHandler is never null. + The maximum size, in bytes, of the data within the column. - See for more information. + This property is optional. If not specified the ADO.NET provider + will attempt to infer the size from the value. + + + For BLOB data types like VARCHAR(max) it may be impossible to infer the value automatically, use -1 as the size in this case. + - + - The first filter in the filter chain. + Gets or sets the to use to + render the logging event into an object for this + parameter. + + The used to render the + logging event into an object for this parameter. + - Set to null initially. + The that renders the value for this + parameter. - See for more information. + The can be used to adapt + any into a + for use in the property. - + - The last filter in the filter chain. + Prepare the specified database command object. + The command to prepare. - See for more information. + + Prepares the database command object by adding + this parameter to its collection of parameters. + - + - Flag indicating if this appender is closed. + Renders the logging event and set the parameter value in the command. + The command containing the parameter. + The event to be rendered. - See for more information. + + Renders the logging event using this parameters layout + object. Sets the value of the parameter on the command object. + - + - The guard prevents an appender from repeatedly calling its own DoAppend method + The name of this parameter. - + - StringWriter used to render events + The database type for this parameter. - + - The fully qualified type of the AppenderSkeleton class. + Flag to infer type rather than use the DbType - - Used by the internal logger to record the Type of the - log message. - - + - Gets or sets the threshold of this appender. + The precision for this parameter. + + + + + The scale for this parameter. + + + + + The size for this parameter. + + + + + The to use to render the + logging event into an object for this parameter. + + + + + Appends logging events to the terminal using ANSI color escape sequences. - - The threshold of the appender. - - All log events with lower level than the threshold level are ignored - by the appender. + AnsiColorTerminalAppender appends log events to the standard output stream + or the error output stream using a layout specified by the + user. It also allows the color of a specific level of message to be set. + + This appender expects the terminal to understand the VT100 control set + in order to interpret the color codes. If the terminal or console does not + understand the control codes the behavior is not defined. + - In configuration files this option is specified by setting the - value of the option to a level - string, such as "DEBUG", "INFO" and so on. + By default, all output is written to the console's standard output stream. + The property can be set to direct the output to the + error stream. + + + NOTE: This appender writes each message to the System.Console.Out or + System.Console.Error that is set at the time the event is appended. + Therefore it is possible to programmatically redirect the output of this appender + (for example NUnit does this to capture program output). While this is the desired + behavior of this appender it may have security implications in your application. + + + When configuring the ANSI colored terminal appender, a mapping should be + specified to map a logging level to a color. For example: + + + + + + + + + + + + + + + The Level is the standard log4net logging level and ForeColor and BackColor can be any + of the following values: + + Blue + Green + Red + White + Yellow + Purple + Cyan + + These color values cannot be combined together to make new colors. + + + The attributes can be any combination of the following: + + Brightforeground is brighter + Dimforeground is dimmer + Underscoremessage is underlined + Blinkforeground is blinking (does not work on all terminals) + Reverseforeground and background are reversed + Hiddenoutput is hidden + Strikethroughmessage has a line through it + + While any of these attributes may be combined together not all combinations + work well together, for example setting both Bright and Dim attributes makes + no sense. + Patrick Wagstrom + Nicko Cadell - + - Gets or sets the for this appender. + The enum of possible display attributes - The of the appender - The provides a default - implementation for the property. + The following flags can be combined together to + form the ANSI color attributes. + - + - The filter chain. + text is bright - The head of the filter chain filter chain. - - - Returns the head Filter. The Filters are organized in a linked list - and so all Filters on this Appender are available through the result. - - - + - Gets or sets the for this appender. + text is dim - The layout of the appender. - - - See for more information. - - - - + - Gets or sets the name of this appender. + text is underlined - The name of the appender. - - - The name uniquely identifies the appender. - - - + - Tests if this appender requires a to be set. + text is blinking - - In the rather exceptional case, where the appender - implementation admits a layout but can also work without it, - then the appender should return true. - - - This default implementation always returns false. - + Not all terminals support this attribute - - true if the appender requires a layout object, otherwise false. - - + - The default buffer size. + text and background colors are reversed - - The default size of the cyclic buffer used to store events. - This is set to 512 by default. - - + - Initializes a new instance of the class. + text is hidden - - - Protected default constructor to allow subclassing. - - - + - Initializes a new instance of the class. + text is displayed with a strikethrough - the events passed through this appender must be - fixed by the time that they arrive in the derived class' SendBuffer method. - - - Protected constructor to allow subclassing. - - - The should be set if the subclass - expects the events delivered to be fixed even if the - is set to zero, i.e. when no buffering occurs. - - - + - Flushes any buffered log data. + text color is light - The maximum time to wait for logging events to be flushed. - True if all logging events were flushed successfully, else false. - + - Flush the currently buffered events + The enum of possible foreground or background color values for + use with the color mapping method - Flushes any events that have been buffered. - - - If the appender is buffering in mode then the contents - of the buffer will NOT be flushed to the appender. + The output can be in one for the following ANSI colors. + - + - Flush the currently buffered events + color is black - set to true to flush the buffer of lossy events - - - Flushes events that have been buffered. If is - false then events will only be flushed if this buffer is non-lossy mode. - - - If the appender is buffering in mode then the contents - of the buffer will only be flushed if is true. - In this case the contents of the buffer will be tested against the - and if triggering will be output. All other buffered - events will be discarded. - - - If is true then the buffer will always - be emptied by calling this method. - - - + - Initialize the appender based on the options set + color is red - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - + - Close this appender instance. + color is green - - - Close this appender instance. If this appender is marked - as not then the remaining events in - the buffer must be sent when the appender is closed. - - - + - This method is called by the method. + color is yellow - the event to log - - - Stores the in the cyclic buffer. - - - The buffer will be sent (i.e. passed to the - method) if one of the following conditions is met: - - - - The cyclic buffer is full and this appender is - marked as not lossy (see ) - - - An is set and - it is triggered for the - specified. - - - - Before the event is stored in the buffer it is fixed - (see ) to ensure that - any data referenced by the event will be valid when the buffer - is processed. - - - + - Sends the contents of the buffer. + color is blue - The first logging event. - The buffer containing the events that need to be send. - - - The subclass must override . - - - + - Sends the events. + color is magenta - The events that need to be send. - - - The subclass must override this method to process the buffered events. - - - + - The size of the cyclic buffer used to hold the logging events. + color is cyan - - Set to by default. - - + - The cyclic buffer used to store the logging events. + color is white - + - The triggering event evaluator that causes the buffer to be sent immediately. + Initializes a new instance of the class. - The object that is used to determine if an event causes the entire - buffer to be sent immediately. This field can be null, which - indicates that event triggering is not to be done. The evaluator - can be set using the property. If this appender - has the ( property) set to - true then an must be set. + The instance of the class is set up to write + to the standard output stream. - + - Indicates if the appender should overwrite events in the cyclic buffer - when it becomes full, or if the buffer should be flushed when the - buffer is full. + Target is the value of the console output stream. + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + - If this field is set to true then an must - be set. + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + - + - The triggering event evaluator filters discarded events. + Add a mapping of level to color + The mapping to add - The object that is used to determine if an event that is discarded should - really be discarded or if it should be sent to the appenders. - This field can be null, which indicates that all discarded events will - be discarded. + + Add a mapping to this appender. + Each mapping defines the foreground and background colours + for a level. + - + - Value indicating which fields in the event should be fixed + This method is called by the method. + The event to log. - By default all fields are fixed + + Writes the event to the console. + + + The format of the output will depend on the appender's layout. + - - - The events delivered to the subclass must be fixed. - - - + - Gets or sets a value that indicates whether the appender is lossy. + This appender requires a to be set. - - true if the appender is lossy, otherwise false. The default is false. - + true - This appender uses a buffer to store logging events before - delivering them. A triggering event causes the whole buffer - to be send to the remote sink. If the buffer overruns before - a triggering event then logging events could be lost. Set - to false to prevent logging events - from being lost. + This appender requires a to be set. - If is set to true then an - must be specified. - + - Gets or sets the size of the cyclic buffer used to hold the - logging events. + Initialize the options for this appender - - The size of the cyclic buffer used to hold the logging events. - - The option takes a positive integer - representing the maximum number of logging events to collect in - a cyclic buffer. When the is reached, - oldest events are deleted as new events are added to the - buffer. By default the size of the cyclic buffer is 512 events. - - - If the is set to a value less than - or equal to 1 then no buffering will occur. The logging event - will be delivered synchronously (depending on the - and properties). Otherwise the event will - be buffered. + Initialize the level to color mappings set on this appender. - + - Gets or sets the that causes the - buffer to be sent immediately. + The to use when writing to the Console + standard output stream. - - The that causes the buffer to be - sent immediately. - - The evaluator will be called for each event that is appended to this - appender. If the evaluator triggers then the current buffer will - immediately be sent (see ). + The to use when writing to the Console + standard output stream. - If is set to true then an - must be specified. - + - Gets or sets the value of the to use. + The to use when writing to the Console + standard error output stream. - - The value of the to use. - - The evaluator will be called for each event that is discarded from this - appender. If the evaluator triggers then the current buffer will immediately - be sent (see ). + The to use when writing to the Console + standard error output stream. - + - Gets or sets a value indicating if only part of the logging event data - should be fixed. + Flag to write output to the error stream rather than the standard output stream + + + + + Mapping from level object to color value + + + + + Ansi code to reset terminal + + + + + A class to act as a mapping between the level that a logging call is made at and + the color it should be displayed as. - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - Setting this property to true will cause only part of the - event data to be fixed and serialized. This will improve performance. - - - See for more information. + Defines the mapping between a level and the color it should be displayed in. - + - Gets or sets a the fields that will be fixed in the event + The mapped foreground color for the specified level - - The event fields that will be fixed before the event is buffered - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. + Required property. + The mapped foreground color for the specified level - - - - Initializes a new instance of the class. + + + The mapped background color for the specified level - Public default constructor to initialize a new instance of this class. + + Required property. + The mapped background color for the specified level + - + - Initialize the appender based on the options set + The color attributes for the specified level - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + Required property. + The color attributes for the specified level - + - Override the parent method to close the database + Initialize the options for the object - Closes the database command and database connection. + Combine the and together + and append the attributes. - + - Inserts the events into the database. + The combined , and + suitable for setting the ansi terminal color. - The events to insert into the database. - - - Insert all the events specified in the - array into the database. - - - + - Adds a parameter to the command. + A strongly-typed collection of objects. - The parameter to add to the command. - - - Adds a parameter to the ordered list of command parameters. - - + Nicko Cadell - + - Writes the events to the database using the transaction specified. + Supports type-safe iteration over a . - The transaction that the events will be executed under. - The array of events to insert into the database. - - - The transaction argument can be null if the appender has been - configured not to use transactions. See - property for more information. - - + - + - Formats the log message into database statement text. + Gets the current element in the collection. + + + + + Advances the enumerator to the next element in the collection. - The event being logged. - - This method can be overridden by subclasses to provide - more control over the format of the database statement. - - Text that can be passed to a . + true if the enumerator was successfully advanced to the next element; + false if the enumerator has passed the end of the collection. + + The collection was modified after the enumerator was created. + - + - Creates an instance used to connect to the database. + Sets the enumerator to its initial position, before the first element in the collection. - - This method is called whenever a new IDbConnection is needed (i.e. when a reconnect is necessary). - - The of the object. - The connectionString output from the ResolveConnectionString method. - An instance with a valid connection string. - + - Resolves the connection string from the ConnectionString, ConnectionStringName, or AppSettingsKey - property. + Creates a read-only wrapper for a AppenderCollection instance. - - ConnectiongStringName is only supported on .NET 2.0 and higher. - - Additional information describing the connection string. - A connection string used to connect to the database. + list to create a readonly wrapper arround + + An AppenderCollection wrapper that is read-only. + - + - Retrieves the class type of the ADO.NET provider. + An empty readonly static AppenderCollection - - - Gets the Type of the ADO.NET provider to use to connect to the - database. This method resolves the type specified in the - property. - - - Subclasses can override this method to return a different type - if necessary. - - - The of the ADO.NET provider - + - Connects to the database. - + Initializes a new instance of the AppenderCollection class + that is empty and has the default initial capacity. + - + - Cleanup the existing connection. + Initializes a new instance of the AppenderCollection class + that has the specified initial capacity. - - Calls the IDbConnection's method. - + + The number of elements that the new AppenderCollection is initially capable of storing. + - + - The list of objects. + Initializes a new instance of the AppenderCollection class + that contains elements copied from the specified AppenderCollection. - - - The list of objects. - - + The AppenderCollection whose elements are copied to the new collection. - + - The security context to use for privileged calls + Initializes a new instance of the AppenderCollection class + that contains elements copied from the specified array. + The array whose elements are copied to the new list. - + - The that will be used - to insert logging events into a database. + Initializes a new instance of the AppenderCollection class + that contains elements copied from the specified collection. + The collection whose elements are copied to the new list. - + - Database connection string. + Type visible only to our subclasses + Used to access protected constructor + - + - The appSettings key from App.Config that contains the connection string. + A value - + - The connectionStrings key from App.Config that contains the connection string. + Allow subclasses to avoid our default constructors + + - + - String type name of the type name. + Gets the number of elements actually contained in the AppenderCollection. - + - The text of the command. + Copies the entire AppenderCollection to a one-dimensional + array. + The one-dimensional array to copy to. - + - The command type. + Copies the entire AppenderCollection to a one-dimensional + array, starting at the specified index of the target array. + The one-dimensional array to copy to. + The zero-based index in at which copying begins. - + - Indicates whether to use transactions when writing to the database. + Gets a value indicating whether access to the collection is synchronized (thread-safe). + false, because the backing type is an array, which is never thread-safe. - + - Indicates whether to reconnect when a connection is lost. + Gets an object that can be used to synchronize access to the collection. - + - The fully qualified type of the AdoNetAppender class. + Gets or sets the at the specified index. - - Used by the internal logger to record the Type of the - log message. - + The zero-based index of the element to get or set. + + is less than zero + -or- + is equal to or greater than . + - + - Gets or sets the database connection string that is used to connect to - the database. + Adds a to the end of the AppenderCollection. - - The database connection string used to connect to the database. - - - - The connections string is specific to the connection type. - See for more information. - - - Connection string for MS Access via ODBC: - "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb" - - Another connection string for MS Access via ODBC: - "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" - - Connection string for MS Access via OLE DB: - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;" - + The to be added to the end of the AppenderCollection. + The index at which the value has been added. - + - The appSettings key from App.Config that contains the connection string. + Removes all elements from the AppenderCollection. - + - The connectionStrings key from App.Config that contains the connection string. + Creates a shallow copy of the . - - This property requires at least .NET 2.0. - + A new with a shallow copy of the collection data. - + - Gets or sets the type name of the connection - that should be created. + Determines whether a given is in the AppenderCollection. - - The type name of the connection. - - - - The type name of the ADO.NET provider to use. - - - The default is to use the OLE DB provider. - - - Use the OLE DB Provider. This is the default value. - System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the MS SQL Server Provider. - System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Use the ODBC Provider. - Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral - This is an optional package that you can download from - http://msdn.microsoft.com/downloads - search for ODBC .NET Data Provider. - - Use the Oracle Provider. - System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - This is an optional package that you can download from -

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 diff --git a/src/OutlookGoogleCalendarSync/lib/Squirrel/SharpCompress.dll b/src/OutlookGoogleCalendarSync/lib/Squirrel/SharpCompress.dll index fcd134c104f12cefdb51cff4c2ee6328d57e1cd9..c3d1a7999577b1d98c95ef4460daae656bd55050 100644 GIT binary patch literal 533504 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 literal 474112 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

http://msdn.microsoft.com/downloads - search for .NET Managed Provider for Oracle. - + The to check for. + true if is found in the AppenderCollection; otherwise, false. - + - Gets or sets the command text that is used to insert logging events - into the database. + Returns the zero-based index of the first occurrence of a + in the AppenderCollection. - - The command text used to insert logging events into the database. - - - - Either the text of the prepared statement or the - name of the stored procedure to execute to write into - the database. - - - The property determines if - this text is a prepared statement or a stored procedure. - - - If this property is not set, the command text is retrieved by invoking - . - - + The to locate in the AppenderCollection. + + The zero-based index of the first occurrence of + in the entire AppenderCollection, if found; otherwise, -1. + - + - Gets or sets the command type to execute. + Inserts an element into the AppenderCollection at the specified index. - - The command type to execute. - - - - This value may be either (System.Data.CommandType.Text) to specify - that the is a prepared statement to execute, - or (System.Data.CommandType.StoredProcedure) to specify that the - property is the name of a stored procedure - to execute. - - - The default value is (System.Data.CommandType.Text). - - + The zero-based index at which should be inserted. + The to insert. + + is less than zero + -or- + is equal to or greater than . + - + - Should transactions be used to insert logging events in the database. + Removes the first occurrence of a specific from the AppenderCollection. - - true if transactions should be used to insert logging events in - the database, otherwise false. The default value is true. - - - - Gets or sets a value that indicates whether transactions should be used - to insert logging events in the database. - - - When set a single transaction will be used to insert the buffered events - into the database. Otherwise each event will be inserted without using - an explicit transaction. - - + The to remove from the AppenderCollection. + + The specified was not found in the AppenderCollection. + - + - Gets or sets the used to call the NetSend method. + Removes the element at the specified index of the AppenderCollection. - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - + The zero-based index of the element to remove. + + is less than zero + -or- + is equal to or greater than . + - + - Should this appender try to reconnect to the database on error. + Gets a value indicating whether the collection has a fixed size. - - true if the appender should try to reconnect to the database after an - error has occurred, otherwise false. The default value is false, - i.e. not to try to reconnect. - - - - The default behaviour is for the appender not to try to reconnect to the - database if an error occurs. Subsequent logging events are discarded. - - - To force the appender to attempt to reconnect to the database set this - property to true. - - - When the appender attempts to connect to the database there may be a - delay of up to the connection timeout specified in the connection string. - This delay will block the calling application's thread. - Until the connection can be reestablished this potential delay may occur multiple times. - - + true if the collection has a fixed size; otherwise, false. The default is false - + - Gets or sets the underlying . + Gets a value indicating whether the IList is read-only. - - The underlying . - - - creates a to insert - logging events into a database. Classes deriving from - can use this property to get or set this . Use the - underlying returned from if - you require access beyond that which provides. - + true if the collection is read-only; otherwise, false. The default is false - + - Parameter type used by the . + Returns an enumerator that can iterate through the AppenderCollection. - - - This class provides the basic database parameter properties - as defined by the interface. - - This type can be subclassed to provide database specific - functionality. The two methods that are called externally are - and . - - + An for the entire AppenderCollection. - + - Initializes a new instance of the class. + Gets or sets the number of elements the AppenderCollection can contain. - - Default constructor for the AdoNetAppenderParameter class. - - + - Prepare the specified database command object. + Adds the elements of another AppenderCollection to the current AppenderCollection. - The command to prepare. - - - Prepares the database command object by adding - this parameter to its collection of parameters. - - + The AppenderCollection whose elements should be added to the end of the current AppenderCollection. + The new of the AppenderCollection. - + - Renders the logging event and set the parameter value in the command. + Adds the elements of a array to the current AppenderCollection. - The command containing the parameter. - The event to be rendered. - - - Renders the logging event using this parameters layout - object. Sets the value of the parameter on the command object. - - + The array whose elements should be added to the end of the AppenderCollection. + The new of the AppenderCollection. - + - The name of this parameter. + Adds the elements of a collection to the current AppenderCollection. + The collection whose elements should be added to the end of the AppenderCollection. + The new of the AppenderCollection. - + - The database type for this parameter. + Sets the capacity to the actual number of elements. - + - Flag to infer type rather than use the DbType + Return the collection elements as an array + the array - + + + is less than zero + -or- + is equal to or greater than . + + + + + is less than zero + -or- + is equal to or greater than . + + + - The precision for this parameter. + Supports simple iteration over a . + - + - The scale for this parameter. + Initializes a new instance of the Enumerator class. + - + - The size for this parameter. + Gets the current element in the collection. - + - The to use to render the - logging event into an object for this parameter. + Advances the enumerator to the next element in the collection. + + true if the enumerator was successfully advanced to the next element; + false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + - + - Gets or sets the name of this parameter. + Sets the enumerator to its initial position, before the first element in the collection. - - The name of this parameter. - - - - The name of this parameter. The parameter name - must match up to a named parameter to the SQL stored procedure - or prepared statement. - - - + + + + - Gets or sets the database type for this parameter. + Abstract base class implementation of . - - The database type for this parameter. - - The database type for this parameter. This property should - be set to the database type from the - enumeration. See . + This class provides the code for common functionality, such + as support for threshold filtering and support for general filters. - This property is optional. If not specified the ADO.NET provider - will attempt to infer the type from the value. + Appenders can also implement the interface. Therefore + they would require that the method + be called after the appenders properties have been configured. - + Nicko Cadell + Gert Driesen - + - Gets or sets the precision for this parameter. + Default constructor - - The precision for this parameter. - - - The maximum number of digits used to represent the Value. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the precision from the value. - + Empty default constructor - - + - Gets or sets the scale for this parameter. + Finalizes this appender by calling the implementation's + method. - - The scale for this parameter. - - The number of decimal places to which Value is resolved. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the scale from the value. + If this appender has not been closed then the Finalize method + will call . - - + - Gets or sets the size for this parameter. + Gets or sets the threshold of this appender. - The size for this parameter. + The threshold of the appender. - The maximum size, in bytes, of the data within the column. - - - This property is optional. If not specified the ADO.NET provider - will attempt to infer the size from the value. + All log events with lower level than the threshold level are ignored + by the appender. - For BLOB data types like VARCHAR(max) it may be impossible to infer the value automatically, use -1 as the size in this case. + In configuration files this option is specified by setting the + value of the option to a level + string, such as "DEBUG", "INFO" and so on. - - + - Gets or sets the to use to - render the logging event into an object for this - parameter. + Gets or sets the for this appender. - - The used to render the - logging event into an object for this parameter. - + The of the appender - The that renders the value for this - parameter. - - - The can be used to adapt - any into a - for use in the property. + The provides a default + implementation for the property. - + - Appends logging events to the terminal using ANSI color escape sequences. + The filter chain. + The head of the filter chain filter chain. - AnsiColorTerminalAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific level of message to be set. - - - This appender expects the terminal to understand the VT100 control set - in order to interpret the color codes. If the terminal or console does not - understand the control codes the behavior is not defined. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - NOTE: This appender writes each message to the System.Console.Out or - System.Console.Error that is set at the time the event is appended. - Therefore it is possible to programmatically redirect the output of this appender - (for example NUnit does this to capture program output). While this is the desired - behavior of this appender it may have security implications in your application. - - - When configuring the ANSI colored terminal appender, a mapping should be - specified to map a logging level to a color. For example: - - - - - - - - - - - - - - - The Level is the standard log4net logging level and ForeColor and BackColor can be any - of the following values: - - Blue - Green - Red - White - Yellow - Purple - Cyan - - These color values cannot be combined together to make new colors. - - - The attributes can be any combination of the following: - - Brightforeground is brighter - Dimforeground is dimmer - Underscoremessage is underlined - Blinkforeground is blinking (does not work on all terminals) - Reverseforeground and background are reversed - Hiddenoutput is hidden - Strikethroughmessage has a line through it - - While any of these attributes may be combined together not all combinations - work well together, for example setting both Bright and Dim attributes makes - no sense. + Returns the head Filter. The Filters are organized in a linked list + and so all Filters on this Appender are available through the result. - Patrick Wagstrom - Nicko Cadell - + - The to use when writing to the Console - standard output stream. + Gets or sets the for this appender. + The layout of the appender. - The to use when writing to the Console - standard output stream. + See for more information. + - + - The to use when writing to the Console - standard error output stream. + Initialize the appender based on the options set - The to use when writing to the Console - standard error output stream. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. - - - Ansi code to reset terminal - - - - - Initializes a new instance of the class. - - - The instance of the class is set up to write - to the standard output stream. - - - + - Add a mapping of level to color + Gets or sets the name of this appender. - The mapping to add + The name of the appender. - Add a mapping to this appender. - Each mapping defines the foreground and background colours - for a level. + The name uniquely identifies the appender. - + - This method is called by the method. + Closes the appender and release resources. - The event to log. - Writes the event to the console. + Release any resources allocated within the appender such as file handles, + network connections, etc. - The format of the output will depend on the appender's layout. + It is a programming error to append to a closed appender. - - - - - Initialize the options for this appender - - - Initialize the level to color mappings set on this appender. + This method cannot be overridden by subclasses. This method + delegates the closing of the appender to the + method which must be overridden in the subclass. - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - + - Target is the value of the console output stream. + Performs threshold checks and invokes filters before + delegating actual logging to the subclasses specific + method. - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - + The event to log. - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - + This method cannot be overridden by derived classes. A + derived class should override the method + which is called by this method. + + + The implementation of this method is as follows: + + + + + + Checks that the severity of the + is greater than or equal to the of this + appender. + + + + Checks that the chain accepts the + . + + + + + Calls and checks that + it returns true. + + + + + If all of the above steps succeed then the + will be passed to the abstract method. + + - + - This appender requires a to be set. + Performs threshold checks and invokes filters before + delegating actual logging to the subclasses specific + method. - true + The array of events to log. - This appender requires a to be set. + This method cannot be overridden by derived classes. A + derived class should override the method + which is called by this method. + + + The implementation of this method is as follows: + + + + + + Checks that the severity of the + is greater than or equal to the of this + appender. + + + + Checks that the chain accepts the + . + + + + + Calls and checks that + it returns true. + + + + + If all of the above steps succeed then the + will be passed to the method. - + - The enum of possible display attributes + Test if the logging event should we output by this appender + the event to test + true if the event should be output, false if the event should be ignored - The following flags can be combined together to - form the ANSI color attributes. + This method checks the logging event against the threshold level set + on this appender and also against the filters specified on this + appender. + + + The implementation of this method is as follows: + + + + + + Checks that the severity of the + is greater than or equal to the of this + appender. + + + + Checks that the chain accepts the + . + + + - - - - - text is bright - - - - - text is dim - - - - - text is underlined - - + - text is blinking + Adds a filter to the end of the filter chain. + the filter to add to this appender - Not all terminals support this attribute + + The Filters are organized in a linked list. + + + Setting this property causes the new filter to be pushed onto the + back of the filter chain. + - - - text and background colors are reversed - - - - - text is hidden - - - - - text is displayed with a strikethrough - - - - - text color is light - - - + - The enum of possible foreground or background color values for - use with the color mapping method + Clears the filter list for this appender. - The output can be in one for the following ANSI colors. + Clears the filter list for this appender. - - - - - color is black - - - - - color is red - - - - - color is green - - - - - color is yellow - - - - - color is blue - - - - - color is magenta - - - - - color is cyan - - - - - color is white - - + - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. + Checks if the message level is below this appender's threshold. + to test against. - Defines the mapping between a level and the color it should be displayed in. + If there is no threshold set, then the return value is always true. + + true if the meets the + requirements of this appender. + - + - An entry in the + Is called when the appender is closed. Derived classes should override + this method if resources need to be released. - This is an abstract base class for types that are stored in the - object. + Releases any resources allocated within the appender such as file handles, + network connections, etc. + + + It is a programming error to append to a closed appender. - Nicko Cadell - + - Default protected constructor + Subclasses of should implement this method + to perform actual logging. + The event to append. - Default protected constructor + A subclass must implement this method to perform + logging of the . + + This method will be called by + if all the conditions listed for that method are met. + + + To restrict the logging of events in the appender + override the method. - + - Initialize any options defined on this entry + Append a bulk array of logging events. + the array of logging events - Should be overridden by any classes that need to initialise based on their options + This base class implementation calls the + method for each element in the bulk array. + + + A sub class that can better process a bulk array of events should + override this method in addition to . - + - The level that is the key for this mapping + Called before as a precondition. - - The that is the key for this mapping - - Get or set the that is the key for this - mapping subclass. + This method is called by + before the call to the abstract method. + + + This method can be overridden in a subclass to extend the checks + made before the event is passed to the method. + + + A subclass should ensure that they delegate this call to + this base class if it is overridden. + true if the call to should proceed. - + - Initialize the options for the object + Renders the to a string. + The event to render. + The event rendered as a string. - Combine the and together - and append the attributes. + Helper method to render a to + a string. This appender must have a + set to render the to + a string. + + If there is exception data in the logging event and + the layout does not process the exception, this method + will append the exception text to the rendered string. + + + Where possible use the alternative version of this method + . + That method streams the rendering onto an existing Writer + which can give better performance if the caller already has + a open and ready for writing. - + - The mapped foreground color for the specified level + Renders the to a string. + The event to render. + The TextWriter to write the formatted event to - Required property. - The mapped foreground color for the specified level + Helper method to render a to + a string. This appender must have a + set to render the to + a string. + + If there is exception data in the logging event and + the layout does not process the exception, this method + will append the exception text to the rendered string. + + + Use this method in preference to + where possible. If, however, the caller needs to render the event + to a string then does + provide an efficient mechanism for doing so. - + - The mapped background color for the specified level + Tests if this appender requires a to be set. - Required property. - The mapped background color for the specified level + In the rather exceptional case, where the appender + implementation admits a layout but can also work without it, + then the appender should return true. + + + This default implementation always returns false. + + true if the appender requires a layout object, otherwise false. + - + - The color attributes for the specified level + Flushes any buffered log data. - - Required property. - The color attributes for the specified level - + This implementation doesn't flush anything and always returns true + True if all logging events were flushed successfully, else false. - + - The combined , and - suitable for setting the ansi terminal color. + The layout of this appender. + + See for more information. + - + - A strongly-typed collection of objects. + The name of this appender. - Nicko Cadell + + See for more information. + - + - Creates a read-only wrapper for a AppenderCollection instance. + The level threshold of this appender. - list to create a readonly wrapper arround - - An AppenderCollection wrapper that is read-only. - + + + There is no level threshold filtering by default. + + + See for more information. + + - + - An empty readonly static AppenderCollection + It is assumed and enforced that errorHandler is never null. + + + It is assumed and enforced that errorHandler is never null. + + + See for more information. + + - + - Initializes a new instance of the AppenderCollection class - that is empty and has the default initial capacity. + The first filter in the filter chain. + + + Set to null initially. + + + See for more information. + + - + - Initializes a new instance of the AppenderCollection class - that has the specified initial capacity. + The last filter in the filter chain. - - The number of elements that the new AppenderCollection is initially capable of storing. - + + See for more information. + - + - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified AppenderCollection. + Flag indicating if this appender is closed. - The AppenderCollection whose elements are copied to the new collection. + + See for more information. + - + - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified array. + The guard prevents an appender from repeatedly calling its own DoAppend method - The array whose elements are copied to the new list. - + - Initializes a new instance of the AppenderCollection class - that contains elements copied from the specified collection. + StringWriter used to render events - The collection whose elements are copied to the new list. - + - Allow subclasses to avoid our default constructors + Initial buffer size - - - + - Copies the entire AppenderCollection to a one-dimensional - array. + Maximum buffer size before it is recycled - The one-dimensional array to copy to. - + - Copies the entire AppenderCollection to a one-dimensional - array, starting at the specified index of the target array. + The fully qualified type of the AppenderSkeleton class. - The one-dimensional array to copy to. - The zero-based index in at which copying begins. + + Used by the internal logger to record the Type of the + log message. + - + - Adds a to the end of the AppenderCollection. + + Appends log events to the ASP.NET system. + - The to be added to the end of the AppenderCollection. - The index at which the value has been added. + + + Diagnostic information and tracing messages that you specify are appended to the output + of the page that is sent to the requesting browser. Optionally, you can view this information + from a separate trace viewer (Trace.axd) that displays trace information for every page in a + given application. + + + Trace statements are processed and displayed only when tracing is enabled. You can control + whether tracing is displayed to a page, to the trace viewer, or both. + + + The logging event is passed to the or + method depending on the level of the logging event. + The event's logger name is the default value for the category parameter of the Write/Warn method. + + + Nicko Cadell + Gert Driesen + Ron Grabowski - + - Removes all elements from the AppenderCollection. + Initializes a new instance of the class. + + + Default constructor. + + - + - Creates a shallow copy of the . + Write the logging event to the ASP.NET trace - A new with a shallow copy of the collection data. + the event to log + + + Write the logging event to the ASP.NET trace + HttpContext.Current.Trace + (). + + - + - Determines whether a given is in the AppenderCollection. + This appender requires a to be set. - The to check for. - true if is found in the AppenderCollection; otherwise, false. - - - - Returns the zero-based index of the first occurrence of a - in the AppenderCollection. - - The to locate in the AppenderCollection. - - The zero-based index of the first occurrence of - in the entire AppenderCollection, if found; otherwise, -1. - + true + + + This appender requires a to be set. + + - + - Inserts an element into the AppenderCollection at the specified index. + The category parameter sent to the Trace method. - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - + + + Defaults to %logger which will use the logger name of the current + as the category parameter. + + + + - + - Removes the first occurrence of a specific from the AppenderCollection. + Defaults to %logger - The to remove from the AppenderCollection. - - The specified was not found in the AppenderCollection. - - + - Removes the element at the specified index of the AppenderCollection. + Abstract base class implementation of that + buffers events in a fixed size buffer. - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - + + + This base class should be used by appenders that need to buffer a + number of events before logging them. + For example the + buffers events and then submits the entire contents of the buffer to + the underlying database in one go. + + + Subclasses should override the + method to deliver the buffered events. + + The BufferingAppenderSkeleton maintains a fixed size cyclic + buffer of events. The size of the buffer is set using + the property. + + A is used to inspect + each event as it arrives in the appender. If the + triggers, then the current buffer is sent immediately + (see ). Otherwise the event + is stored in the buffer. For example, an evaluator can be used to + deliver the events immediately when an ERROR event arrives. + + + The buffering appender can be configured in a mode. + By default the appender is NOT lossy. When the buffer is full all + the buffered events are sent with . + If the property is set to true then the + buffer will not be sent when it is full, and new events arriving + in the appender will overwrite the oldest event in the buffer. + In lossy mode the buffer will only be sent when the + triggers. This can be useful behavior when you need to know about + ERROR events but not about events with a lower level, configure an + evaluator that will trigger when an ERROR event arrives, the whole + buffer will be sent which gives a history of events leading up to + the ERROR event. + + + Nicko Cadell + Gert Driesen - + - Returns an enumerator that can iterate through the AppenderCollection. + Initializes a new instance of the class. - An for the entire AppenderCollection. + + + Protected default constructor to allow subclassing. + + - + - Adds the elements of another AppenderCollection to the current AppenderCollection. + Initializes a new instance of the class. - The AppenderCollection whose elements should be added to the end of the current AppenderCollection. - The new of the AppenderCollection. + the events passed through this appender must be + fixed by the time that they arrive in the derived class' SendBuffer method. + + + Protected constructor to allow subclassing. + + + The should be set if the subclass + expects the events delivered to be fixed even if the + is set to zero, i.e. when no buffering occurs. + + - + - Adds the elements of a array to the current AppenderCollection. + Gets or sets a value that indicates whether the appender is lossy. - The array whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. + + true if the appender is lossy, otherwise false. The default is false. + + + + This appender uses a buffer to store logging events before + delivering them. A triggering event causes the whole buffer + to be send to the remote sink. If the buffer overruns before + a triggering event then logging events could be lost. Set + to false to prevent logging events + from being lost. + + If is set to true then an + must be specified. + - + - Adds the elements of a collection to the current AppenderCollection. + Gets or sets the size of the cyclic buffer used to hold the + logging events. - The collection whose elements should be added to the end of the AppenderCollection. - The new of the AppenderCollection. + + The size of the cyclic buffer used to hold the logging events. + + + + The option takes a positive integer + representing the maximum number of logging events to collect in + a cyclic buffer. When the is reached, + oldest events are deleted as new events are added to the + buffer. By default the size of the cyclic buffer is 512 events. + + + If the is set to a value less than + or equal to 1 then no buffering will occur. The logging event + will be delivered synchronously (depending on the + and properties). Otherwise the event will + be buffered. + + - + - Sets the capacity to the actual number of elements. + Gets or sets the that causes the + buffer to be sent immediately. + + The that causes the buffer to be + sent immediately. + + + + The evaluator will be called for each event that is appended to this + appender. If the evaluator triggers then the current buffer will + immediately be sent (see ). + + If is set to true then an + must be specified. + - + - Return the collection elements as an array + Gets or sets the value of the to use. - the array - - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - + + The value of the to use. + + + + The evaluator will be called for each event that is discarded from this + appender. If the evaluator triggers then the current buffer will immediately + be sent (see ). + + - + - Gets the number of elements actually contained in the AppenderCollection. + Gets or sets a value indicating if only part of the logging event data + should be fixed. + + true if the appender should only fix part of the logging event + data, otherwise false. The default is false. + + + + Setting this property to true will cause only part of the + event data to be fixed and serialized. This will improve performance. + + + See for more information. + + - + - Gets a value indicating whether access to the collection is synchronized (thread-safe). + Gets or sets a the fields that will be fixed in the event - false, because the backing type is an array, which is never thread-safe. + + The event fields that will be fixed before the event is buffered + + + + The logging event needs to have certain thread specific values + captured before it can be buffered. See + for details. + + + - + - Gets an object that can be used to synchronize access to the collection. + Flushes any buffered log data. + The maximum time to wait for logging events to be flushed. + True if all logging events were flushed successfully, else false. - + - Gets or sets the at the specified index. + Flush the currently buffered events - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - + + + Flushes any events that have been buffered. + + + If the appender is buffering in mode then the contents + of the buffer will NOT be flushed to the appender. + + - + - Gets a value indicating whether the collection has a fixed size. + Flush the currently buffered events - true if the collection has a fixed size; otherwise, false. The default is false + set to true to flush the buffer of lossy events + + + Flushes events that have been buffered. If is + false then events will only be flushed if this buffer is non-lossy mode. + + + If the appender is buffering in mode then the contents + of the buffer will only be flushed if is true. + In this case the contents of the buffer will be tested against the + and if triggering will be output. All other buffered + events will be discarded. + + + If is true then the buffer will always + be emptied by calling this method. + + - + - Gets a value indicating whether the IList is read-only. + Initialize the appender based on the options set - true if the collection is read-only; otherwise, false. The default is false + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + - + - Gets or sets the number of elements the AppenderCollection can contain. + Close this appender instance. + + + Close this appender instance. If this appender is marked + as not then the remaining events in + the buffer must be sent when the appender is closed. + + - + - Supports type-safe iteration over a . + This method is called by the method. - + the event to log + + + Stores the in the cyclic buffer. + + + The buffer will be sent (i.e. passed to the + method) if one of the following conditions is met: + + + + The cyclic buffer is full and this appender is + marked as not lossy (see ) + + + An is set and + it is triggered for the + specified. + + + + Before the event is stored in the buffer it is fixed + (see ) to ensure that + any data referenced by the event will be valid when the buffer + is processed. + + - + - Advances the enumerator to the next element in the collection. + Sends the contents of the buffer. - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - + The first logging event. + The buffer containing the events that need to be send. + + + The subclass must override . + + - + - Sets the enumerator to its initial position, before the first element in the collection. + Sends the events. + The events that need to be send. + + + The subclass must override this method to process the buffered events. + + - + - Gets the current element in the collection. + The default buffer size. + + The default size of the cyclic buffer used to store events. + This is set to 512 by default. + - + - Type visible only to our subclasses - Used to access protected constructor + The size of the cyclic buffer used to hold the logging events. - + + Set to by default. + - + - A value + The cyclic buffer used to store the logging events. - + - Supports simple iteration over a . + The triggering event evaluator that causes the buffer to be sent immediately. - + + The object that is used to determine if an event causes the entire + buffer to be sent immediately. This field can be null, which + indicates that event triggering is not to be done. The evaluator + can be set using the property. If this appender + has the ( property) set to + true then an must be set. + - + - Initializes a new instance of the Enumerator class. + Indicates if the appender should overwrite events in the cyclic buffer + when it becomes full, or if the buffer should be flushed when the + buffer is full. - + + If this field is set to true then an must + be set. + - + - Advances the enumerator to the next element in the collection. + The triggering event evaluator filters discarded events. - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - + + The object that is used to determine if an event that is discarded should + really be discarded or if it should be sent to the appenders. + This field can be null, which indicates that all discarded events will + be discarded. + - + - Sets the enumerator to its initial position, before the first element in the collection. + Value indicating which fields in the event should be fixed + + By default all fields are fixed + - + - Gets the current element in the collection. + The events delivered to the subclass must be fixed. - - - - + - - Appends log events to the ASP.NET system. - + Buffers events and then forwards them to attached appenders. - Diagnostic information and tracing messages that you specify are appended to the output - of the page that is sent to the requesting browser. Optionally, you can view this information - from a separate trace viewer (Trace.axd) that displays trace information for every page in a - given application. - - - Trace statements are processed and displayed only when tracing is enabled. You can control - whether tracing is displayed to a page, to the trace viewer, or both. + The events are buffered in this appender until conditions are + met to allow the appender to deliver the events to the attached + appenders. See for the + conditions that cause the buffer to be sent. - - The logging event is passed to the or - method depending on the level of the logging event. - The event's logger name is the default value for the category parameter of the Write/Warn method. + The forwarding appender can be used to specify different + thresholds and filters for the same appender at different locations + within the hierarchy. Nicko Cadell Gert Driesen - Ron Grabowski - + - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -2531,209 +2412,56 @@ - + - Write the logging event to the ASP.NET trace + Closes the appender and releases resources. - the event to log - Write the logging event to the ASP.NET trace - HttpContext.Current.Trace - (). + Releases any resources allocated within the appender such as file handles, + network connections, etc. + + + It is a programming error to append to a closed appender. - - - Defaults to %logger - - - + - This appender requires a to be set. + Send the events. - true + The events that need to be send. - This appender requires a to be set. + Forwards the events to the attached appenders. - + - The category parameter sent to the Trace method. + Adds an to the list of appenders of this + instance. + The to add to this appender. - Defaults to %logger which will use the logger name of the current - as the category parameter. - - - - - - - - Buffers events and then forwards them to attached appenders. - - - - The events are buffered in this appender until conditions are - met to allow the appender to deliver the events to the attached - appenders. See for the - conditions that cause the buffer to be sent. - - The forwarding appender can be used to specify different - thresholds and filters for the same appender at different locations - within the hierarchy. - - - Nicko Cadell - Gert Driesen - - - - Interface for attaching appenders to objects. - - - - Interface for attaching, removing and retrieving appenders. + If the specified is already in the list of + appenders, then it won't be added again. - Nicko Cadell - Gert Driesen - + - Attaches an appender. + Gets the appenders contained in this appender as an + . - The appender to add. - - Add the specified appender. The implementation may - choose to allow or deny duplicate appenders. - + If no appenders can be found, then an + is returned. - - - - Gets an attached appender with the specified name. - - The name of the appender to get. - The appender with the name specified, or null if no appender with the - specified name is found. + A collection of the appenders in this appender. - - - Returns an attached appender with the specified. - If no appender with the specified name is found null will be - returned. - - - - - - Removes all attached appenders. - - - - Removes and closes all attached appenders - - - - - - Removes the specified appender from the list of attached appenders. - - The appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Removes the appender with the specified name from the list of appenders. - - The name of the appender to remove. - The appender removed from the list - - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - - - - - Gets all attached appenders. - - - A collection of attached appenders. - - - - Gets a collection of attached appenders. - If there are no attached appenders the - implementation should return an empty - collection rather than null. - - - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Closes the appender and releases resources. - - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - - - - Send the events. - - The events that need to be send. - - - Forwards the events to the attached appenders. - - - - - - Adds an to the list of appenders of this - instance. - - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - @@ -2788,19 +2516,6 @@ Implementation of the interface - - - Gets the appenders contained in this appender as an - . - - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - -
Appends logging events to the console. @@ -2831,13 +2546,13 @@ - - - + + + - - + + @@ -2858,63 +2573,107 @@ Rick Hobbs Nicko Cadell - + - The to use when writing to the Console - standard output stream. + The enum of possible color values for use with the color mapping method - The to use when writing to the Console - standard output stream. + The following flags can be combined together to + form the colors. + - + - The to use when writing to the Console - standard error output stream. + color is blue + + + + + color is green + + + + + color is red + + + + + color is white + + + + + color is yellow + + + + + color is purple + + + + + color is cyan + + + + + color is intensified - - - The to use when writing to the Console - standard error output stream. - - - Initializes a new instance of the class. + Initializes a new instance of the class. - The instance of the class is set up to write + The instance of the class is set up to write to the standard output stream. - Initializes a new instance of the class + Initializes a new instance of the class with the specified layout. the layout to use for this appender - The instance of the class is set up to write + The instance of the class is set up to write to the standard output stream. - Initializes a new instance of the class + Initializes a new instance of the class with the specified layout. the layout to use for this appender flag set to true to write to the console error stream - When is set to true, output is written to + When is set to true, output is written to the standard error output stream. Otherwise, output is written to the standard output stream. + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + Add a mapping of level to color - done by the config file @@ -2942,6 +2701,17 @@ + + + This appender requires a to be set. + + true + + + This appender requires a to be set. + + + Initialize the options for this appender @@ -2952,104 +2722,49 @@ - - - Flag to write output to the error stream rather than the standard output stream - - - - - Mapping from level object to color value - - - + - The console output stream writer to write to + The to use when writing to the Console + standard output stream. - This writer is not thread safe. + The to use when writing to the Console + standard output stream. - + - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". + The to use when writing to the Console + standard error output stream. - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". + The to use when writing to the Console + standard error output stream. - + - This appender requires a to be set. + Flag to write output to the error stream rather than the standard output stream - true - - - This appender requires a to be set. - - - + - The enum of possible color values for use with the color mapping method + Mapping from level object to color value + + + + + The console output stream writer to write to - The following flags can be combined together to - form the colors. + This writer is not thread safe. - - - - - color is blue - - - - - color is green - - - - - color is red - - - - - color is white - - - - - color is yellow - - - - - color is purple - - - - - color is cyan - - - - - color is intensified - @@ -3062,16 +2777,6 @@ - - - Initialize the options for the object - - - - Combine the and together. - - - The mapped foreground color for the specified level @@ -3094,6 +2799,16 @@ + + + Initialize the options for the object + + + + Combine the and together. + + + The combined and suitable for @@ -3126,63 +2841,55 @@ Nicko Cadell Gert Driesen - - - The to use when writing to the Console - standard output stream. - - - - The to use when writing to the Console - standard output stream. - - - - - - The to use when writing to the Console - standard error output stream. - - - - The to use when writing to the Console - standard error output stream. - - - - Initializes a new instance of the class. + Initializes a new instance of the class. - The instance of the class is set up to write + The instance of the class is set up to write to the standard output stream. - Initializes a new instance of the class + Initializes a new instance of the class with the specified layout. the layout to use for this appender - The instance of the class is set up to write + The instance of the class is set up to write to the standard output stream. - Initializes a new instance of the class + Initializes a new instance of the class with the specified layout. the layout to use for this appender flag set to true to write to the console error stream - When is set to true, output is written to + When is set to true, output is written to the standard error output stream. Otherwise, output is written to the standard output stream. + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + + This method is called by the method. @@ -3197,30 +2904,38 @@ - + - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". + This appender requires a to be set. - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - + true - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". + This appender requires a to be set. - + - This appender requires a to be set. + The to use when writing to the Console + standard output stream. - true - This appender requires a to be set. + The to use when writing to the Console + standard output stream. + + + + + + The to use when writing to the Console + standard error output stream. + + + + The to use when writing to the Console + standard error output stream. @@ -3244,7 +2959,7 @@ - Initializes a new instance of the . + Initializes a new instance of the . @@ -3254,7 +2969,7 @@ - Initializes a new instance of the + Initializes a new instance of the with a specified layout. The layout to use with this appender. @@ -3264,48 +2979,6 @@ - - - Flushes any buffered log data. - - The maximum time to wait for logging events to be flushed. - True if all logging events were flushed successfully, else false. - - - - Writes the logging event to the system. - - The event to log. - - - Writes the logging event to the system. - If is true then the - is called. - - - - - - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. - - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. - - - - - Defaults to a with %logger as the pattern. - - Gets or sets a value that indicates whether the appender will @@ -3339,6 +3012,26 @@ + + + Flushes any buffered log data. + + The maximum time to wait for logging events to be flushed. + True if all logging events were flushed successfully, else false. + + + + Writes the logging event to the system. + + The event to log. + + + Writes the logging event to the system. + If is true then the + is called. + + + This appender requires a to be set. @@ -3350,14 +3043,36 @@ - + - Writes events to the system event log. + Immediate flush means that the underlying writer or output stream + will be flushed at the end of each append operation. - The appender will fail if you try to write using an event source that doesn't exist unless it is running with local administrator privileges. - See also http://logging.apache.org/log4net/release/faq.html#trouble-EventLog + Immediate flush is slower but ensures that each append request is + actually written. If is set to + false, then there is a good chance that the last few + logs events are not actually written to persistent media if and + when the application crashes. + + + The default value is true. + + + + + Defaults to a with %logger as the pattern. + + + + + Writes events to the system event log. + + + + The appender will fail if you try to write using an event source that doesn't exist unless it is running with local administrator privileges. + See also http://logging.apache.org/log4net/release/faq.html#trouble-EventLog The EventID of the event log entry can be @@ -3404,7 +3119,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -3414,16 +3129,63 @@ - Initializes a new instance of the class - with the specified . + Initializes a new instance of the class + with the specified . - The to use with this appender. + The to use with this appender. Obsolete constructor. + + + The name of the log where messages will be stored. + + + The string name of the log where messages will be stored. + + + This is the name of the log as it appears in the Event Viewer + tree. The default value is to log into the Application + log, this is where most applications write their events. However + if you need a separate log for your application (or applications) + then you should set the appropriately. + This should not be used to distinguish your event log messages + from those of other applications, the + property should be used to distinguish events. This property should be + used to group together events into a single log. + + + + + + Property used to set the Application name. This appears in the + event logs when logging. + + + The string used to distinguish events from different sources. + + + Sets the event log source property. + + + + + This property is used to return the name of the computer to use + when accessing the event logs. Currently, this is the current + computer, denoted by a dot "." + + + The string name of the machine holding the event log that + will be logged into. + + + This property cannot be changed. It is currently set to '.' + i.e. the local machine. This may be changed in future. + + Add a mapping of level to - done by the config file @@ -3436,6 +3198,51 @@ + + + Gets or sets the used to write to the EventLog. + + + The used to write to the EventLog. + + + + The system security context used to write to the EventLog. + + + Unless a specified here for this appender + the is queried for the + security context to use. The default behavior is to use the security context + of the current thread. + + + + + + Gets or sets the EventId to use unless one is explicitly specified via the LoggingEvent's properties. + + + + The EventID of the event log entry will normally be + set using the EventID property () + on the . + This property provides the fallback value which defaults to 0. + + + + + + Gets or sets the Category to use unless one is explicitly specified via the LoggingEvent's properties. + + + + The Category of the event log entry will normally be + set using the Category property () + on the . + This property provides the fallback value which defaults to 0. + + + Initialize the appender based on the options set @@ -3480,6 +3287,17 @@ + + + This appender requires a to be set. + + true + + + This appender requires a to be set. + + + Get the equivalent for a @@ -3531,6 +3349,28 @@ The event category to use unless one is explicitly specified via the LoggingEvent's properties. + + + A class to act as a mapping between the level that a logging call is made at and + the color it should be displayed as. + + + + Defines the mapping between a level and its event log entry type. + + + + + + The for this entry + + + + Required property. + The for this entry + + + The fully qualified type of the EventLogAppender class. @@ -3603,467 +3443,384 @@ - + - The name of the log where messages will be stored. + Appends logging events to a file. - - The string name of the log where messages will be stored. - - This is the name of the log as it appears in the Event Viewer - tree. The default value is to log into the Application - log, this is where most applications write their events. However - if you need a separate log for your application (or applications) - then you should set the appropriately. - This should not be used to distinguish your event log messages - from those of other applications, the - property should be used to distinguish events. This property should be - used to group together events into a single log. + + Logging events are sent to the file specified by + the property. + + + The file can be opened in either append or overwrite mode + by specifying the property. + If the file path is relative it is taken as relative from + the application base directory. The file encoding can be + specified by setting the property. + + + The layout's and + values will be written each time the file is opened and closed + respectively. If the property is + then the file may contain multiple copies of the header and footer. + + + This appender will first try to open the file for writing when + is called. This will typically be during configuration. + If the file cannot be opened for writing the appender will attempt + to open the file again each time a message is logged to the appender. + If the file cannot be opened for writing when a message is logged then + the message will be discarded by this appender. + + + The supports pluggable file locking models via + the property. + The default behavior, implemented by + is to obtain an exclusive write lock on the file until this appender is closed. + The alternative models only hold a + write lock while the appender is writing a logging event () + or synchronize by using a named system wide Mutex (). + + + All locking strategies have issues and you should seriously consider using a different strategy that + avoids having multiple processes logging to the same file. + Nicko Cadell + Gert Driesen + Rodrigo B. de Oliveira + Douglas de la Torre + Niall Daley - + - Property used to set the Application name. This appears in the - event logs when logging. + Write only that uses the + to manage access to an underlying resource. - - The string used to distinguish events from different sources. - - - Sets the event log source property. - - + - This property is used to return the name of the computer to use - when accessing the event logs. Currently, this is the current - computer, denoted by a dot "." + True asynchronous writes are not supported, the implementation forces a synchronous write. - - The string name of the machine holding the event log that - will be logged into. - - - This property cannot be changed. It is currently set to '.' - i.e. the local machine. This may be changed in future. - - + - Gets or sets the used to write to the EventLog. + Locking model base class - - The used to write to the EventLog. - - The system security context used to write to the EventLog. - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. + Base class for the locking models available to the derived loggers. - + - Gets or sets the EventId to use unless one is explicitly specified via the LoggingEvent's properties. + Open the output file + The filename to use + Whether to append to the file, or overwrite + The encoding to use - The EventID of the event log entry will normally be - set using the EventID property () - on the . - This property provides the fallback value which defaults to 0. + Open the file specified and prepare for logging. + No writes will be made until is called. + Must be called before any calls to , + and . - + - Gets or sets the Category to use unless one is explicitly specified via the LoggingEvent's properties. + Close the file - The Category of the event log entry will normally be - set using the Category property () - on the . - This property provides the fallback value which defaults to 0. + Close the file. No further writes will be made. - + - This appender requires a to be set. + Initializes all resources used by this locking model. - true - - - This appender requires a to be set. - - - + - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. + Disposes all resources that were initialized by this locking model. + + + + + Acquire the lock on the file + A stream that is ready to be written to. - Defines the mapping between a level and its event log entry type. + Acquire the lock on the file in preparation for writing to it. + Return a stream pointing to the file. + must be called to release the lock on the output file. - + - The for this entry + Release the lock on the file - Required property. - The for this entry + Release the lock on the file. No further writes will be made to the + stream until is called again. - + - Appends logging events to a file. + Gets or sets the for this LockingModel + + The for this LockingModel + - Logging events are sent to the file specified by - the property. - - - The file can be opened in either append or overwrite mode - by specifying the property. - If the file path is relative it is taken as relative from - the application base directory. The file encoding can be - specified by setting the property. - - - The layout's and - values will be written each time the file is opened and closed - respectively. If the property is - then the file may contain multiple copies of the header and footer. - - - This appender will first try to open the file for writing when - is called. This will typically be during configuration. - If the file cannot be opened for writing the appender will attempt - to open the file again each time a message is logged to the appender. - If the file cannot be opened for writing when a message is logged then - the message will be discarded by this appender. + The file appender this locking model is attached to and working on + behalf of. - The supports pluggable file locking models via - the property. - The default behavior, implemented by - is to obtain an exclusive write lock on the file until this appender is closed. - The alternative models only hold a - write lock while the appender is writing a logging event () - or synchronize by using a named system wide Mutex (). + The file appender is used to locate the security context and the error handler to use. - All locking strategies have issues and you should seriously consider using a different strategy that - avoids having multiple processes logging to the same file. + The value of this property will be set before is + called. - Nicko Cadell - Gert Driesen - Rodrigo B. de Oliveira - Douglas de la Torre - Niall Daley - + - Sends logging events to a . + Helper method that creates a FileStream under CurrentAppender's SecurityContext. - An Appender that writes to a . + Typically called during OpenFile or AcquireLock. - This appender may be used stand alone if initialized with an appropriate - writer, however it is typically used as a base class for an appender that - can open a to write to. + If the directory portion of the does not exist, it is created + via Directory.CreateDirecctory. - Nicko Cadell - Gert Driesen - Douglas de la Torre + + + + - + - Initializes a new instance of the class. + Helper method to close under CurrentAppender's SecurityContext. - - Default constructor. - + Does not set to null. + - + - Initializes a new instance of the class and - sets the output destination to a new initialized - with the specified . + Hold an exclusive lock on the output file - The layout to use with this appender. - The to output to. - Obsolete constructor. + Open the file once for writing and hold it open until is called. + Maintains an exclusive lock on the file during this time. - + - Initializes a new instance of the class and sets - the output destination to the specified . + Open the file specified and prepare for logging. - The layout to use with this appender - The to output to - - The must have been previously opened. - + The filename to use + Whether to append to the file, or overwrite + The encoding to use - Obsolete constructor. + Open the file specified and prepare for logging. + No writes will be made until is called. + Must be called before any calls to , + and . - + - This method determines if there is a sense in attempting to append. + Close the file - This method checks if an output target has been set and if a - layout has been set. + Close the file. No further writes will be made. - false if any of the preconditions fail. - + - This method is called by the - method. + Acquire the lock on the file - The event to log. + A stream that is ready to be written to. - Writes a log statement to the output stream if the output stream exists - and is writable. - - - The format of the output will depend on the appender's layout. + Does nothing. The lock is already taken - + - This method is called by the - method. + Release the lock on the file - The array of events to log. - This method writes all the bulk logged events to the output writer - before flushing the stream. + Does nothing. The lock will be released when the file is closed. - + - Close this appender instance. The underlying stream or writer is also closed. + Initializes all resources used by this locking model. - - Closed appenders cannot be reused. - - + - Writes the footer and closes the underlying . + Disposes all resources that were initialized by this locking model. - - - Writes the footer and closes the underlying . - - - + - Closes the underlying . + Acquires the file lock for each write - Closes the underlying . + Opens the file once for each / cycle, + thus holding the lock for the minimal amount of time. This method of locking + is considerably slower than but allows + other processes to move/delete the log file whilst logging continues. - + - Clears internal references to the underlying - and other variables. + Prepares to open the file when the first message is logged. + The filename to use + Whether to append to the file, or overwrite + The encoding to use - Subclasses can override this method for an alternate closing behavior. + Open the file specified and prepare for logging. + No writes will be made until is called. + Must be called before any calls to , + and . - + - Writes a footer as produced by the embedded layout's property. + Close the file - Writes a footer as produced by the embedded layout's property. + Close the file. No further writes will be made. - + - Writes a header produced by the embedded layout's property. + Acquire the lock on the file + A stream that is ready to be written to. - Writes a header produced by the embedded layout's property. + Acquire the lock on the file in preparation for writing to it. + Return a stream pointing to the file. + must be called to release the lock on the output file. - + - Called to allow a subclass to lazily initialize the writer + Release the lock on the file - This method is called when an event is logged and the or - have not been set. This allows a subclass to - attempt to initialize the writer multiple times. + Release the lock on the file. No further writes will be made to the + stream until is called again. - + - This is the where logging events - will be written to. + Initializes all resources used by this locking model. - + - Immediate flush means that the underlying - or output stream will be flushed at the end of each append operation. + Disposes all resources that were initialized by this locking model. - - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logging events are not actually persisted if and when the application - crashes. - - - The default value is true. - - - + - The fully qualified type of the TextWriterAppender class. + Provides cross-process file locking. - - Used by the internal logger to record the Type of the - log message. - + Ron Grabowski + Steve Wranovsky - + - Flushes any buffered log data. + Open the file specified and prepare for logging. - The maximum time to wait for logging events to be flushed. - True if all logging events were flushed successfully, else false. + The filename to use + Whether to append to the file, or overwrite + The encoding to use + + + Open the file specified and prepare for logging. + No writes will be made until is called. + Must be called before any calls to , + - and . + + - + - Gets or set whether the appender will flush at the end - of each append operation. + Close the file - - - The default behavior is to flush at the end of each - append operation. - + - If this option is set to false, then the underlying - stream can defer persisting the logging event to a later - time. + Close the file. No further writes will be made. - - - Avoiding the flush operation at the end of each append results in - a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. - + - Sets the where the log output will go. + Acquire the lock on the file + A stream that is ready to be written to. - The specified must be open and writable. - - - The will be closed when the appender - instance is closed. - - - Note: Logging to an unopened will fail. + Does nothing. The lock is already taken - + - Gets or set the and the underlying - , if any, for this appender. + Releases the lock and allows others to acquire a lock. - - The for this appender. - - + - This appender requires a to be set. + Initializes all resources used by this locking model. - true - - - This appender requires a to be set. - - - + - Gets or sets the where logging events - will be written to. + Disposes all resources that were initialized by this locking model. - - The where logging events are written. - - - - This is the where logging events - will be written to. - - @@ -4101,6 +3858,88 @@ + + + Gets or sets the path to the file that logging will be written to. + + + The path to the file that logging will be written to. + + + + If the path is relative it is taken as relative from + the application base directory. + + + + + + Gets or sets a flag that indicates whether the file should be + appended to or overwritten. + + + Indicates whether the file should be appended to or overwritten. + + + + If the value is set to false then the file will be overwritten, if + it is set to true then the file will be appended to. + + The default value is true. + + + + + Gets or sets used to write to the file. + + + The used to write to the file. + + + + The default encoding set is + which is the encoding for the system's current ANSI code page. + + + + + + Gets or sets the used to write to the file. + + + The used to write to the file. + + + + Unless a specified here for this appender + the is queried for the + security context to use. The default behavior is to use the security context + of the current thread. + + + + + + Gets or sets the used to handle locking of the file. + + + The used to lock the file. + + + + Gets or sets the used to handle locking of the file. + + + There are three built in locking models, , and . + The first locks the file from the start of logging to the end, the + second locks only for the minimal amount of time when logging each message + and the last synchronizes processes using a named system wide Mutex. + + + The default locking model is the . + + + Activate the options on the file appender. @@ -4333,642 +4172,487 @@ log message. - + - Gets or sets the path to the file that logging will be written to. + This appender forwards logging events to attached appenders. - - The path to the file that logging will be written to. - - If the path is relative it is taken as relative from - the application base directory. + The forwarding appender can be used to specify different thresholds + and filters for the same appender at different locations within the hierarchy. + Nicko Cadell + Gert Driesen - + - Gets or sets a flag that indicates whether the file should be - appended to or overwritten. + Initializes a new instance of the class. - - Indicates whether the file should be appended to or overwritten. - - If the value is set to false then the file will be overwritten, if - it is set to true then the file will be appended to. + Default constructor. - The default value is true. - + - Gets or sets used to write to the file. + Closes the appender and releases resources. - - The used to write to the file. - - The default encoding set is - which is the encoding for the system's current ANSI code page. + Releases any resources allocated within the appender such as file handles, + network connections, etc. + + + It is a programming error to append to a closed appender. - + - Gets or sets the used to write to the file. + Forward the logging event to the attached appenders - - The used to write to the file. - + The event to log. - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. + Delivers the logging event to all the attached appenders. - + - Gets or sets the used to handle locking of the file. + Forward the logging events to the attached appenders - - The used to lock the file. - + The array of events to log. - Gets or sets the used to handle locking of the file. - - - There are three built in locking models, , and . - The first locks the file from the start of logging to the end, the - second locks only for the minimal amount of time when logging each message - and the last synchronizes processes using a named system wide Mutex. - - - The default locking model is the . + Delivers the logging events to all the attached appenders. - + - Write only that uses the - to manage access to an underlying resource. + Adds an to the list of appenders of this + instance. + The to add to this appender. + + + If the specified is already in the list of + appenders, then it won't be added again. + + - + - True asynchronous writes are not supported, the implementation forces a synchronous write. + Gets the appenders contained in this appender as an + . + + If no appenders can be found, then an + is returned. + + + A collection of the appenders in this appender. + - + - Exception base type for log4net. + Looks for the appender with the specified name. + The name of the appender to lookup. + + The appender with the specified name, or null. + - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. + Get the named appender attached to this appender. - Nicko Cadell - Gert Driesen - + - Constructor + Removes all previously added appenders from this appender. - Initializes a new instance of the class. + This is useful when re-reading configuration information. - + - Constructor + Removes the specified appender from the list of appenders. - A message to include with the exception. + The appender to remove. + The appender removed from the list - - Initializes a new instance of the class with - the specified message. - + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. - + - Constructor + Removes the appender with the specified name from the list of appenders. - A message to include with the exception. - A nested exception to include. + The name of the appender to remove. + The appender removed from the list - - Initializes a new instance of the class - with the specified message and inner exception. - + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. - + - Serialization constructor + Implementation of the interface - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - + - Locking model base class + Implement this interface for your own strategies for printing log statements. - Base class for the locking models available to the derived loggers. + Implementors should consider extending the + class which provides a default implementation of this interface. + + + Appenders can also implement the interface. Therefore + they would require that the method + be called after the appenders properties have been configured. + Nicko Cadell + Gert Driesen - + - Open the output file + Closes the appender and releases resources. - The filename to use - Whether to append to the file, or overwrite - The encoding to use - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . + Releases any resources allocated within the appender such as file handles, + network connections, etc. + + + It is a programming error to append to a closed appender. - + - Close the file + Log the logging event in Appender specific way. + The event to log - Close the file. No further writes will be made. + This method is called to log a message into this appender. - - - Initializes all resources used by this locking model. - - - + - Disposes all resources that were initialized by this locking model. + Gets or sets the name of this appender. + The name of the appender. + + The name uniquely identifies the appender. + - + - Acquire the lock on the file + Interface for appenders that support bulk logging. - A stream that is ready to be written to. - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. + This interface extends the interface to + support bulk logging of objects. Appenders + should only implement this interface if they can bulk log efficiently. + Nicko Cadell - + - Release the lock on the file + Log the array of logging events in Appender specific way. + The events to log - Release the lock on the file. No further writes will be made to the - stream until is called again. + This method is called to log an array of events into this appender. - + - Helper method that creates a FileStream under CurrentAppender's SecurityContext. + Interface that can be implemented by Appenders that buffer logging data and expose a method. + + + + + Flushes any buffered log data. + Appenders that implement the method must do so in a thread-safe manner: it can be called concurrently with + the method. - Typically called during OpenFile or AcquireLock. + Typically this is done by locking on the Appender instance, e.g.: + + + - If the directory portion of the does not exist, it is created - via Directory.CreateDirecctory. + The parameter is only relevant for appenders that process logging events asynchronously, + such as . - - - - - - - - Helper method to close under CurrentAppender's SecurityContext. - - - Does not set to null. - - + The maximum time to wait for logging events to be flushed. + True if all logging events were flushed successfully, else false. - + - Gets or sets the for this LockingModel + Logs events to a local syslog service. - - The for this LockingModel - + + This appender uses the POSIX libc library functions openlog, syslog, and closelog. + If these functions are not available on the local system then this appender will not work! + - The file appender this locking model is attached to and working on - behalf of. + The functions openlog, syslog, and closelog are specified in SUSv2 and + POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - The file appender is used to locate the security context and the error handler to use. + This appender talks to a local syslog service. If you need to log to a remote syslog + daemon and you cannot configure your local syslog service to do this you may be + able to use the to log via UDP. - The value of this property will be set before is - called. + Syslog messages must have a facility and and a severity. The severity + is derived from the Level of the logging event. + The facility must be chosen from the set of defined syslog + values. The facilities list is predefined + and cannot be extended. - - - - - Hold an exclusive lock on the output file - - - Open the file once for writing and hold it open until is called. - Maintains an exclusive lock on the file during this time. + An identifier is specified with each log message. This can be specified + by setting the property. The identity (also know + as the tag) must not contain white space. The default value for the + identity is the application name (from ). + Rob Lyon + Nicko Cadell - + - Open the file specified and prepare for logging. + syslog severities - The filename to use - Whether to append to the file, or overwrite - The encoding to use - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . + The log4net Level maps to a syslog severity using the + method and the + class. The severity is set on . - + - Close the file + system is unusable - - - Close the file. No further writes will be made. - - - + - Acquire the lock on the file + action must be taken immediately - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - + - Release the lock on the file + critical conditions - - - Does nothing. The lock will be released when the file is closed. - - - + - Initializes all resources used by this locking model. + error conditions - + - Disposes all resources that were initialized by this locking model. + warning conditions - + - Acquires the file lock for each write + normal but significant condition - - - Opens the file once for each / cycle, - thus holding the lock for the minimal amount of time. This method of locking - is considerably slower than but allows - other processes to move/delete the log file whilst logging continues. - - - + - Prepares to open the file when the first message is logged. + informational - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - and . - - - + - Close the file + debug-level messages - - - Close the file. No further writes will be made. - - - + - Acquire the lock on the file + syslog facilities - A stream that is ready to be written to. - Acquire the lock on the file in preparation for writing to it. - Return a stream pointing to the file. - must be called to release the lock on the output file. + The syslog facility defines which subsystem the logging comes from. + This is set on the property. - + - Release the lock on the file + kernel messages - - - Release the lock on the file. No further writes will be made to the - stream until is called again. - - - + - Initializes all resources used by this locking model. + random user-level messages - + - Disposes all resources that were initialized by this locking model. + mail system - + - Provides cross-process file locking. + system daemons - Ron Grabowski - Steve Wranovsky - + - Open the file specified and prepare for logging. + security/authorization messages - The filename to use - Whether to append to the file, or overwrite - The encoding to use - - - Open the file specified and prepare for logging. - No writes will be made until is called. - Must be called before any calls to , - - and . - - - + - Close the file + messages generated internally by syslogd - - - Close the file. No further writes will be made. - - - + - Acquire the lock on the file + line printer subsystem - A stream that is ready to be written to. - - - Does nothing. The lock is already taken - - - + - Releases the lock and allows others to acquire a lock. + network news subsystem - + - Initializes all resources used by this locking model. + UUCP subsystem - + - Disposes all resources that were initialized by this locking model. + clock (cron/at) daemon - + - This appender forwards logging events to attached appenders. + security/authorization messages (private) - - - The forwarding appender can be used to specify different thresholds - and filters for the same appender at different locations within the hierarchy. - - - Nicko Cadell - Gert Driesen - + - Initializes a new instance of the class. + ftp daemon - - - Default constructor. - - - + - Closes the appender and releases resources. + NTP subsystem - - - Releases any resources allocated within the appender such as file handles, - network connections, etc. - - - It is a programming error to append to a closed appender. - - - + - Forward the logging event to the attached appenders + log audit - The event to log. - - - Delivers the logging event to all the attached appenders. - - - + - Forward the logging events to the attached appenders + log alert - The array of events to log. - - - Delivers the logging events to all the attached appenders. - - - + - Adds an to the list of appenders of this - instance. + clock daemon - The to add to this appender. - - - If the specified is already in the list of - appenders, then it won't be added again. - - - + - Looks for the appender with the specified name. + reserved for local use - The name of the appender to lookup. - - The appender with the specified name, or null. - - - - Get the named appender attached to this appender. - - - + - Removes all previously added appenders from this appender. + reserved for local use - - - This is useful when re-reading configuration information. - - - + - Removes the specified appender from the list of appenders. + reserved for local use - The appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - + - Removes the appender with the specified name from the list of appenders. + reserved for local use - The name of the appender to remove. - The appender removed from the list - - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - - + - Implementation of the interface + reserved for local use - + - Gets the appenders contained in this appender as an - . + reserved for local use - - If no appenders can be found, then an - is returned. - - - A collection of the appenders in this appender. - - + - Logs events to a local syslog service. + reserved for local use + + + + + reserved for local use + + + + + Initializes a new instance of the class. + + + This instance of the class is set up to write + to a local syslog service. + + + + + Message identity - - This appender uses the POSIX libc library functions openlog, syslog, and closelog. - If these functions are not available on the local system then this appender will not work! - - - The functions openlog, syslog, and closelog are specified in SUSv2 and - POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service. - - - This appender talks to a local syslog service. If you need to log to a remote syslog - daemon and you cannot configure your local syslog service to do this you may be - able to use the to log via UDP. - - - Syslog messages must have a facility and and a severity. The severity - is derived from the Level of the logging event. - The facility must be chosen from the set of defined syslog - values. The facilities list is predefined - and cannot be extended. - An identifier is specified with each log message. This can be specified by setting the property. The identity (also know @@ -4976,16 +4660,15 @@ identity is the application name (from ). - Rob Lyon - Nicko Cadell - + - Initializes a new instance of the class. + Syslog facility - This instance of the class is set up to write - to a local syslog service. + Set to one of the values. The list of + facilities is predefined and cannot be extended. The default value + is . @@ -5041,6 +4724,17 @@ + + + This appender requires a to be set. + + true + + + This appender requires a to be set. + + + Translates a log4net level to a syslog severity. @@ -5107,567 +4801,350 @@ Close descriptor used to write to system logger. - + - Message identity + A class to act as a mapping between the level that a logging call is made at and + the syslog severity that is should be logged at. - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). + A class to act as a mapping between the level that a logging call is made at and + the syslog severity that is should be logged at. - + - Syslog facility + The mapped syslog severity for the specified level - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . + + Required property. + The mapped syslog severity for the specified level + - + - This appender requires a to be set. + Appends colorful logging events to the console, using the .NET 2 + built-in capabilities. - true - This appender requires a to be set. + ManagedColoredConsoleAppender appends log events to the standard output stream + or the error output stream using a layout specified by the + user. It also allows the color of a specific type of message to be set. + + + By default, all output is written to the console's standard output stream. + The property can be set to direct the output to the + error stream. + + + When configuring the colored console appender, mappings should be + specified to map logging levels to colors. For example: + + + + + + + + + + + + + + + + + + + + + + The Level is the standard log4net logging level while + ForeColor and BackColor are the values of + enumeration. + + + Based on the ColoredConsoleAppender + Rick Hobbs + Nicko Cadell + Pavlos Touboulidis - + - syslog severities + Initializes a new instance of the class. + + + The instance of the class is set up to write + to the standard output stream. + + + + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". + - The log4net Level maps to a syslog severity using the - method and the - class. The severity is set on . + Target is the value of the console output stream. + This is either "Console.Out" or "Console.Error". - + - system is unusable + Add a mapping of level to color - done by the config file + The mapping to add + + + Add a mapping to this appender. + Each mapping defines the foreground and background colors + for a level. + + - + - action must be taken immediately + This method is called by the method. + The event to log. + + + Writes the event to the console. + + + The format of the output will depend on the appender's layout. + + - + - critical conditions + This appender requires a to be set. + true + + + This appender requires a to be set. + + - + - error conditions + Initialize the options for this appender + + + Initialize the level to color mappings set on this appender. + + - + - warning conditions + The to use when writing to the Console + standard output stream. + + + The to use when writing to the Console + standard output stream. + + - + - normal but significant condition + The to use when writing to the Console + standard error output stream. + + + The to use when writing to the Console + standard error output stream. + + - + - informational + Flag to write output to the error stream rather than the standard output stream - + - debug-level messages + Mapping from level object to color value - + - syslog facilities + A class to act as a mapping between the level that a logging call is made at and + the color it should be displayed as. - The syslog facility defines which subsystem the logging comes from. - This is set on the property. + Defines the mapping between a level and the color it should be displayed in. - + - kernel messages + The mapped foreground color for the specified level + + + Required property. + The mapped foreground color for the specified level. + + - + - random user-level messages + The mapped background color for the specified level + + + Required property. + The mapped background color for the specified level. + + - + - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. + Stores logging events in an array. - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. + The memory appender stores all the logging events + that are appended in an in-memory array. + + + Use the method to get + and clear the current list of events that have been appended. + + + Use the method to get the current + list of events that have been appended. Note there is a + race-condition when calling and + in pairs, you better use in that case. + + + Use the method to clear the + current list of events. Note there is a + race-condition when calling and + in pairs, you better use in that case. + Julian Biddle + Nicko Cadell + Gert Driesen - + - The mapped syslog severity for the specified level + Initializes a new instance of the class. - Required property. - The mapped syslog severity for the specified level + Default constructor. - + - Appends colorful logging events to the console, using the .NET 2 - built-in capabilities. + Gets the events that have been logged. + The events that have been logged - ManagedColoredConsoleAppender appends log events to the standard output stream - or the error output stream using a layout specified by the - user. It also allows the color of a specific type of message to be set. - - - By default, all output is written to the console's standard output stream. - The property can be set to direct the output to the - error stream. - - - When configuring the colored console appender, mappings should be - specified to map logging levels to colors. For example: - - - - - - - - - - - - - - - - - - - - - - The Level is the standard log4net logging level while - ForeColor and BackColor are the values of - enumeration. - - - Based on the ColoredConsoleAppender + Gets the events that have been logged. - Rick Hobbs - Nicko Cadell - Pavlos Touboulidis - + - The to use when writing to the Console - standard output stream. + Gets or sets a value indicating whether only part of the logging event + data should be fixed. + + true if the appender should only fix part of the logging event + data, otherwise false. The default is false. + - The to use when writing to the Console - standard output stream. + Setting this property to true will cause only part of the event + data to be fixed and stored in the appender, hereby improving performance. + + + See for more information. - + - The to use when writing to the Console - standard error output stream. + Gets or sets the fields that will be fixed in the event - The to use when writing to the Console - standard error output stream. + The logging event needs to have certain thread specific values + captured before it can be buffered. See + for details. - + - Initializes a new instance of the class. + This method is called by the method. + the event to log - The instance of the class is set up to write - to the standard output stream. + Stores the in the events list. - + - Add a mapping of level to color - done by the config file + Clear the list of events - The mapping to add - - Add a mapping to this appender. - Each mapping defines the foreground and background colors - for a level. - + Clear the list of events - + - This method is called by the method. + Gets the events that have been logged and clears the list of events. - The event to log. + The events that have been logged - Writes the event to the console. - - - The format of the output will depend on the appender's layout. + Gets the events that have been logged and clears the list of events. - + - Initialize the options for this appender + The list of events that have been appended. - - - Initialize the level to color mappings set on this appender. - - - + - Flag to write output to the error stream rather than the standard output stream + Value indicating which fields in the event should be fixed + + By default all fields are fixed + - + - Mapping from level object to color value - - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - Target is the value of the console output stream. - This is either "Console.Out" or "Console.Error". - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - A class to act as a mapping between the level that a logging call is made at and - the color it should be displayed as. - - - - Defines the mapping between a level and the color it should be displayed in. - - - - - - The mapped foreground color for the specified level - - - - Required property. - The mapped foreground color for the specified level. - - - - - - The mapped background color for the specified level - - - - Required property. - The mapped background color for the specified level. - - - - - - Stores logging events in an array. - - - - The memory appender stores all the logging events - that are appended in an in-memory array. - - - Use the method to get - and clear the current list of events that have been appended. - - - Use the method to get the current - list of events that have been appended. Note there is a - race-condition when calling and - in pairs, you better use in that case. - - - Use the method to clear the - current list of events. Note there is a - race-condition when calling and - in pairs, you better use in that case. - - - Julian Biddle - Nicko Cadell - Gert Driesen - - - - Initializes a new instance of the class. - - - - Default constructor. - - - - - - Gets the events that have been logged. - - The events that have been logged - - - Gets the events that have been logged. - - - - - - This method is called by the method. - - the event to log - - Stores the in the events list. - - - - - Clear the list of events - - - Clear the list of events - - - - - Gets the events that have been logged and clears the list of events. - - The events that have been logged - - - Gets the events that have been logged and clears the list of events. - - - - - - The list of events that have been appended. - - - - - Value indicating which fields in the event should be fixed - - - By default all fields are fixed - - - - - Gets or sets a value indicating whether only part of the logging event - data should be fixed. - - - true if the appender should only fix part of the logging event - data, otherwise false. The default is false. - - - - Setting this property to true will cause only part of the event - data to be fixed and stored in the appender, hereby improving performance. - - - See for more information. - - - - - - Gets or sets the fields that will be fixed in the event - - - - The logging event needs to have certain thread specific values - captured before it can be buffered. See - for details. - - - - - - Logs entries by sending network messages using the - native function. + Logs entries by sending network messages using the + native function. @@ -5746,7 +5223,7 @@ Note : security restrictions apply for sending - network messages, see + network messages, see for more information. @@ -5758,9 +5235,9 @@ - - - + + + @@ -5795,6 +5272,60 @@ The default constructor initializes all fields to their default values. + + + Gets or sets the sender of the message. + + + The sender of the message. + + + If this property is not specified, the message is sent from the local computer. + + + + + Gets or sets the message alias to which the message should be sent. + + + The recipient of the message. + + + This property should always be specified in order to send a message. + + + + + Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. + + + DNS or NetBIOS name of the remote server on which the function is to execute. + + + + For Windows NT 4.0 and earlier, the string should begin with \\. + + + If this property is not specified, the local computer is used. + + + + + + Gets or sets the used to call the NetSend method. + + + The used to call the NetSend method. + + + + Unless a specified here for this appender + the is queried for the + security context to use. The default behavior is to use the security context + of the current thread. + + + Initialize the appender based on the options set. @@ -5812,10 +5343,10 @@ must be called again. - The appender will be ignored if no was specified. + The appender will be ignored if no was specified. - The required property was not specified. + The required property was not specified. @@ -5828,6 +5359,17 @@ + + + This appender requires a to be set. + + true + + + This appender requires a to be set. + + + Sends a buffer of information to a registered message alias. @@ -5884,74 +5426,9 @@ - + - Gets or sets the sender of the message. - - - The sender of the message. - - - If this property is not specified, the message is sent from the local computer. - - - - - Gets or sets the message alias to which the message should be sent. - - - The recipient of the message. - - - This property should always be specified in order to send a message. - - - - - Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute. - - - DNS or NetBIOS name of the remote server on which the function is to execute. - - - - For Windows NT 4.0 and earlier, the string should begin with \\. - - - If this property is not specified, the local computer is used. - - - - - - Gets or sets the used to call the NetSend method. - - - The used to call the NetSend method. - - - - Unless a specified here for this appender - the is queried for the - security context to use. The default behavior is to use the security context - of the current thread. - - - - - - This appender requires a to be set. - - true - - - This appender requires a to be set. - - - - - - Appends log events to the OutputDebugString system. + Appends log events to the OutputDebugString system. @@ -5968,7 +5445,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -5987,25 +5464,25 @@ - + - Stub for OutputDebugString native method + This appender requires a to be set. - the string to output + true - Stub for OutputDebugString native method + This appender requires a to be set. - + - This appender requires a to be set. + Stub for OutputDebugString native method - true + the string to output - This appender requires a to be set. + Stub for OutputDebugString native method @@ -6051,370 +5528,223 @@ Rob Lyon Nicko Cadell - - - Sends logging events as connectionless UDP datagrams to a remote host or a - multicast group using an . - - - - UDP guarantees neither that messages arrive, nor that they arrive in the correct order. - - - To view the logging results, a custom application can be developed that listens for logging - events. - - - When decoding events send via this appender remember to use the same encoding - to decode the events as was used to send the events. See the - property to specify the encoding to use. - - - - This example shows how to log receive logging events that are sent - on IP address 244.0.0.1 and port 8080 to the console. The event is - encoded in the packet as a unicode string and it is decoded as such. - - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - UdpClient udpClient; - byte[] buffer; - string loggingEvent; - - try - { - udpClient = new UdpClient(8080); - - while(true) - { - buffer = udpClient.Receive(ref remoteEndPoint); - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); - Console.WriteLine(loggingEvent); - } - } - catch(Exception e) - { - Console.WriteLine(e.ToString()); - } - - - Dim remoteEndPoint as IPEndPoint - Dim udpClient as UdpClient - Dim buffer as Byte() - Dim loggingEvent as String - - Try - remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) - udpClient = new UdpClient(8080) - - While True - buffer = udpClient.Receive(ByRef remoteEndPoint) - loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) - Console.WriteLine(loggingEvent) - Wend - Catch e As Exception - Console.WriteLine(e.ToString()) - End Try - - - An example configuration section to log information using this appender to the - IP 224.0.0.1 on port 8080: - - - - - - - - - - Gert Driesen - Nicko Cadell - - - - Initializes a new instance of the class. - - - The default constructor initializes all fields to their default values. - - - + - Initialize the appender based on the options set. + Syslog port 514 - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - The appender will be ignored if no was specified or - an invalid remote or local TCP port number was specified. - - - The required property was not specified. - The TCP port number assigned to or is less than or greater than . - + - This method is called by the method. + syslog severities - The event to log. - Sends the event using an UDP datagram. - - - Exceptions are passed to the . + The syslog severities. - + - Closes the UDP connection and releases all resources associated with - this instance. + system is unusable - - - Disables the underlying and releases all managed - and unmanaged resources associated with the . - - - + - Initializes the underlying connection. + action must be taken immediately - - - The underlying is initialized and binds to the - port number from which you intend to communicate. - - - Exceptions are passed to the . - - - + - The IP address of the remote host or multicast group to which - the logging event will be sent. + critical conditions - + - The TCP port number of the remote host or multicast group to - which the logging event will be sent. + error conditions - + - The cached remote endpoint to which the logging events will be sent. + warning conditions - + - The TCP port number from which the will communicate. + normal but significant condition - + - The instance that will be used for sending the - logging events. + informational - + - The encoding to use for the packet. + debug-level messages - + - Gets or sets the IP address of the remote host or multicast group to which - the underlying should sent the logging event. + syslog facilities - - The IP address of the remote host or multicast group to which the logging event - will be sent. - - Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to - 239.255.255.255). Multicast packets can pass across different networks through routers, so - it is possible to use multicasts in an Internet scenario as long as your network provider - supports multicasting. - - - Hosts that want to receive particular multicast messages must register their interest by joining - the multicast group. Multicast messages are not sent to networks where no host has joined - the multicast group. Class D IP addresses are used for multicast groups, to differentiate - them from normal host addresses, allowing nodes to easily detect if a message is of interest. - - - Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: - - - - - IP Address - Description - - - 224.0.0.1 - - - Sends a message to all system on the subnet. - - - - - 224.0.0.2 - - - Sends a message to all routers on the subnet. - - - - - 224.0.0.12 - - - The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. - - - - - - - A complete list of actually reserved multicast addresses and their owners in the ranges - defined by RFC 3171 can be found at the IANA web site. - - - The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative - addresses. These addresses can be reused with other local groups. Routers are typically - configured with filters to prevent multicast traffic in this range from flowing outside - of the local network. + The syslog facilities - + - Gets or sets the TCP port number of the remote host or multicast group to which - the underlying should sent the logging event. + kernel messages - - An integer value in the range to - indicating the TCP port number of the remote host or multicast group to which the logging event - will be sent. - - - The underlying will send messages to this TCP port number - on the remote host or multicast group. - - The value specified is less than or greater than . - + - Gets or sets the TCP port number from which the underlying will communicate. + random user-level messages - - An integer value in the range to - indicating the TCP port number from which the underlying will communicate. - - - - The underlying will bind to this port for sending messages. - - - Setting the value to 0 (the default) will cause the udp client not to bind to - a local port. - - - The value specified is less than or greater than . - + - Gets or sets used to write the packets. + mail system - - The used to write the packets. - - - - The used to write the packets. - - - + - Gets or sets the underlying . + system daemons - - The underlying . - - - creates a to send logging events - over a network. Classes deriving from can use this - property to get or set this . Use the underlying - returned from if you require access beyond that which - provides. - - + - Gets or sets the cached remote endpoint to which the logging events should be sent. + security/authorization messages - - The cached remote endpoint to which the logging events will be sent. - - - The method will initialize the remote endpoint - with the values of the and - properties. - - + - This appender requires a to be set. + messages generated internally by syslogd - true - - - This appender requires a to be set. - - - + - Syslog port 514 + line printer subsystem - + - Initial buffer size + network news subsystem - + - Maximum buffer size before it is recycled + UUCP subsystem + + + + + clock (cron/at) daemon + + + + + security/authorization messages (private) + + + + + ftp daemon + + + + + NTP subsystem + + + + + log audit + + + + + log alert + + + + + clock daemon + + + + + reserved for local use + + + + + reserved for local use + + + + + reserved for local use + + + + + reserved for local use + + + + + reserved for local use + + + + + reserved for local use + + + + + reserved for local use + + + + + reserved for local use - Initializes a new instance of the class. + Initializes a new instance of the class. - This instance of the class is set up to write + This instance of the class is set up to write to a remote syslog daemon. + + + Message identity + + + + An identifier is specified with each log message. This can be specified + by setting the property. The identity (also know + as the tag) must not contain white space. The default value for the + identity is the application name (from ). + + + + + + Syslog facility + + + Set to one of the values. The list of + facilities is predefined and cannot be extended. The default value + is . + + Add a mapping of level to severity @@ -6490,235 +5820,42 @@ Mapping from level object to syslog severity - + - Message identity + Initial buffer size + + + + + Maximum buffer size before it is recycled + + + + + A class to act as a mapping between the level that a logging call is made at and + the syslog severity that is should be logged at. - An identifier is specified with each log message. This can be specified - by setting the property. The identity (also know - as the tag) must not contain white space. The default value for the - identity is the application name (from ). + A class to act as a mapping between the level that a logging call is made at and + the syslog severity that is should be logged at. - + - Syslog facility + The mapped syslog severity for the specified level - Set to one of the values. The list of - facilities is predefined and cannot be extended. The default value - is . + + Required property. + The mapped syslog severity for the specified level + - + - syslog severities - - - - The syslog severities. - - - - - - system is unusable - - - - - action must be taken immediately - - - - - critical conditions - - - - - error conditions - - - - - warning conditions - - - - - normal but significant condition - - - - - informational - - - - - debug-level messages - - - - - syslog facilities - - - - The syslog facilities - - - - - - kernel messages - - - - - random user-level messages - - - - - mail system - - - - - system daemons - - - - - security/authorization messages - - - - - messages generated internally by syslogd - - - - - line printer subsystem - - - - - network news subsystem - - - - - UUCP subsystem - - - - - clock (cron/at) daemon - - - - - security/authorization messages (private) - - - - - ftp daemon - - - - - NTP subsystem - - - - - log audit - - - - - log alert - - - - - clock daemon - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - reserved for local use - - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - A class to act as a mapping between the level that a logging call is made at and - the syslog severity that is should be logged at. - - - - - - The mapped syslog severity for the specified level - - - - Required property. - The mapped syslog severity for the specified level - - - - - - Delivers logging events to a remote logging sink. + Delivers logging events to a remote logging sink. @@ -6759,14 +5896,14 @@ for details on how to shutdown log4net programmatically. - + Nicko Cadell Gert Driesen Daniel Cazzulino - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -6774,6 +5911,22 @@ + + + Gets or sets the URL of the well-known object that will accept + the logging events. + + + The well-known URL of the remote sink. + + + + The URL of the remoting sink that will accept logging events. + The sink must implement the + interface. + + + Initialize the appender based on the options set @@ -6885,22 +6038,6 @@ state it is safe to close the appender. - - - Gets or sets the URL of the well-known object that will accept - the logging events. - - - The well-known URL of the remote sink. - - - - The URL of the remoting sink that will accept logging events. - The sink must implement the - interface. - - - Interface used to deliver objects to a remote sink. @@ -7006,725 +6143,725 @@ Douglas de la Torre Edward Smit - + - Initializes a new instance of the class. + Style of rolling to use - Default constructor. + Style of rolling to use - - - Cleans up all resources used by this appender. - - - + - The fully qualified type of the RollingFileAppender class. + Roll files once per program execution - Used by the internal logger to record the Type of the - log message. - - - - - Sets the quiet writer being used. - - - This method can be overridden by sub classes. - - the writer to set - - - - Write out a logging event. - - the event to write to file. - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. + Roll files once per program execution. + Well really once each time this appender is + configured. + + + Setting this option also sets AppendToFile to + false on the RollingFileAppender, otherwise + this appender would just be a normal file appender. - + - Write out an array of logging events. + Roll files based only on the size of the file - the events to write to file. - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - + - Performs any required rolling before outputting the next event + Roll files based only on the date - - - Handles append time behavior for RollingFileAppender. This checks - if a roll over either by date (checked first) or time (checked second) - is need and then appends to the file last. - - - + - Creates and opens the file for logging. If - is false then the fully qualified name is determined and used. + Roll files based on both the size and date of the file - the name of the file to open - true to append to existing file - - This method will ensure that the directory structure - for the specified exists. - - + - Get the current output file name + The code assumes that the following 'time' constants are in a increasing sequence. - the base file name - the output file name - The output file name is based on the base fileName specified. - If is set then the output - file name is the same as the base file passed in. Otherwise - the output file depends on the date pattern, on the count - direction or both. + + The code assumes that the following 'time' constants are in a increasing sequence. + - + - Determines curSizeRollBackups (only within the current roll point) + Roll the log not based on the date - + - Generates a wildcard pattern that can be used to find all files - that are similar to the base file name. + Roll the log for each minute - - - + - Builds a list of filenames for all files matching the base filename plus a file - pattern. + Roll the log for each hour - - - + - Initiates a roll over if needed for crossing a date boundary since the last run. + Roll the log twice a day (midday and midnight) - + - Initializes based on existing conditions at time of . + Roll the log each day (midnight) - - - Initializes based on existing conditions at time of . - The following is done - - determine curSizeRollBackups (only within the current roll point) - initiates a roll over if needed for crossing a date boundary since the last run. - - - - + - Does the work of bumping the 'current' file counter higher - to the highest count when an incremental file name is seen. - The highest count is either the first file (when count direction - is greater than 0) or the last file (when count direction less than 0). - In either case, we want to know the highest count that is present. + Roll the log each week - - - + - Attempts to extract a number from the end of the file name that indicates - the number of the times the file has been rolled over. + Roll the log each month - - Certain date pattern extensions like yyyyMMdd will be parsed as valid backup indexes. - - - - + - Takes a list of files and a base file name, and looks for - 'incremented' versions of the base file. Bumps the max - count up to the highest count seen. + Initializes a new instance of the class. - - + + + Default constructor. + + - + - Calculates the RollPoint for the datePattern supplied. + Cleans up all resources used by this appender. - the date pattern to calculate the check period for - The RollPoint that is most accurate for the date pattern supplied - - Essentially the date pattern is examined to determine what the - most suitable roll point is. The roll point chosen is the roll point - with the smallest period that can be detected using the date pattern - supplied. i.e. if the date pattern only outputs the year, month, day - and hour then the smallest roll point that can be detected would be - and hourly roll point as minutes could not be detected. - - + - Initialize the appender based on the options set + Gets or sets the strategy for determining the current date and time. The default + implementation is to use LocalDateTime which internally calls through to DateTime.Now. + DateTime.UtcNow may be used on frameworks newer than .NET 1.0 by specifying + . + + An implementation of the interface which returns the current date and time. + - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. + Gets or sets the used to return the current date and time. - If any of the configuration properties are modified then - must be called again. + There are two built strategies for determining the current date and time, + + and . - Sets initial conditions including date/time roll over information, first check, - scheduledFilename, and calls to initialize - the current number of backups. + The default strategy is . - - - - - - .1, .2, .3, etc. - - - + - Rollover the file(s) to date/time tagged file(s). + Gets or sets the date pattern to be used for generating file names + when rolling over on date. - set to true if the file to be rolled is currently open + + The date pattern to be used for generating file names when rolling + over on date. + - Rollover the file(s) to date/time tagged file(s). - Resets curSizeRollBackups. - If fileIsOpen is set then the new file is opened (through SafeOpenFile). + Takes a string in the same format as expected by + . + + + This property determines the rollover schedule when rolling over + on date. - + - Renames file to file . + Gets or sets the maximum number of backup files that are kept before + the oldest is erased. - Name of existing file to roll. - New name for file. + + The maximum number of backup files that are kept before the oldest is + erased. + - Renames file to file . It - also checks for existence of target file and deletes if it does. + If set to zero, then there will be no backup files and the log file + will be truncated when it reaches . + + + If a negative number is supplied then no deletions will be made. Note + that this could result in very slow performance as a large number of + files are rolled over unless is used. + + + The maximum applies to each time based group of files and + not the total. - + - Test if a file exists at a specified path + Gets or sets the maximum size that the output file is allowed to reach + before being rolled over to backup files. - the path to the file - true if the file exists + + The maximum size in bytes that the output file is allowed to reach before being + rolled over to backup files. + - Test if a file exists at a specified path + This property is equivalent to except + that it is required for differentiating the setter taking a + argument from the setter taking a + argument. + + + The default maximum file size is 10MB (10*1024*1024). - + - Deletes the specified file if it exists. + Gets or sets the maximum size that the output file is allowed to reach + before being rolled over to backup files. - The file to delete. + + The maximum size that the output file is allowed to reach before being + rolled over to backup files. + - Delete a file if is exists. - The file is first moved to a new filename then deleted. - This allows the file to be removed even when it cannot - be deleted, but it still can be moved. + This property allows you to specify the maximum size with the + suffixes "KB", "MB" or "GB" so that the size is interpreted being + expressed respectively in kilobytes, megabytes or gigabytes. + + + For example, the value "10KB" will be interpreted as 10240 bytes. + + + The default maximum file size is 10MB. + + + If you have the option to set the maximum file size programmatically + consider using the property instead as this + allows you to set the size in bytes as a . - + - Implements file roll base on file size. + Gets or sets the rolling file count direction. + + The rolling file count direction. + - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. Moreover, File is - renamed File.1 and closed. - - - A new file is created to receive further log output. + Indicates if the current file is the lowest numbered file or the + highest numbered file. - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. + By default newer files have lower numbers ( < 0), + i.e. log.1 is most recent, log.5 is the 5th backup, etc... - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. + >= 0 does the opposite i.e. + log.1 is the first backup made, log.5 is the 5th backup made, etc. + For infinite backups use >= 0 to reduce + rollover costs. + The default file count direction is -1. - + - Implements file roll. + Gets or sets the rolling style. - the base name to rename + The rolling style. - If the maximum number of size based backups is reached - (curSizeRollBackups == maxSizeRollBackups) then the oldest - file is deleted -- its index determined by the sign of countDirection. - If countDirection < 0, then files - {File.1, ..., File.curSizeRollBackups -1} - are renamed to {File.2, ..., - File.curSizeRollBackups}. - - - If maxSizeRollBackups is equal to zero, then the - File is truncated with no backup files created. + The default rolling style is . - If maxSizeRollBackups < 0, then File is - renamed if needed and no files are deleted. + When set to this appender's + property is set to false, otherwise + the appender would append to a single file rather than rolling + the file each time it is opened. + + + + + Gets or sets a value indicating whether to preserve the file name extension when rolling. + + + true if the file name extension should be preserved. + + - This is called by to rename the files. + By default file.log is rolled to file.log.yyyy-MM-dd or file.log.curSizeRollBackup. + However, under Windows the new file name will loose any program associations as the + extension is changed. Optionally file.log can be renamed to file.yyyy-MM-dd.log or + file.curSizeRollBackup.log to maintain any program associations. - + - Get the start time of the next window for the current rollpoint + Gets or sets a value indicating whether to always log to + the same file. - the current date - the type of roll point we are working with - the start time for the next roll point an interval after the currentDateTime date + + true if always should be logged to the same file, otherwise false. + - Returns the date of the next roll point after the currentDateTime date passed to the method. + By default file.log is always the current file. Optionally + file.log.yyyy-mm-dd for current formatted datePattern can by the currently + logging file (or file.log.curSizeRollBackup or even + file.log.yyyy-mm-dd.curSizeRollBackup). - The basic strategy is to subtract the time parts that are less significant - than the rollpoint from the current time. This should roll the time back to - the start of the time window for the current rollpoint. Then we add 1 window - worth of time and get the start time of the next window for the rollpoint. + This will make time based rollovers with a large number of backups + much faster as the appender it won't have to rename all the backups! - + - This object supplies the current date/time. Allows test code to plug in - a method to control this class when testing date/time based rolling. The default - implementation uses the underlying value of DateTime.Now. + The fully qualified type of the RollingFileAppender class. + + Used by the internal logger to record the Type of the + log message. + - + - The date pattern. By default, the pattern is set to ".yyyy-MM-dd" - meaning daily rollover. + Sets the quiet writer being used. + + This method can be overridden by sub classes. + + the writer to set - + - The actual formatted filename that is currently being written to - or will be the file transferred to on roll over - (based on staticLogFileName). + Write out a logging event. + the event to write to file. + + + Handles append time behavior for RollingFileAppender. This checks + if a roll over either by date (checked first) or time (checked second) + is need and then appends to the file last. + + - + - The timestamp when we shall next recompute the filename. + Write out an array of logging events. + the events to write to file. + + + Handles append time behavior for RollingFileAppender. This checks + if a roll over either by date (checked first) or time (checked second) + is need and then appends to the file last. + + - + - Holds date of last roll over + Performs any required rolling before outputting the next event + + + Handles append time behavior for RollingFileAppender. This checks + if a roll over either by date (checked first) or time (checked second) + is need and then appends to the file last. + + - + - The type of rolling done + Creates and opens the file for logging. If + is false then the fully qualified name is determined and used. + the name of the file to open + true to append to existing file + + This method will ensure that the directory structure + for the specified exists. + - + - The default maximum file size is 10MB + Get the current output file name + the base file name + the output file name + + The output file name is based on the base fileName specified. + If is set then the output + file name is the same as the base file passed in. Otherwise + the output file depends on the date pattern, on the count + direction or both. + - + - There is zero backup files by default + Determines curSizeRollBackups (only within the current roll point) - + - How many sized based backups have been made so far + Generates a wildcard pattern that can be used to find all files + that are similar to the base file name. + + - + - The rolling file count direction. + Builds a list of filenames for all files matching the base filename plus a file + pattern. + + - + - The rolling mode used in this appender. + Initiates a roll over if needed for crossing a date boundary since the last run. - + - Cache flag set if we are rolling by date. + Initializes based on existing conditions at time of . + + + Initializes based on existing conditions at time of . + The following is done + + determine curSizeRollBackups (only within the current roll point) + initiates a roll over if needed for crossing a date boundary since the last run. + + + - + - Cache flag set if we are rolling by size. + Does the work of bumping the 'current' file counter higher + to the highest count when an incremental file name is seen. + The highest count is either the first file (when count direction + is greater than 0) or the last file (when count direction less than 0). + In either case, we want to know the highest count that is present. + + - + - Value indicating whether to always log to the same file. + Attempts to extract a number from the end of the file name that indicates + the number of the times the file has been rolled over. + + Certain date pattern extensions like yyyyMMdd will be parsed as valid backup indexes. + + + - + - Value indicating whether to preserve the file name extension when rolling. + Takes a list of files and a base file name, and looks for + 'incremented' versions of the base file. Bumps the max + count up to the highest count seen. + + - + - FileName provided in configuration. Used for rolling properly - - - - - A mutex that is used to lock rolling of files. - - - - - The 1st of January 1970 in UTC + Calculates the RollPoint for the datePattern supplied. + the date pattern to calculate the check period for + The RollPoint that is most accurate for the date pattern supplied + + Essentially the date pattern is examined to determine what the + most suitable roll point is. The roll point chosen is the roll point + with the smallest period that can be detected using the date pattern + supplied. i.e. if the date pattern only outputs the year, month, day + and hour then the smallest roll point that can be detected would be + and hourly roll point as minutes could not be detected. + - + - Gets or sets the strategy for determining the current date and time. The default - implementation is to use LocalDateTime which internally calls through to DateTime.Now. - DateTime.UtcNow may be used on frameworks newer than .NET 1.0 by specifying - . + Initialize the appender based on the options set - - An implementation of the interface which returns the current date and time. - - Gets or sets the used to return the current date and time. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - There are two built strategies for determining the current date and time, - - and . + If any of the configuration properties are modified then + must be called again. - The default strategy is . + Sets initial conditions including date/time roll over information, first check, + scheduledFilename, and calls to initialize + the current number of backups. - + - Gets or sets the date pattern to be used for generating file names - when rolling over on date. + - - The date pattern to be used for generating file names when rolling - over on date. - + + .1, .2, .3, etc. + + + + + Rollover the file(s) to date/time tagged file(s). + + set to true if the file to be rolled is currently open - Takes a string in the same format as expected by - . - - - This property determines the rollover schedule when rolling over - on date. + Rollover the file(s) to date/time tagged file(s). + Resets curSizeRollBackups. + If fileIsOpen is set then the new file is opened (through SafeOpenFile). - + - Gets or sets the maximum number of backup files that are kept before - the oldest is erased. + Renames file to file . - - The maximum number of backup files that are kept before the oldest is - erased. - + Name of existing file to roll. + New name for file. - If set to zero, then there will be no backup files and the log file - will be truncated when it reaches . - - - If a negative number is supplied then no deletions will be made. Note - that this could result in very slow performance as a large number of - files are rolled over unless is used. - - - The maximum applies to each time based group of files and - not the total. + Renames file to file . It + also checks for existence of target file and deletes if it does. - + - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. + Test if a file exists at a specified path - - The maximum size in bytes that the output file is allowed to reach before being - rolled over to backup files. - + the path to the file + true if the file exists - This property is equivalent to except - that it is required for differentiating the setter taking a - argument from the setter taking a - argument. - - - The default maximum file size is 10MB (10*1024*1024). + Test if a file exists at a specified path - + - Gets or sets the maximum size that the output file is allowed to reach - before being rolled over to backup files. + Deletes the specified file if it exists. - - The maximum size that the output file is allowed to reach before being - rolled over to backup files. - + The file to delete. - This property allows you to specify the maximum size with the - suffixes "KB", "MB" or "GB" so that the size is interpreted being - expressed respectively in kilobytes, megabytes or gigabytes. - - - For example, the value "10KB" will be interpreted as 10240 bytes. - - - The default maximum file size is 10MB. - - - If you have the option to set the maximum file size programmatically - consider using the property instead as this - allows you to set the size in bytes as a . + Delete a file if is exists. + The file is first moved to a new filename then deleted. + This allows the file to be removed even when it cannot + be deleted, but it still can be moved. - + - Gets or sets the rolling file count direction. + Implements file roll base on file size. - - The rolling file count direction. - - Indicates if the current file is the lowest numbered file or the - highest numbered file. - - - By default newer files have lower numbers ( < 0), - i.e. log.1 is most recent, log.5 is the 5th backup, etc... + If the maximum number of size based backups is reached + (curSizeRollBackups == maxSizeRollBackups) then the oldest + file is deleted -- its index determined by the sign of countDirection. + If countDirection < 0, then files + {File.1, ..., File.curSizeRollBackups -1} + are renamed to {File.2, ..., + File.curSizeRollBackups}. Moreover, File is + renamed File.1 and closed. - >= 0 does the opposite i.e. - log.1 is the first backup made, log.5 is the 5th backup made, etc. - For infinite backups use >= 0 to reduce - rollover costs. + A new file is created to receive further log output. - The default file count direction is -1. - - - - - Gets or sets the rolling style. - - The rolling style. - - The default rolling style is . + If maxSizeRollBackups is equal to zero, then the + File is truncated with no backup files created. - When set to this appender's - property is set to false, otherwise - the appender would append to a single file rather than rolling - the file each time it is opened. + If maxSizeRollBackups < 0, then File is + renamed if needed and no files are deleted. - + - Gets or sets a value indicating whether to preserve the file name extension when rolling. + Implements file roll. - - true if the file name extension should be preserved. - + the base name to rename - By default file.log is rolled to file.log.yyyy-MM-dd or file.log.curSizeRollBackup. - However, under Windows the new file name will loose any program associations as the - extension is changed. Optionally file.log can be renamed to file.yyyy-MM-dd.log or - file.curSizeRollBackup.log to maintain any program associations. + If the maximum number of size based backups is reached + (curSizeRollBackups == maxSizeRollBackups) then the oldest + file is deleted -- its index determined by the sign of countDirection. + If countDirection < 0, then files + {File.1, ..., File.curSizeRollBackups -1} + are renamed to {File.2, ..., + File.curSizeRollBackups}. - - - - - Gets or sets a value indicating whether to always log to - the same file. - - - true if always should be logged to the same file, otherwise false. - - - By default file.log is always the current file. Optionally - file.log.yyyy-mm-dd for current formatted datePattern can by the currently - logging file (or file.log.curSizeRollBackup or even - file.log.yyyy-mm-dd.curSizeRollBackup). + If maxSizeRollBackups is equal to zero, then the + File is truncated with no backup files created. - This will make time based rollovers with a large number of backups - much faster as the appender it won't have to rename all the backups! + If maxSizeRollBackups < 0, then File is + renamed if needed and no files are deleted. - - - - - Style of rolling to use - - - Style of rolling to use + This is called by to rename the files. - + - Roll files once per program execution + Get the start time of the next window for the current rollpoint + the current date + the type of roll point we are working with + the start time for the next roll point an interval after the currentDateTime date - Roll files once per program execution. - Well really once each time this appender is - configured. + Returns the date of the next roll point after the currentDateTime date passed to the method. - Setting this option also sets AppendToFile to - false on the RollingFileAppender, otherwise - this appender would just be a normal file appender. + The basic strategy is to subtract the time parts that are less significant + than the rollpoint from the current time. This should roll the time back to + the start of the time window for the current rollpoint. Then we add 1 window + worth of time and get the start time of the next window for the rollpoint. - + - Roll files based only on the size of the file + This object supplies the current date/time. Allows test code to plug in + a method to control this class when testing date/time based rolling. The default + implementation uses the underlying value of DateTime.Now. - + - Roll files based only on the date + The date pattern. By default, the pattern is set to ".yyyy-MM-dd" + meaning daily rollover. - + - Roll files based on both the size and date of the file + The actual formatted filename that is currently being written to + or will be the file transferred to on roll over + (based on staticLogFileName). - + - The code assumes that the following 'time' constants are in a increasing sequence. + The timestamp when we shall next recompute the filename. - - - The code assumes that the following 'time' constants are in a increasing sequence. - - - + - Roll the log not based on the date + Holds date of last roll over - + - Roll the log for each minute + The type of rolling done - + - Roll the log for each hour + The default maximum file size is 10MB - + - Roll the log twice a day (midday and midnight) + There is zero backup files by default - + - Roll the log each day (midnight) + How many sized based backups have been made so far - + - Roll the log each week + The rolling file count direction. - + - Roll the log each month + The rolling mode used in this appender. + + + + + Cache flag set if we are rolling by date. + + + + + Cache flag set if we are rolling by size. + + + + + Value indicating whether to always log to the same file. + + + + + Value indicating whether to preserve the file name extension when rolling. + + + + + FileName provided in configuration. Used for rolling properly + + + + + A mutex that is used to lock rolling of files. + + + + + The 1st of January 1970 in UTC @@ -7824,23 +6961,6 @@ - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - - Send the email message - - the body text to include in the mail - - - - trims leading and trailing commas or semicolons - - Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses (use semicolon on .NET 1.1 and comma for later versions). @@ -8059,6 +7179,12 @@ The default encoding is the operating system's current ANSI codepage. + + + Sends the contents of the cyclic buffer as an e-mail message. + + The logging events to send. + This appender requires a to be set. @@ -8070,6 +7196,12 @@ + + + Send the email message + + the body text to include in the mail + Values for the property. @@ -8101,6 +7233,11 @@ Uses the Windows credentials from the current thread or process to authenticate. + + + trims leading and trailing commas or semicolons + + Send an email when a specific logging event occurs, typically on errors @@ -8136,55 +7273,6 @@ - - - Sends the contents of the cyclic buffer as an e-mail message. - - The logging events to send. - - - Sends the contents of the cyclic buffer as an e-mail message. - - - - - - Activate the options on this appender. - - - - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. - - - - - - Convert a path into a fully qualified path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - - - - The security context to use for privileged calls - - Gets or sets a semicolon-delimited list of recipient e-mail addresses. @@ -8264,6 +7352,35 @@ + + + Sends the contents of the cyclic buffer as an e-mail message. + + The logging events to send. + + + Sends the contents of the cyclic buffer as an e-mail message. + + + + + + Activate the options on this appender. + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + This appender requires a to be set. @@ -8275,6 +7392,26 @@ + + + Convert a path into a fully qualified path. + + The path to convert. + The fully qualified path. + + + Converts the path specified to a fully + qualified path. If the path is relative it is + taken as relative from the application base + directory. + + + + + + The security context to use for privileged calls + + Appender that allows clients to connect via Telnet to receive log messages @@ -8313,6 +7450,22 @@ log message. + + + Gets or sets the TCP port number on which this will listen for connections. + + + An integer value in the range to + indicating the TCP port number on which this will listen for connections. + + + + The default value is 23 (the telnet port). + + + The value specified is less than + or greater than . + Overrides the parent method to close the socket handler @@ -8323,6 +7476,17 @@ + + + This appender requires a to be set. + + true + + + This appender requires a to be set. + + + Initialize the appender based on the options set. @@ -8355,42 +7519,57 @@ - + - Gets or sets the TCP port number on which this will listen for connections. + Helper class to manage connected clients - - An integer value in the range to - indicating the TCP port number on which this will listen for connections. - - The default value is 23 (the telnet port). + The SocketHandler class is used to accept connections from + clients. It is threaded so that clients can connect/disconnect + asynchronously. - The value specified is less than - or greater than . - + - This appender requires a to be set. + Class that represents a client connected to this handler - true - This appender requires a to be set. + Class that represents a client connected to this handler - + - Helper class to manage connected clients + Create this for the specified + the client's socket - The SocketHandler class is used to accept connections from - clients. It is threaded so that clients can connect/disconnect - asynchronously. + Opens a stream writer on the socket. + + + + + + Write a string to the client + + string to send + + + Write a string to the client + + + + + + Cleanup the clients connection + + + + Close the socket connection. @@ -8428,6 +7607,21 @@ client to remove + + + Test if this handler has active connections + + + true if this handler has active connections + + + + This property will be true while this handler has + active connections, that is at least one connection that + the handler will attempt to send a message to. + + + Callback used to accept a connection on the server socket @@ -8450,1347 +7644,1158 @@ - + - Test if this handler has active connections + Sends logging events to a . - - true if this handler has active connections - - This property will be true while this handler has - active connections, that is at least one connection that - the handler will attempt to send a message to. + An Appender that writes to a . + + + This appender may be used stand alone if initialized with an appropriate + writer, however it is typically used as a base class for an appender that + can open a to write to. + Nicko Cadell + Gert Driesen + Douglas de la Torre - + - Class that represents a client connected to this handler + Initializes a new instance of the class. - Class that represents a client connected to this handler + Default constructor. - + - Create this for the specified + Initializes a new instance of the class and + sets the output destination to a new initialized + with the specified . - the client's socket + The layout to use with this appender. + The to output to. - Opens a stream writer on the socket. + Obsolete constructor. - + - Write a string to the client + Initializes a new instance of the class and sets + the output destination to the specified . - string to send + The layout to use with this appender + The to output to + + The must have been previously opened. + - Write a string to the client + Obsolete constructor. - + - Cleanup the clients connection + Gets or set whether the appender will flush at the end + of each append operation. - + - Close the socket connection. + The default behavior is to flush at the end of each + append operation. + + If this option is set to false, then the underlying + stream can defer persisting the logging event to a later + time. + + + + Avoiding the flush operation at the end of each append results in + a performance gain of 10 to 20 percent. However, there is safety + trade-off involved in skipping flushing. Indeed, when flushing is + skipped, then it is likely that the last few log events will not + be recorded on disk when the application exits. This is a high + price to pay even for a 20% performance gain. - + - Appends log events to the system. + Sets the where the log output will go. - The application configuration file can be used to control what listeners - are actually used. See the MSDN documentation for the - class for details on configuring the - trace system. + The specified must be open and writable. - Events are written using the System.Diagnostics.Trace.Write(string,string) - method. The event's logger name is the default value for the category parameter - of the Write method. + The will be closed when the appender + instance is closed. - Compact Framework
- The Compact Framework does not support the - class for any operation except Assert. When using the Compact Framework this - appender will write to the system rather than - the Trace system. This appender will therefore behave like the . + Note: Logging to an unopened will fail.
- Douglas de la Torre - Nicko Cadell - Gert Driesen - Ron Grabowski
- + - Initializes a new instance of the . + This method determines if there is a sense in attempting to append. - Default constructor. + This method checks if an output target has been set and if a + layout has been set. + false if any of the preconditions fail. - + - Initializes a new instance of the - with a specified layout. + This method is called by the + method. - The layout to use with this appender. + The event to log. - Obsolete constructor. + Writes a log statement to the output stream if the output stream exists + and is writable. + + + The format of the output will depend on the appender's layout. - + - Writes the logging event to the system. + This method is called by the + method. - The event to log. + The array of events to log. - Writes the logging event to the system. + This method writes all the bulk logged events to the output writer + before flushing the stream. - + - Immediate flush means that the underlying writer or output stream - will be flushed at the end of each append operation. + Close this appender instance. The underlying stream or writer is also closed. - - Immediate flush is slower but ensures that each append request is - actually written. If is set to - false, then there is a good chance that the last few - logs events are not actually written to persistent media if and - when the application crashes. - - - The default value is true. + Closed appenders cannot be reused. - + - Defaults to %logger + Gets or set the and the underlying + , if any, for this appender. + + The for this appender. + - + - Flushes any buffered log data. + This appender requires a to be set. - The maximum time to wait for logging events to be flushed. - True if all logging events were flushed successfully, else false. + true + + + This appender requires a to be set. + + - + - Gets or sets a value that indicates whether the appender will - flush at the end of each write. + Writes the footer and closes the underlying . - The default behavior is to flush at the end of each - write. If the option is set tofalse, then the underlying - stream can defer writing to physical medium to a later time. - - Avoiding the flush operation at the end of each append results - in a performance gain of 10 to 20 percent. However, there is safety - trade-off involved in skipping flushing. Indeed, when flushing is - skipped, then it is likely that the last few log events will not - be recorded on disk when the application exits. This is a high - price to pay even for a 20% performance gain. + Writes the footer and closes the underlying . - + - The category parameter sent to the Trace method. + Closes the underlying . - Defaults to %logger which will use the logger name of the current - as the category parameter. + Closes the underlying . - - - + - This appender requires a to be set. + Clears internal references to the underlying + and other variables. - true - This appender requires a to be set. + Subclasses can override this method for an alternate closing behavior. - + - Assembly level attribute that specifies a domain to alias to this assembly's repository. + Writes a footer as produced by the embedded layout's property. - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's domain to its repository by - specifying this attribute with the name of the target domain. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required domains. + Writes a footer as produced by the embedded layout's property. - Nicko Cadell - Gert Driesen - + - Assembly level attribute that specifies a repository to alias to this assembly's repository. + Writes a header produced by the embedded layout's property. - An assembly's logger repository is defined by its , - however this can be overridden by an assembly loaded before the target assembly. - - - An assembly can alias another assembly's repository to its repository by - specifying this attribute with the name of the target repository. - - - This attribute can only be specified on the assembly and may be used - as many times as necessary to alias all the required repositories. + Writes a header produced by the embedded layout's property. - Nicko Cadell - Gert Driesen - + - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. + Called to allow a subclass to lazily initialize the writer - The repository to alias to this assemby's repository. - Initializes a new instance of the class with - the specified repository to alias to this assembly's repository. + This method is called when an event is logged and the or + have not been set. This allows a subclass to + attempt to initialize the writer multiple times. - + - Gets or sets the repository to alias to this assemby's repository. + Gets or sets the where logging events + will be written to. - The repository to alias to this assemby's repository. + The where logging events are written. - The name of the repository to alias to this assemby's repository. + This is the where logging events + will be written to. - + - Initializes a new instance of the class with - the specified domain to alias to this assembly's repository. + This is the where logging events + will be written to. - The domain to alias to this assemby's repository. - - - Obsolete. Use instead of . - - - + - Use this class to quickly configure a . + Immediate flush means that the underlying + or output stream will be flushed at the end of each append operation. - Allows very simple programmatic configuration of log4net. - - - Only one appender can be configured using this configurator. - The appender is set at the root of the hierarchy and all logging - events will be delivered to that appender. + Immediate flush is slower but ensures that each append request is + actually written. If is set to + false, then there is a good chance that the last few + logging events are not actually persisted if and when the application + crashes. - Appenders can also implement the interface. Therefore - they would require that the method - be called after the appenders properties have been configured. + The default value is true. - Nicko Cadell - Gert Driesen - + - The fully qualified type of the BasicConfigurator class. + The fully qualified type of the TextWriterAppender class. Used by the internal logger to record the Type of the log message. - + - Initializes a new instance of the class. + Flushes any buffered log data. - - - Uses a private access modifier to prevent instantiation of this class. - - + The maximum time to wait for logging events to be flushed. + True if all logging events were flushed successfully, else false. - + - Initializes the log4net system with a default configuration. + Appends log events to the system. - Initializes the log4net logging system using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. + The application configuration file can be used to control what listeners + are actually used. See the MSDN documentation for the + class for details on configuring the + trace system. - - - - - Initializes the log4net system using the specified appenders. - - The appenders to use to log all logging events. - - Initializes the log4net system using the specified appenders. + Events are written using the System.Diagnostics.Trace.Write(string,string) + method. The event's logger name is the default value for the category parameter + of the Write method. - - - - - Initializes the log4net system using the specified appender. - - The appender to use to log all logging events. - - Initializes the log4net system using the specified appender. + Compact Framework
+ The Compact Framework does not support the + class for any operation except Assert. When using the Compact Framework this + appender will write to the system rather than + the Trace system. This appender will therefore behave like the .
+ Douglas de la Torre + Nicko Cadell + Gert Driesen + Ron Grabowski
- + - Initializes the with a default configuration. + Initializes a new instance of the . - The repository to configure. - Initializes the specified repository using a - that will write to Console.Out. The log messages are - formatted using the layout object - with the - layout style. + Default constructor. - + - Initializes the using the specified appender. + Initializes a new instance of the + with a specified layout. - The repository to configure. - The appender to use to log all logging events. + The layout to use with this appender. - Initializes the using the specified appender. + Obsolete constructor. - + - Initializes the using the specified appenders. + Gets or sets a value that indicates whether the appender will + flush at the end of each write. - The repository to configure. - The appenders to use to log all logging events. - - Initializes the using the specified appender. + The default behavior is to flush at the end of each + write. If the option is set tofalse, then the underlying + stream can defer writing to physical medium to a later time. - - - - - Base class for all log4net configuration attributes. - - - This is an abstract class that must be extended by - specific configurators. This attribute allows the - configurator to be parameterized by an assembly level - attribute. - - Nicko Cadell - Gert Driesen - - - - Constructor used by subclasses. - - the ordering priority for this configurator - - The is used to order the configurator - attributes before they are invoked. Higher priority configurators are executed - before lower priority ones. + Avoiding the flush operation at the end of each append results + in a performance gain of 10 to 20 percent. However, there is safety + trade-off involved in skipping flushing. Indeed, when flushing is + skipped, then it is likely that the last few log events will not + be recorded on disk when the application exits. This is a high + price to pay even for a 20% performance gain. - + - Configures the for the specified assembly. + The category parameter sent to the Trace method. - The assembly that this attribute was defined on. - The repository to configure. - Abstract method implemented by a subclass. When this method is called - the subclass should configure the . + Defaults to %logger which will use the logger name of the current + as the category parameter. + + - + - Compare this instance to another ConfiguratorAttribute + Writes the logging event to the system. - the object to compare to - see + The event to log. - Compares the priorities of the two instances. - Sorts by priority in descending order. Objects with the same priority are - randomly ordered. + Writes the logging event to the system. - + - Assembly level attribute that specifies the logging domain for the assembly. + This appender requires a to be set. + true - DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. - - - Assemblies are mapped to logging domains. Each domain has its own - logging repository. This attribute specified on the assembly controls - the configuration of the domain. The property specifies the name - of the domain that this assembly is a part of. The - specifies the type of the repository objects to create for the domain. If - this attribute is not specified and a is not specified - then the assembly will be part of the default shared logging domain. - - - This attribute can only be specified on the assembly and may only be used - once per assembly. + This appender requires a to be set. - Nicko Cadell - Gert Driesen - + - Assembly level attribute that specifies the logging repository for the assembly. + Immediate flush means that the underlying writer or output stream + will be flushed at the end of each append operation. - Assemblies are mapped to logging repository. This attribute specified - on the assembly controls - the configuration of the repository. The property specifies the name - of the repository that this assembly is a part of. The - specifies the type of the object - to create for the assembly. If this attribute is not specified or a - is not specified then the assembly will be part of the default shared logging repository. + Immediate flush is slower but ensures that each append request is + actually written. If is set to + false, then there is a good chance that the last few + logs events are not actually written to persistent media if and + when the application crashes. - This attribute can only be specified on the assembly and may only be used - once per assembly. - + The default value is true. - Nicko Cadell - Gert Driesen - + - Initializes a new instance of the class. + Defaults to %logger - - - Default constructor. - - - + - Initialize a new instance of the class - with the name of the repository. + Flushes any buffered log data. + + The maximum time to wait for logging events to be flushed. + True if all logging events were flushed successfully, else false. + + + + Sends logging events as connectionless UDP datagrams to a remote host or a + multicast group using an . + + + + UDP guarantees neither that messages arrive, nor that they arrive in the correct order. + + + To view the logging results, a custom application can be developed that listens for logging + events. + + + When decoding events send via this appender remember to use the same encoding + to decode the events as was used to send the events. See the + property to specify the encoding to use. + + + + This example shows how to log receive logging events that are sent + on IP address 244.0.0.1 and port 8080 to the console. The event is + encoded in the packet as a unicode string and it is decoded as such. + + IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); + UdpClient udpClient; + byte[] buffer; + string loggingEvent; + + try + { + udpClient = new UdpClient(8080); + + while(true) + { + buffer = udpClient.Receive(ref remoteEndPoint); + loggingEvent = System.Text.Encoding.Unicode.GetString(buffer); + Console.WriteLine(loggingEvent); + } + } + catch(Exception e) + { + Console.WriteLine(e.ToString()); + } + + + Dim remoteEndPoint as IPEndPoint + Dim udpClient as UdpClient + Dim buffer as Byte() + Dim loggingEvent as String + + Try + remoteEndPoint = new IPEndPoint(IPAddress.Any, 0) + udpClient = new UdpClient(8080) + + While True + buffer = udpClient.Receive(ByRef remoteEndPoint) + loggingEvent = System.Text.Encoding.Unicode.GetString(buffer) + Console.WriteLine(loggingEvent) + Wend + Catch e As Exception + Console.WriteLine(e.ToString()) + End Try + + + An example configuration section to log information using this appender to the + IP 224.0.0.1 on port 8080: + + + + + + + + + + Gert Driesen + Nicko Cadell + + + + Initializes a new instance of the class. - The name of the repository. - - Initialize the attribute with the name for the assembly's repository. - + The default constructor initializes all fields to their default values. - + - Gets or sets the name of the logging repository. + Gets or sets the IP address of the remote host or multicast group to which + the underlying should sent the logging event. - The string name to use as the name of the repository associated with this - assembly. + The IP address of the remote host or multicast group to which the logging event + will be sent. - This value does not have to be unique. Several assemblies can share the - same repository. They will share the logging configuration of the repository. + Multicast addresses are identified by IP class D addresses (in the range 224.0.0.0 to + 239.255.255.255). Multicast packets can pass across different networks through routers, so + it is possible to use multicasts in an Internet scenario as long as your network provider + supports multicasting. + + + Hosts that want to receive particular multicast messages must register their interest by joining + the multicast group. Multicast messages are not sent to networks where no host has joined + the multicast group. Class D IP addresses are used for multicast groups, to differentiate + them from normal host addresses, allowing nodes to easily detect if a message is of interest. + + + Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below: + + + + + IP Address + Description + + + 224.0.0.1 + + + Sends a message to all system on the subnet. + + + + + 224.0.0.2 + + + Sends a message to all routers on the subnet. + + + + + 224.0.0.12 + + + The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet. + + + + + + + A complete list of actually reserved multicast addresses and their owners in the ranges + defined by RFC 3171 can be found at the IANA web site. + + + The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative + addresses. These addresses can be reused with other local groups. Routers are typically + configured with filters to prevent multicast traffic in this range from flowing outside + of the local network. - + - Gets or sets the type of repository to create for this assembly. + Gets or sets the TCP port number of the remote host or multicast group to which + the underlying should sent the logging event. - The type of repository to create for this assembly. + An integer value in the range to + indicating the TCP port number of the remote host or multicast group to which the logging event + will be sent. + + + The underlying will send messages to this TCP port number + on the remote host or multicast group. + + The value specified is less than or greater than . + + + + Gets or sets the TCP port number from which the underlying will communicate. + + + An integer value in the range to + indicating the TCP port number from which the underlying will communicate. - The type of the repository to create for the assembly. - The type must implement the - interface. + The underlying will bind to this port for sending messages. - This will be the type of repository created when - the repository is created. If multiple assemblies reference the - same repository then the repository is only created once using the - of the first assembly to call into the - repository. + Setting the value to 0 (the default) will cause the udp client not to bind to + a local port. + The value specified is less than or greater than . - + - Initializes a new instance of the class. + Gets or sets used to write the packets. + + The used to write the packets. + - Obsolete. Use RepositoryAttribute instead of DomainAttribute. + The used to write the packets. - + - Initialize a new instance of the class - with the name of the domain. + Gets or sets the underlying . - The name of the domain. + + The underlying . + - - Obsolete. Use RepositoryAttribute instead of DomainAttribute. - + creates a to send logging events + over a network. Classes deriving from can use this + property to get or set this . Use the underlying + returned from if you require access beyond that which + provides. - + - Use this class to initialize the log4net environment using an Xml tree. + Gets or sets the cached remote endpoint to which the logging events should be sent. + + + The cached remote endpoint to which the logging events will be sent. + + + The method will initialize the remote endpoint + with the values of the and + properties. + + + + + Initialize the appender based on the options set. - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - Configures a using an Xml tree. + If any of the configuration properties are modified then + must be called again. + + + The appender will be ignored if no was specified or + an invalid remote or local TCP port number was specified. - Nicko Cadell - Gert Driesen + The required property was not specified. + The TCP port number assigned to or is less than or greater than . - + - Private constructor + This method is called by the method. + The event to log. + + + Sends the event using an UDP datagram. + + + Exceptions are passed to the . + + - + - Automatically configures the log4net system based on the - application's configuration settings. + This appender requires a to be set. + true - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + This appender requires a to be set. - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - + - Automatically configures the using settings - stored in the application's configuration file. + Closes the UDP connection and releases all resources associated with + this instance. - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + Disables the underlying and releases all managed + and unmanaged resources associated with the . - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - The repository to configure. - + - Configures log4net using a log4net element + Initializes the underlying connection. - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + The underlying is initialized and binds to the + port number from which you intend to communicate. + + + Exceptions are passed to the . - Loads the log4net configuration from the XML element - supplied as . - The element to parse. - + - Configures the using the specified XML - element. + The IP address of the remote host or multicast group to which + the logging event will be sent. - - - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - + - Configures log4net using the specified configuration file. + The TCP port number of the remote host or multicast group to + which the logging event will be sent. + + + + + The cached remote endpoint to which the logging events will be sent. + + + + + The TCP port number from which the will communicate. + + + + + The instance that will be used for sending the + logging events. + + + + + The encoding to use for the packet. + + + + + Assembly level attribute that specifies a domain to alias to this assembly's repository. - The XML file to load the configuration from. - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. + An assembly's logger repository is defined by its , + however this can be overridden by an assembly loaded before the target assembly. - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). + An assembly can alias another assembly's domain to its repository by + specifying this attribute with the name of the target domain. - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - In the .config file, the path to the log4net can be specified like this : + This attribute can only be specified on the assembly and may be used + as many times as necessary to alias all the required domains. - - - - - - - + Nicko Cadell + Gert Driesen - + - Configures log4net using the specified configuration file. + Initializes a new instance of the class with + the specified domain to alias to this assembly's repository. - A stream to load the XML configuration from. + The domain to alias to this assemby's repository. - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - Note that this method will NOT close the stream parameter. + Obsolete. Use instead of . - + - Configures the using the specified configuration - file. + Assembly level attribute that specifies a repository to alias to this assembly's repository. - The repository to configure. - The XML file to load the configuration from. - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. + An assembly's logger repository is defined by its , + however this can be overridden by an assembly loaded before the target assembly. - The log4net configuration file can possible be specified in the application's - configuration file (either MyAppName.exe.config for a - normal application on Web.config for an ASP.NET application). + An assembly can alias another assembly's repository to its repository by + specifying this attribute with the name of the target repository. - - The following example configures log4net using a configuration file, of which the - location is stored in the application's configuration file : - - - using log4net.Config; - using System.IO; - using System.Configuration; - - ... - - DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); - - In the .config file, the path to the log4net can be specified like this : + This attribute can only be specified on the assembly and may be used + as many times as necessary to alias all the required repositories. - - - - - - - + Nicko Cadell + Gert Driesen - + - Configures the using the specified configuration - file. + Initializes a new instance of the class with + the specified repository to alias to this assembly's repository. - The repository to configure. - The stream to load the XML configuration from. + The repository to alias to this assemby's repository. - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. + Initializes a new instance of the class with + the specified repository to alias to this assembly's repository. - + - Configures log4net using the file specified, monitors the file for changes - and reloads the configuration if a change is detected. + Gets or sets the repository to alias to this assemby's repository. - The XML file to load the configuration from. + + The repository to alias to this assemby's repository. + - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - The configuration file will be monitored using a - and depends on the behavior of that class. - - - For more information on how to configure log4net using - a separate configuration file, see . + The name of the repository to alias to this assemby's repository. - - + - Configures the using the file specified, - monitors the file for changes and reloads the configuration if a change - is detected. + Use this class to quickly configure a . - The repository to configure. - The XML file to load the configuration from. - DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - The configuration file must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. + Allows very simple programmatic configuration of log4net. - The configuration file will be monitored using a - and depends on the behavior of that class. + Only one appender can be configured using this configurator. + The appender is set at the root of the hierarchy and all logging + events will be delivered to that appender. - For more information on how to configure log4net using - a separate configuration file, see . + Appenders can also implement the interface. Therefore + they would require that the method + be called after the appenders properties have been configured. - + Nicko Cadell + Gert Driesen - + - Assembly level attribute to configure the . + The fully qualified type of the BasicConfigurator class. - - AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - + Used by the internal logger to record the Type of the + log message. - Nicko Cadell - Gert Driesen - + - Assembly level attribute to configure the . + Initializes a new instance of the class. - This attribute may only be used at the assembly scope and can only - be used once per assembly. - - - Use this attribute to configure the - without calling one of the - methods. - - - If neither of the or - properties are set the configuration is loaded from the application's .config file. - If set the property takes priority over the - property. The property - specifies a path to a file to load the config from. The path is relative to the - application's base directory; . - The property is used as a postfix to the assembly file name. - The config file must be located in the application's base directory; . - For example in a console application setting the to - config has the same effect as not specifying the or - properties. - - - The property can be set to cause the - to watch the configuration file for changes. - - - - Log4net will only look for assembly level configuration attributes once. - When using the log4net assembly level attributes to control the configuration - of log4net you must ensure that the first call to any of the - methods is made from the assembly with the configuration - attributes. - - - If you cannot guarantee the order in which log4net calls will be made from - different assemblies you must use programmatic configuration instead, i.e. - call the method directly. + Uses a private access modifier to prevent instantiation of this class. - - Nicko Cadell - Gert Driesen - + - Default constructor + Initializes the log4net system with a default configuration. - Default constructor + Initializes the log4net logging system using a + that will write to Console.Out. The log messages are + formatted using the layout object + with the + layout style. - + - Configures the for the specified assembly. + Initializes the log4net system using the specified appenders. - The assembly that this attribute was defined on. - The repository to configure. + The appenders to use to log all logging events. - Configure the repository using the . - The specified must extend the - class otherwise the will not be able to - configure it. + Initializes the log4net system using the specified appenders. - The does not extend . - - - - Attempt to load configuration from the local file system - - The assembly that this attribute was defined on. - The repository to configure. - - - - Configure the specified repository using a - - The repository to configure. - the FileInfo pointing to the config file - - - - Attempt to load configuration from a URI - - The assembly that this attribute was defined on. - The repository to configure. - + - The fully qualified type of the XmlConfiguratorAttribute class. + Initializes the log4net system using the specified appender. + The appender to use to log all logging events. - Used by the internal logger to record the Type of the - log message. + + Initializes the log4net system using the specified appender. + - + - Gets or sets the filename of the configuration file. + Initializes the with a default configuration. - - The filename of the configuration file. - + The repository to configure. - If specified, this is the name of the configuration file to use with - the . This file path is relative to the - application base directory (). - - - The takes priority over the . + Initializes the specified repository using a + that will write to Console.Out. The log messages are + formatted using the layout object + with the + layout style. - + - Gets or sets the extension of the configuration file. + Initializes the using the specified appender. - - The extension of the configuration file. - + The repository to configure. + The appender to use to log all logging events. - If specified this is the extension for the configuration file. - The path to the config file is built by using the application - base directory (), - the assembly file name and the config file extension. - - - If the is set to MyExt then - possible config file names would be: MyConsoleApp.exe.MyExt or - MyClassLibrary.dll.MyExt. - - - The takes priority over the . + Initializes the using the specified appender. - + - Gets or sets a value indicating whether to watch the configuration file. + Initializes the using the specified appenders. - - true if the configuration should be watched, false otherwise. - + The repository to configure. + The appenders to use to log all logging events. - If this flag is specified and set to true then the framework - will watch the configuration file and will reload the config each time - the file is modified. - - - The config file can only be watched if it is loaded from local disk. - In a No-Touch (Smart Client) deployment where the application is downloaded - from a web server the config file may not reside on the local disk - and therefore it may not be able to watch it. + Initializes the using the specified appender. - - Watching configuration is not supported on the SSCLI. - - + - Class to register for the log4net section of the configuration file + Base class for all log4net configuration attributes. - The log4net section of the configuration file needs to have a section - handler registered. This is the section handler used. It simply returns - the XML element that is the root of the section. + This is an abstract class that must be extended by + specific configurators. This attribute allows the + configurator to be parameterized by an assembly level + attribute. - - Example of registering the log4net section handler : - - - -
- - - log4net configuration XML goes here - - - - Nicko Cadell Gert Driesen - + - Initializes a new instance of the class. + Constructor used by subclasses. + the ordering priority for this configurator - Default constructor. + The is used to order the configurator + attributes before they are invoked. Higher priority configurators are executed + before lower priority ones. - + - Parses the configuration section. + Configures the for the specified assembly. - The configuration settings in a corresponding parent configuration section. - The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. - The for the log4net section. - The for the log4net section. + The assembly that this attribute was defined on. + The repository to configure. - Returns the containing the configuration data, + Abstract method implemented by a subclass. When this method is called + the subclass should configure the . - + - Assembly level attribute that specifies a plugin to attach to - the repository. + Compare this instance to another ConfiguratorAttribute + the object to compare to + see - Specifies the type of a plugin to create and attach to the - assembly's repository. The plugin type must implement the - interface. + Compares the priorities of the two instances. + Sorts by priority in descending order. Objects with the same priority are + randomly ordered. - Nicko Cadell - Gert Driesen - + - Interface used to create plugins. + Assembly level attribute that specifies the logging domain for the assembly. - Interface used to create a plugin. + DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute. + + + Assemblies are mapped to logging domains. Each domain has its own + logging repository. This attribute specified on the assembly controls + the configuration of the domain. The property specifies the name + of the domain that this assembly is a part of. The + specifies the type of the repository objects to create for the domain. If + this attribute is not specified and a is not specified + then the assembly will be part of the default shared logging domain. + + + This attribute can only be specified on the assembly and may only be used + once per assembly. Nicko Cadell Gert Driesen - + - Creates the plugin object. + Initializes a new instance of the class. - the new plugin instance - Create and return a new plugin instance. + Obsolete. Use RepositoryAttribute instead of DomainAttribute. - + - Initializes a new instance of the class - with the specified type. + Initialize a new instance of the class + with the name of the domain. - The type name of plugin to create. + The name of the domain. - Create the attribute with the plugin type specified. - - - Where possible use the constructor that takes a . + Obsolete. Use RepositoryAttribute instead of DomainAttribute. - + - Initializes a new instance of the class - with the specified type. + Use this class to initialize the log4net environment using an Xml tree. - The type of plugin to create. - Create the attribute with the plugin type specified. - - - - - - Creates the plugin object defined by this attribute. - - - - Creates the instance of the object as - specified by this attribute. - - - The plugin object. - - - - Returns a representation of the properties of this object. - - - - Overrides base class method to - return a representation of the properties of this object. - - - A representation of the properties of this object - - - - Gets or sets the type for the plugin. - - - The type for the plugin. - - - - The type for the plugin. - - - - - - Gets or sets the type name for the plugin. - - - The type name for the plugin. - - - - The type name for the plugin. - - - Where possible use the property instead. - - - - - - Assembly level attribute to configure the . - - - - This attribute may only be used at the assembly scope and can only - be used once per assembly. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - Use this attribute to configure the - without calling one of the - methods. + Configures a using an Xml tree. Nicko Cadell + Gert Driesen - - - Construct provider attribute with type specified - - the type of the provider to use - - - The provider specified must subclass the - class. - - - - - - Configures the SecurityContextProvider - - The assembly that this attribute was defined on. - The repository to configure. - - - Creates a provider instance from the specified. - Sets this as the default security context provider . - - - - - - The fully qualified type of the SecurityContextProviderAttribute class. - - - Used by the internal logger to record the Type of the - log message. - - - + - Gets or sets the type of the provider to use. + Private constructor - - the type of the provider to use. - - - - The provider specified must subclass the - class. - - - + - Use this class to initialize the log4net environment using an Xml tree. + Automatically configures the log4net system based on the + application's configuration settings. - Configures a using an Xml tree. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + Each application has a configuration file. This has the + same name as the application with '.config' appended. + This file is XML and calling this function prompts the + configurator to look in that file for a section called + log4net that contains the configuration data. - Nicko Cadell - Gert Driesen - - - - Private constructor - - + Automatically configures the using settings stored in the application's configuration file. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + Each application has a configuration file. This has the same name as the application with '.config' appended. This file is XML and calling this function prompts the configurator to look in that file for a section called log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. - The repository to configure. - + - Automatically configures the log4net system based on the - application's configuration settings. + Configures log4net using a log4net element - Each application has a configuration file. This has the - same name as the application with '.config' appended. - This file is XML and calling this function prompts the - configurator to look in that file for a section called - log4net that contains the configuration data. - - - To use this method to configure log4net you must specify - the section - handler for the log4net configuration section. See the - for an example. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + Loads the log4net configuration from the XML element + supplied as . - + The element to parse. - + - Configures log4net using a log4net element + Configures the using the specified XML + element. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + Loads the log4net configuration from the XML element supplied as . - + The repository to configure. The element to parse. - + Configures log4net using the specified configuration file. The XML file to load the configuration from. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + + The configuration file must be valid XML. It must contain at least one element called log4net that holds the log4net configuration data. @@ -9800,17 +8805,6 @@ configuration file (either MyAppName.exe.config for a normal application on Web.config for an ASP.NET application). - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - The following example configures log4net using a configuration file, of which the location is stored in the application's configuration file : @@ -9822,7 +8816,7 @@ ... - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); + DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); In the .config file, the path to the log4net can be specified like this : @@ -9836,28 +8830,15 @@ - + - Configures log4net using the specified configuration URI. + Configures log4net using the specified configuration file. - A URI to load the XML configuration from. + A stream to load the XML configuration from. - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the log4net configuration data. - - - The must support the URI scheme specified. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. - - - - - Configures log4net using the specified configuration data stream. - - A stream to load the XML configuration from. - The configuration data must be valid XML. It must contain at least one element called log4net that holds @@ -9868,19 +8849,7 @@ - - - Configures the using the specified XML - element. - - - Loads the log4net configuration from the XML element - supplied as . - - The repository to configure. - The element to parse. - - + Configures the using the specified configuration file. @@ -9889,6 +8858,9 @@ The XML file to load the configuration from. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + + The configuration file must be valid XML. It must contain at least one element called log4net that holds the configuration data. @@ -9898,17 +8870,6 @@ configuration file (either MyAppName.exe.config for a normal application on Web.config for an ASP.NET application). - - The first element matching <configuration> will be read as the - configuration. If this file is also a .NET .config file then you must specify - a configuration section for the log4net element otherwise .NET will - complain. Set the type for the section handler to , for example: - - -
- - - The following example configures log4net using a configuration file, of which the location is stored in the application's configuration file : @@ -9920,7 +8881,7 @@ ... - XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); + DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); In the .config file, the path to the log4net can be specified like this : @@ -9934,43 +8895,28 @@ - + Configures the using the specified configuration - URI. + file. The repository to configure. - A URI to load the XML configuration from. + The stream to load the XML configuration from. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + + The configuration data must be valid XML. It must contain at least one element called log4net that holds the configuration data. - The must support the URI scheme specified. + Note that this method will NOT close the stream parameter. - - - Configures the using the specified configuration - file. - - The repository to configure. - The stream to load the XML configuration from. - - - The configuration data must be valid XML. It must contain - at least one element called log4net that holds - the configuration data. - - - Note that this method will NOT close the stream parameter. - - - - + Configures log4net using the file specified, monitors the file for changes and reloads the configuration if a change is detected. @@ -9978,6 +8924,9 @@ The XML file to load the configuration from. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + + The configuration file must be valid XML. It must contain at least one element called log4net that holds the configuration data. @@ -9993,7 +8942,7 @@ - + Configures the using the file specified, monitors the file for changes and reloads the configuration if a change @@ -10003,6 +8952,9 @@ The XML file to load the configuration from. + DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator. + + The configuration file must be valid XML. It must contain at least one element called log4net that holds the configuration data. @@ -10018,5346 +8970,4907 @@ - + - Configures the specified repository using a log4net element. + Assembly level attribute to configure the . - The hierarchy to configure. - The element to parse. - Loads the log4net configuration from the XML element - supplied as . + AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute. - This method is ultimately called by one of the Configure methods - to load the configuration from an . + This attribute may only be used at the assembly scope and can only + be used once per assembly. + + + Use this attribute to configure the + without calling one of the + methods. + Nicko Cadell + Gert Driesen - - - Maps repository names to ConfigAndWatchHandler instances to allow a particular - ConfigAndWatchHandler to dispose of its FileSystemWatcher when a repository is - reconfigured. - - - + - The fully qualified type of the XmlConfigurator class. + Class to register for the log4net section of the configuration file - Used by the internal logger to record the Type of the - log message. + The log4net section of the configuration file needs to have a section + handler registered. This is the section handler used. It simply returns + the XML element that is the root of the section. + + Example of registering the log4net section handler : + + + +
+ + + log4net configuration XML goes here + + + + + Nicko Cadell + Gert Driesen - + - Class used to watch config files. + Initializes a new instance of the class. - Uses the to monitor - changes to a specified file. Because multiple change notifications - may be raised when the file is modified, a timer is used to - compress the notifications into a single event. The timer - waits for time before delivering - the event notification. If any further - change notifications arrive while the timer is waiting it - is reset and waits again for to - elapse. + Default constructor. - - - The default amount of time to wait after receiving notification - before reloading the config file. - - - - - Holds the FileInfo used to configure the XmlConfigurator - - - + - Holds the repository being configured. + Parses the configuration section. + The configuration settings in a corresponding parent configuration section. + The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference. + The for the log4net section. + The for the log4net section. + + + Returns the containing the configuration data, + + - + - The timer used to compress the notification events. + Assembly level attribute that specifies a plugin to attach to + the repository. + + + Specifies the type of a plugin to create and attach to the + assembly's repository. The plugin type must implement the + interface. + + + Nicko Cadell + Gert Driesen - + - Watches file for changes. This object should be disposed when no longer - needed to free system handles on the watched resources. + Initializes a new instance of the class + with the specified type. + The type name of plugin to create. + + + Create the attribute with the plugin type specified. + + + Where possible use the constructor that takes a . + + - + - Initializes a new instance of the class to - watch a specified config file used to configure a repository. + Initializes a new instance of the class + with the specified type. - The repository to configure. - The configuration file to watch. + The type of plugin to create. - Initializes a new instance of the class. + Create the attribute with the plugin type specified. - + - Event handler used by . + Gets or sets the type for the plugin. - The firing the event. - The argument indicates the file that caused the event to be fired. + + The type for the plugin. + - This handler reloads the configuration from the file when the event is fired. + The type for the plugin. - + - Event handler used by . + Gets or sets the type name for the plugin. - The firing the event. - The argument indicates the file that caused the event to be fired. + + The type name for the plugin. + - This handler reloads the configuration from the file when the event is fired. + The type name for the plugin. + + + Where possible use the property instead. - + - Called by the timer when the configuration has been updated. + Creates the plugin object defined by this attribute. - null + + + Creates the instance of the object as + specified by this attribute. + + + The plugin object. - + - Release the handles held by the watcher and timer. + Returns a representation of the properties of this object. + + + Overrides base class method to + return a representation of the properties of this object. + + + A representation of the properties of this object - + - The implementation of the interface suitable - for use with the compact framework + Assembly level attribute that specifies the logging repository for the assembly. - This implementation is a simple - mapping between repository name and - object. + Assemblies are mapped to logging repository. This attribute specified + on the assembly controls + the configuration of the repository. The property specifies the name + of the repository that this assembly is a part of. The + specifies the type of the object + to create for the assembly. If this attribute is not specified or a + is not specified then the assembly will be part of the default shared logging repository. - The .NET Compact Framework 1.0 does not support retrieving assembly - level attributes therefore unlike the DefaultRepositorySelector - this selector does not examine the calling assembly for attributes. + This attribute can only be specified on the assembly and may only be used + once per assembly. Nicko Cadell + Gert Driesen - + - Interface used by the to select the . + Initializes a new instance of the class. - The uses a - to specify the policy for selecting the correct - to return to the caller. + Default constructor. - Nicko Cadell - Gert Driesen - + - Gets the for the specified assembly. + Initialize a new instance of the class + with the name of the repository. - The assembly to use to lookup to the - The for the assembly. + The name of the repository. - Gets the for the specified assembly. - - - How the association between and - is made is not defined. The implementation may choose any method for - this association. The results of this method must be repeatable, i.e. - when called again with the same arguments the result must be the - save value. + Initialize the attribute with the name for the assembly's repository. - + - Gets the named . + Gets or sets the name of the logging repository. - The name to use to lookup to the . - The named + + The string name to use as the name of the repository associated with this + assembly. + - Lookup a named . This is the repository created by - calling . + + This value does not have to be unique. Several assemblies can share the + same repository. They will share the logging configuration of the repository. + - + - Creates a new repository for the assembly specified. + Gets or sets the type of repository to create for this assembly. - The assembly to use to create the domain to associate with the . - The type of repository to create, must implement . - The repository created. + + The type of repository to create for this assembly. + - The created will be associated with the domain - specified such that a call to with the - same assembly specified will return the same repository instance. + The type of the repository to create for the assembly. + The type must implement the + interface. - How the association between and - is made is not defined. The implementation may choose any method for - this association. + This will be the type of repository created when + the repository is created. If multiple assemblies reference the + same repository then the repository is only created once using the + of the first assembly to call into the + repository. - + - Creates a new repository with the name specified. + Assembly level attribute to configure the . - The name to associate with the . - The type of repository to create, must implement . - The repository created. - The created will be associated with the name - specified such that a call to with the - same name will return the same repository instance. + This attribute may only be used at the assembly scope and can only + be used once per assembly. + + + Use this attribute to configure the + without calling one of the + methods. + Nicko Cadell - + - Test if a named repository exists + Construct provider attribute with type specified - the named repository to check - true if the repository exists + the type of the provider to use - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. + The provider specified must subclass the + class. - + - Gets an array of all currently defined repositories. + Gets or sets the type of the provider to use. - - An array of the instances created by - this . + + the type of the provider to use. + - Gets an array of all of the repositories created by this selector. + The provider specified must subclass the + class. - + - Event to notify that a logger repository has been created. + Configures the SecurityContextProvider - - Event to notify that a logger repository has been created. - + The assembly that this attribute was defined on. + The repository to configure. - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . + Creates a provider instance from the specified. + Sets this as the default security context provider . - + - Create a new repository selector + The fully qualified type of the SecurityContextProviderAttribute class. - the type of the repositories to create, must implement - - Create an new compact repository selector. - The default type for repositories must be specified, - an appropriate value would be . - + Used by the internal logger to record the Type of the + log message. - throw if is null - throw if does not implement - + - Get the for the specified assembly + Use this class to initialize the log4net environment using an Xml tree. - not used - The default - The argument is not used. This selector does not create a - separate repository for each assembly. - - - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. + Configures a using an Xml tree. + Nicko Cadell + Gert Driesen - + - Get the named + Private constructor + + + + + Automatically configures the using settings + stored in the application's configuration file. - the name of the repository to lookup - The named - Get the named . The default - repository is log4net-default-repository. Other repositories - must be created using the . - If the named repository does not exist an exception is thrown. + Each application has a configuration file. This has the + same name as the application with '.config' appended. + This file is XML and calling this function prompts the + configurator to look in that file for a section called + log4net that contains the configuration data. + + + To use this method to configure log4net you must specify + the section + handler for the log4net configuration section. See the + for an example. - throw if is null - throw if the does not exist + The repository to configure. - + - Create a new repository for the assembly specified + Automatically configures the log4net system based on the + application's configuration settings. - not used - the type of repository to create, must implement - the repository created - The argument is not used. This selector does not create a - separate repository for each assembly. + Each application has a configuration file. This has the + same name as the application with '.config' appended. + This file is XML and calling this function prompts the + configurator to look in that file for a section called + log4net that contains the configuration data. - If the is null then the - default repository type specified to the constructor is used. + To use this method to configure log4net you must specify + the section + handler for the log4net configuration section. See the + for an example. + + + + + + Configures log4net using a log4net element + + - As a named repository is not specified the default repository is - returned. The default repository is named log4net-default-repository. + Loads the log4net configuration from the XML element + supplied as . + The element to parse. - + - Create a new repository for the repository specified + Configures log4net using the specified configuration file. - the repository to associate with the - the type of repository to create, must implement . - If this param is null then the default repository type is used. - the repository created + The XML file to load the configuration from. - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. + The configuration file must be valid XML. It must contain + at least one element called log4net that holds + the log4net configuration data. - If the named repository already exists an exception will be thrown. + The log4net configuration file can possible be specified in the application's + configuration file (either MyAppName.exe.config for a + normal application on Web.config for an ASP.NET application). - If is null then the default - repository type specified to the constructor is used. + The first element matching <configuration> will be read as the + configuration. If this file is also a .NET .config file then you must specify + a configuration section for the log4net element otherwise .NET will + complain. Set the type for the section handler to , for example: + + +
+ + + + + The following example configures log4net using a configuration file, of which the + location is stored in the application's configuration file : + + + using log4net.Config; + using System.IO; + using System.Configuration; + + ... + + XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); + + + In the .config file, the path to the log4net can be specified like this : + + + + + + + - throw if is null - throw if the already exists - + - Test if a named repository exists + Configures log4net using the specified configuration URI. - the named repository to check - true if the repository exists + A URI to load the XML configuration from. - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. + The configuration data must be valid XML. It must contain + at least one element called log4net that holds + the log4net configuration data. + + + The must support the URI scheme specified. - + - Gets a list of objects + Configures log4net using the specified configuration data stream. - an array of all known objects + A stream to load the XML configuration from. - Gets an array of all of the repositories created by this selector. + The configuration data must be valid XML. It must contain + at least one element called log4net that holds + the log4net configuration data. + + + Note that this method will NOT close the stream parameter. - + - The fully qualified type of the CompactRepositorySelector class. + Configures the using the specified XML + element. - Used by the internal logger to record the Type of the - log message. + Loads the log4net configuration from the XML element + supplied as . + The repository to configure. + The element to parse. - + - Notify the registered listeners that the repository has been created + Configures the using the specified configuration + file. - The repository that has been created + The repository to configure. + The XML file to load the configuration from. - Raises the LoggerRepositoryCreatedEvent - event. + The configuration file must be valid XML. It must contain + at least one element called log4net that holds + the configuration data. - - - - - Event to notify that a logger repository has been created. - - - Event to notify that a logger repository has been created. - - - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . + The log4net configuration file can possible be specified in the application's + configuration file (either MyAppName.exe.config for a + normal application on Web.config for an ASP.NET application). - - - - - The default implementation of the interface. - - - Uses attributes defined on the calling assembly to determine how to - configure the hierarchy for the repository. + The first element matching <configuration> will be read as the + configuration. If this file is also a .NET .config file then you must specify + a configuration section for the log4net element otherwise .NET will + complain. Set the type for the section handler to , for example: + + +
+ + - - Nicko Cadell - Gert Driesen - - - - Creates a new repository selector. - - The type of the repositories to create, must implement - + + The following example configures log4net using a configuration file, of which the + location is stored in the application's configuration file : + + + using log4net.Config; + using System.IO; + using System.Configuration; + + ... + + XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"])); + - Create an new repository selector. - The default type for repositories must be specified, - an appropriate value would be . + In the .config file, the path to the log4net can be specified like this : + + + + + + + - is . - does not implement . - + - Gets the for the specified assembly. + Configures the using the specified configuration + URI. - The assembly use to lookup the . + The repository to configure. + A URI to load the XML configuration from. - The type of the created and the repository - to create can be overridden by specifying the - attribute on the . - - - The default values are to use the - implementation of the interface and to use the - as the name of the repository. + The configuration data must be valid XML. It must contain + at least one element called log4net that holds + the configuration data. - The created will be automatically configured using - any attributes defined on - the . + The must support the URI scheme specified. - The for the assembly - is . - + - Gets the for the specified repository. + Configures the using the specified configuration + file. - The repository to use to lookup the . - The for the specified repository. + The repository to configure. + The stream to load the XML configuration from. - Returns the named repository. If is null - a is thrown. If the repository - does not exist a is thrown. + The configuration data must be valid XML. It must contain + at least one element called log4net that holds + the configuration data. - Use to create a repository. + Note that this method will NOT close the stream parameter. - is . - does not exist. - + - Create a new repository for the assembly specified + Configures log4net using the file specified, monitors the file for changes + and reloads the configuration if a change is detected. - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The repository created. + The XML file to load the configuration from. - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. + The configuration file must be valid XML. It must contain + at least one element called log4net that holds + the configuration data. - The created will be automatically - configured using any - attributes defined on the . + The configuration file will be monitored using a + and depends on the behavior of that class. - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . + For more information on how to configure log4net using + a separate configuration file, see . - is . + - + - Creates a new repository for the assembly specified. + Configures the using the file specified, + monitors the file for changes and reloads the configuration if a change + is detected. - the assembly to use to create the repository to associate with the . - The type of repository to create, must implement . - The name to assign to the created repository - Set to true to read and apply the assembly attributes - The repository created. + The repository to configure. + The XML file to load the configuration from. - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - The type of the created and - the repository to create can be overridden by specifying the - attribute on the - . The default values are to use the - implementation of the - interface and to use the - as the name of the repository. + The configuration file must be valid XML. It must contain + at least one element called log4net that holds + the configuration data. - The created will be automatically - configured using any - attributes defined on the . + The configuration file will be monitored using a + and depends on the behavior of that class. - If a repository for the already exists - that repository will be returned. An error will not be raised and that - repository may be of a different type to that specified in . - Also the attribute on the - assembly may be used to override the repository type specified in - . + For more information on how to configure log4net using + a separate configuration file, see . - is . + - + - Creates a new repository for the specified repository. + Class used to watch config files. - The repository to associate with the . - The type of repository to create, must implement . - If this param is then the default repository type is used. - The new repository. - The created will be associated with the repository - specified such that a call to with the - same repository specified will return the same repository instance. + Uses the to monitor + changes to a specified file. Because multiple change notifications + may be raised when the file is modified, a timer is used to + compress the notifications into a single event. The timer + waits for time before delivering + the event notification. If any further + change notifications arrive while the timer is waiting it + is reset and waits again for to + elapse. - is . - already exists. - + - Test if a named repository exists + Holds the FileInfo used to configure the XmlConfigurator - the named repository to check - true if the repository exists - - - Test if a named repository exists. Use - to create a new repository and to retrieve - a repository. - - - + - Gets a list of objects + Holds the repository being configured. - an array of all known objects - - - Gets an array of all of the repositories created by this selector. - - - + - Aliases a repository to an existing repository. + The timer used to compress the notification events. - The repository to alias. - The repository that the repository is aliased to. - - - The repository specified will be aliased to the repository when created. - The repository must not already exist. - - - When the repository is created it must utilize the same repository type as - the repository it is aliased to, otherwise the aliasing will fail. - - - - is . - -or- - is . - - + - Notifies the registered listeners that the repository has been created. + The default amount of time to wait after receiving notification + before reloading the config file. - The repository that has been created. - - - Raises the event. - - - + - Gets the repository name and repository type for the specified assembly. + Watches file for changes. This object should be disposed when no longer + needed to free system handles on the watched resources. - The assembly that has a . - in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. - in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. - is . - + - Configures the repository using information from the assembly. + Initializes a new instance of the class to + watch a specified config file used to configure a repository. - The assembly containing - attributes which define the configuration for the repository. The repository to configure. - - is . - -or- - is . - - - - - Loads the attribute defined plugins on the assembly. - - The assembly that contains the attributes. - The repository to add the plugins to. - - is . - -or- - is . - - - - - Loads the attribute defined aliases on the assembly. - - The assembly that contains the attributes. - The repository to alias to. - - is . - -or- - is . - - - - - The fully qualified type of the DefaultRepositorySelector class. - + The configuration file to watch. - Used by the internal logger to record the Type of the - log message. + + Initializes a new instance of the class. + - + - Event to notify that a logger repository has been created. + Event handler used by . - - Event to notify that a logger repository has been created. - + The firing the event. + The argument indicates the file that caused the event to be fired. - Event raised when a new repository is created. - The event source will be this selector. The event args will - be a which - holds the newly created . + This handler reloads the configuration from the file when the event is fired. - + - Defined error codes that can be passed to the method. + Event handler used by . + The firing the event. + The argument indicates the file that caused the event to be fired. - Values passed to the method. + This handler reloads the configuration from the file when the event is fired. - Nicko Cadell - - - - A general error - - + - Error while writing output + Called by the timer when the configuration has been updated. + null - + - Failed to flush file + Release the handles held by the watcher and timer. - + - Failed to close file + Configures the specified repository using a log4net element. + The hierarchy to configure. + The element to parse. + + + Loads the log4net configuration from the XML element + supplied as . + + + This method is ultimately called by one of the Configure methods + to load the configuration from an . + + - + - Unable to open output file + Maps repository names to ConfigAndWatchHandler instances to allow a particular + ConfigAndWatchHandler to dispose of its FileSystemWatcher when a repository is + reconfigured. - + - No layout specified + The fully qualified type of the XmlConfigurator class. + + Used by the internal logger to record the Type of the + log message. + - + - Failed to parse address + Assembly level attribute to configure the . + + + This attribute may only be used at the assembly scope and can only + be used once per assembly. + + + Use this attribute to configure the + without calling one of the + methods. + + + If neither of the or + properties are set the configuration is loaded from the application's .config file. + If set the property takes priority over the + property. The property + specifies a path to a file to load the config from. The path is relative to the + application's base directory; . + The property is used as a postfix to the assembly file name. + The config file must be located in the application's base directory; . + For example in a console application setting the to + config has the same effect as not specifying the or + properties. + + + The property can be set to cause the + to watch the configuration file for changes. + + + + Log4net will only look for assembly level configuration attributes once. + When using the log4net assembly level attributes to control the configuration + of log4net you must ensure that the first call to any of the + methods is made from the assembly with the configuration + attributes. + + + If you cannot guarantee the order in which log4net calls will be made from + different assemblies you must use programmatic configuration instead, i.e. + call the method directly. + + + + Nicko Cadell + Gert Driesen - + - An evaluator that triggers on an Exception type + Default constructor - This evaluator will trigger if the type of the Exception - passed to - is equal to a Type in . /// + Default constructor - Drew Schaeffer - + - Test if an triggers an action + Gets or sets the filename of the configuration file. + + The filename of the configuration file. + - Implementations of this interface allow certain appenders to decide - when to perform an appender specific action. + If specified, this is the name of the configuration file to use with + the . This file path is relative to the + application base directory (). - The action or behavior triggered is defined by the implementation. + The takes priority over the . - Nicko Cadell - + - Test if this event triggers the action + Gets or sets the extension of the configuration file. - The event to check - true if this event triggers the action, otherwise false + + The extension of the configuration file. + - Return true if this event triggers the action + If specified this is the extension for the configuration file. + The path to the config file is built by using the application + base directory (), + the assembly file name and the config file extension. + + + If the is set to MyExt then + possible config file names would be: MyConsoleApp.exe.MyExt or + MyClassLibrary.dll.MyExt. + + + The takes priority over the . - - - The type that causes the trigger to fire. - - - + - Causes subclasses of to cause the trigger to fire. + Gets or sets a value indicating whether to watch the configuration file. - - + + true if the configuration should be watched, false otherwise. + + + + If this flag is specified and set to true then the framework + will watch the configuration file and will reload the config each time + the file is modified. + + + The config file can only be watched if it is loaded from local disk. + In a No-Touch (Smart Client) deployment where the application is downloaded + from a web server the config file may not reside on the local disk + and therefore it may not be able to watch it. + + + Watching configuration is not supported on the SSCLI. + + + + - Default ctor to allow dynamic creation through a configurator. + Configures the for the specified assembly. + The assembly that this attribute was defined on. + The repository to configure. + + + Configure the repository using the . + The specified must extend the + class otherwise the will not be able to + configure it. + + + The does not extend . - + - Constructs an evaluator and initializes to trigger on + Attempt to load configuration from the local file system - the type that triggers this evaluator. - If true, this evaluator will trigger on subclasses of . + The assembly that this attribute was defined on. + The repository to configure. - + - Is this the triggering event? + Configure the specified repository using a - The event to check - This method returns true, if the logging event Exception - Type is . - Otherwise it returns false - - - This evaluator will trigger if the Exception Type of the event - passed to - is . - - + The repository to configure. + the FileInfo pointing to the config file - + - The type that triggers this evaluator. + Attempt to load configuration from a URI + The assembly that this attribute was defined on. + The repository to configure. - + - If true, this evaluator will trigger on subclasses of . + The fully qualified type of the XmlConfiguratorAttribute class. + + Used by the internal logger to record the Type of the + log message. + - + - Appenders may delegate their error handling to an . + The implementation of the interface suitable + for use with the compact framework - Error handling is a particularly tedious to get right because by - definition errors are hard to predict and to reproduce. + This implementation is a simple + mapping between repository name and + object. + + + The .NET Compact Framework 1.0 does not support retrieving assembly + level attributes therefore unlike the DefaultRepositorySelector + this selector does not examine the calling assembly for attributes. Nicko Cadell - Gert Driesen - + - Handles the error and information about the error condition is passed as - a parameter. + Create a new repository selector - The message associated with the error. - The that was thrown when the error occurred. - The error code associated with the error. + the type of the repositories to create, must implement - Handles the error and information about the error condition is passed as - a parameter. + Create an new compact repository selector. + The default type for repositories must be specified, + an appropriate value would be . + throw if is null + throw if does not implement - + - Prints the error message passed as a parameter. + Get the for the specified assembly - The message associated with the error. - The that was thrown when the error occurred. + not used + The default - See . + The argument is not used. This selector does not create a + separate repository for each assembly. + + + As a named repository is not specified the default repository is + returned. The default repository is named log4net-default-repository. - + - Prints the error message passed as a parameter. + Get the named - The message associated with the error. + the name of the repository to lookup + The named - See . + Get the named . The default + repository is log4net-default-repository. Other repositories + must be created using the . + If the named repository does not exist an exception is thrown. + throw if is null + throw if the does not exist - + - Interface for objects that require fixing. + Create a new repository for the assembly specified + not used + the type of repository to create, must implement + the repository created - Interface that indicates that the object requires fixing before it - can be taken outside the context of the appender's - method. + The argument is not used. This selector does not create a + separate repository for each assembly. - When objects that implement this interface are stored - in the context properties maps - and - are fixed - (see ) the - method will be called. + If the is null then the + default repository type specified to the constructor is used. - - Nicko Cadell - - - - Get a portable version of this object - - the portable instance of this object - - Get a portable instance object that represents the current - state of this object. The portable object can be stored - and logged from any thread with identical results. + As a named repository is not specified the default repository is + returned. The default repository is named log4net-default-repository. - + - Interface that all loggers implement + Create a new repository for the repository specified + the repository to associate with the + the type of repository to create, must implement . + If this param is null then the default repository type is used. + the repository created - This interface supports logging events and testing if a level - is enabled for logging. + The created will be associated with the repository + specified such that a call to with the + same repository specified will return the same repository instance. - These methods will not throw exceptions. Note to implementor, ensure - that the implementation of these methods cannot allow an exception - to be thrown to the caller. + If the named repository already exists an exception will be thrown. + + + If is null then the default + repository type specified to the constructor is used. - Nicko Cadell - Gert Driesen + throw if is null + throw if the already exists - + - This generic form is intended to be used by wrappers. + Test if a named repository exists - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - the exception to log, including its stack trace. Pass null to not log an exception. + the named repository to check + true if the repository exists - Generates a logging event for the specified using - the and . + Test if a named repository exists. Use + to create a new repository and to retrieve + a repository. - + - This is the most generic printing method that is intended to be used - by wrappers. + Gets a list of objects - The event being logged. + an array of all known objects - Logs the specified logging event through this logger. + Gets an array of all of the repositories created by this selector. - + - Checks if this logger is enabled for a given passed as parameter. + The fully qualified type of the CompactRepositorySelector class. - The level to check. - - true if this logger is enabled for level, otherwise false. - - - Test if this logger is going to log events of the specified . - + Used by the internal logger to record the Type of the + log message. - + - Gets the name of the logger. + Event to notify that a logger repository has been created. - The name of the logger. + Event to notify that a logger repository has been created. - The name of this logger + Event raised when a new repository is created. + The event source will be this selector. The event args will + be a which + holds the newly created . - + - Gets the where this - Logger instance is attached to. + Notify the registered listeners that the repository has been created - - The that this logger belongs to. - + The repository that has been created - Gets the where this - Logger instance is attached to. + Raises the LoggerRepositoryCreatedEvent + event. - + - Base interface for all wrappers + The default implementation of the interface. - Base interface for all wrappers. - - - All wrappers must implement this interface. + Uses attributes defined on the calling assembly to determine how to + configure the hierarchy for the repository. Nicko Cadell + Gert Driesen - + - Get the implementation behind this wrapper object. + Event to notify that a logger repository has been created. - The object that in implementing this object. + Event to notify that a logger repository has been created. - The object that in implementing this - object. The Logger object may not - be the same object as this object because of logger decorators. - This gets the actual underlying objects that is used to process - the log events. + Event raised when a new repository is created. + The event source will be this selector. The event args will + be a which + holds the newly created . - + - Delegate used to handle logger repository creation event notifications + Creates a new repository selector. - The which created the repository. - The event args - that holds the instance that has been created. + The type of the repositories to create, must implement - Delegate used to handle logger repository creation event notifications. + Create an new repository selector. + The default type for repositories must be specified, + an appropriate value would be . + is . + does not implement . - + - Provides data for the event. + Gets the for the specified assembly. + The assembly use to lookup the . - A - event is raised every time a is created. + The type of the created and the repository + to create can be overridden by specifying the + attribute on the . + + + The default values are to use the + implementation of the interface and to use the + as the name of the repository. + + + The created will be automatically configured using + any attributes defined on + the . + The for the assembly + is . - - - The created - - - + - Construct instance using specified + Gets the for the specified repository. - the that has been created + The repository to use to lookup the . + The for the specified repository. - Construct instance using specified + Returns the named repository. If is null + a is thrown. If the repository + does not exist a is thrown. + + + Use to create a repository. + is . + does not exist. - + - The that has been created + Create a new repository for the assembly specified - - The that has been created - + the assembly to use to create the repository to associate with the . + The type of repository to create, must implement . + The repository created. - The that has been created + The created will be associated with the repository + specified such that a call to with the + same assembly specified will return the same repository instance. + + + The type of the created and + the repository to create can be overridden by specifying the + attribute on the + . The default values are to use the + implementation of the + interface and to use the + as the name of the repository. + + + The created will be automatically + configured using any + attributes defined on the . + + + If a repository for the already exists + that repository will be returned. An error will not be raised and that + repository may be of a different type to that specified in . + Also the attribute on the + assembly may be used to override the repository type specified in + . + is . - + - Defines the default set of levels recognized by the system. + Creates a new repository for the assembly specified. + the assembly to use to create the repository to associate with the . + The type of repository to create, must implement . + The name to assign to the created repository + Set to true to read and apply the assembly attributes + The repository created. - Each has an associated . - - - Levels have a numeric that defines the relative - ordering between levels. Two Levels with the same - are deemed to be equivalent. - - - The levels that are recognized by log4net are set for each - and each repository can have different levels defined. The levels are stored - in the on the repository. Levels are - looked up by name from the . + The created will be associated with the repository + specified such that a call to with the + same assembly specified will return the same repository instance. - When logging at level INFO the actual level used is not but - the value of LoggerRepository.LevelMap["INFO"]. The default value for this is - , but this can be changed by reconfiguring the level map. + The type of the created and + the repository to create can be overridden by specifying the + attribute on the + . The default values are to use the + implementation of the + interface and to use the + as the name of the repository. - Each level has a in addition to its . The - is the string that is written into the output log. By default - the display name is the same as the level name, but this can be used to alias levels - or to localize the log output. + The created will be automatically + configured using any + attributes defined on the . - Some of the predefined levels recognized by the system are: + If a repository for the already exists + that repository will be returned. An error will not be raised and that + repository may be of a different type to that specified in . + Also the attribute on the + assembly may be used to override the repository type specified in + . - - - . - - - . - - - . - - - . - - - . - - - . - - - . - - - Nicko Cadell - Gert Driesen + is . - + - Constructor + Creates a new repository for the specified repository. - Integer value for this level, higher values represent more severe levels. - The string name of this level. - The display name for this level. This may be localized or otherwise different from the name + The repository to associate with the . + The type of repository to create, must implement . + If this param is then the default repository type is used. + The new repository. - Initializes a new instance of the class with - the specified level name and value. + The created will be associated with the repository + specified such that a call to with the + same repository specified will return the same repository instance. + is . + already exists. - + - Constructor + Test if a named repository exists - Integer value for this level, higher values represent more severe levels. - The string name of this level. + the named repository to check + true if the repository exists - Initializes a new instance of the class with - the specified level name and value. + Test if a named repository exists. Use + to create a new repository and to retrieve + a repository. - + - Returns the representation of the current - . + Gets a list of objects - - A representation of the current . - + an array of all known objects - Returns the level . + Gets an array of all of the repositories created by this selector. - + - Compares levels. + Aliases a repository to an existing repository. - The object to compare against. - true if the objects are equal. + The repository to alias. + The repository that the repository is aliased to. - Compares the levels of instances, and - defers to base class if the target object is not a - instance. + The repository specified will be aliased to the repository when created. + The repository must not already exist. + + + When the repository is created it must utilize the same repository type as + the repository it is aliased to, otherwise the aliasing will fail. + + is . + -or- + is . + - + - Returns a hash code + Notifies the registered listeners that the repository has been created. - A hash code for the current . + The repository that has been created. - Returns a hash code suitable for use in hashing algorithms and data - structures like a hash table. - - - Returns the hash code of the level . + Raises the event. - + - Compares this instance to a specified object and returns an - indication of their relative values. + Gets the repository name and repository type for the specified assembly. - A instance or to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the - values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - This instance is less than . - - - Zero - This instance is equal to . - - - Greater than zero - - This instance is greater than . - -or- - is . - - - - - - - must be an instance of - or ; otherwise, an exception is thrown. - - - is not a . - - - - Returns a value indicating whether a specified - is greater than another specified . - - A - A - - true if is greater than - ; otherwise, false. - - - - Compares two levels. - - - - - - Returns a value indicating whether a specified - is less than another specified . - - A - A - - true if is less than - ; otherwise, false. - - - - Compares two levels. - - + The assembly that has a . + in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling. + in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling. + is . - + - Returns a value indicating whether a specified - is greater than or equal to another specified . + Configures the repository using information from the assembly. - A - A - - true if is greater than or equal to - ; otherwise, false. - - - - Compares two levels. - - + The assembly containing + attributes which define the configuration for the repository. + The repository to configure. + + is . + -or- + is . + - + - Returns a value indicating whether a specified - is less than or equal to another specified . + Loads the attribute defined plugins on the assembly. - A - A - - true if is less than or equal to - ; otherwise, false. - - - - Compares two levels. - - + The assembly that contains the attributes. + The repository to add the plugins to. + + is . + -or- + is . + - + - Returns a value indicating whether two specified - objects have the same value. + Loads the attribute defined aliases on the assembly. - A or . - A or . - - true if the value of is the same as the - value of ; otherwise, false. - - - - Compares two levels. - - + The assembly that contains the attributes. + The repository to alias to. + + is . + -or- + is . + - + - Returns a value indicating whether two specified - objects have different values. + The fully qualified type of the DefaultRepositorySelector class. - A or . - A or . - - true if the value of is different from - the value of ; otherwise, false. - - - Compares two levels. - + Used by the internal logger to record the Type of the + log message. - + - Compares two specified instances. + Defined error codes that can be passed to the method. - The first to compare. - The second to compare. - - A 32-bit signed integer that indicates the relative order of the - two values compared. The return value has these meanings: - - - Value - Meaning - - - Less than zero - is less than . - - - Zero - is equal to . - - - Greater than zero - is greater than . - - - - Compares two levels. + Values passed to the method. + Nicko Cadell - - - The level designates a higher level than all the rest. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - - - The level designates very severe error events. - System unusable, emergencies. - - - + - The level designates very severe error events - that will presumably lead the application to abort. + A general error - + - The level designates very severe error events. - Take immediate action, alerts. + Error while writing output - + - The level designates very severe error events. - Critical condition, critical. + Failed to flush file - + - The level designates very severe error events. + Failed to close file - + - The level designates error events that might - still allow the application to continue running. + Unable to open output file - + - The level designates potentially harmful - situations. + No layout specified - + - The level designates informational messages - that highlight the progress of the application at the highest level. + Failed to parse address - + - The level designates informational messages that - highlight the progress of the application at coarse-grained level. + An evaluator that triggers on an Exception type + + + This evaluator will trigger if the type of the Exception + passed to + is equal to a Type in . /// + + + Drew Schaeffer - + - The level designates fine-grained informational - events that are most useful to debug an application. + The type that causes the trigger to fire. - + - The level designates fine-grained informational - events that are most useful to debug an application. + Causes subclasses of to cause the trigger to fire. - + - The level designates fine-grained informational - events that are most useful to debug an application. + Default ctor to allow dynamic creation through a configurator. - + - The level designates fine-grained informational - events that are most useful to debug an application. + Constructs an evaluator and initializes to trigger on + the type that triggers this evaluator. + If true, this evaluator will trigger on subclasses of . - + - The level designates fine-grained informational - events that are most useful to debug an application. + The type that triggers this evaluator. - + - The level designates fine-grained informational - events that are most useful to debug an application. + If true, this evaluator will trigger on subclasses of . - + - The level designates the lowest level possible. + Is this the triggering event? + The event to check + This method returns true, if the logging event Exception + Type is . + Otherwise it returns false + + + This evaluator will trigger if the Exception Type of the event + passed to + is . + + - + - Gets the name of this level. + Interface for attaching appenders to objects. - - The name of this level. - - Gets the name of this level. + Interface for attaching, removing and retrieving appenders. + Nicko Cadell + Gert Driesen - + - Gets the value of this level. + Attaches an appender. - - The value of this level. - + The appender to add. - Gets the value of this level. + Add the specified appender. The implementation may + choose to allow or deny duplicate appenders. - + - Gets the display name of this level. + Gets all attached appenders. - The display name of this level. + A collection of attached appenders. - Gets the display name of this level. + Gets a collection of attached appenders. + If there are no attached appenders the + implementation should return an empty + collection rather than null. - + - A strongly-typed collection of objects. + Gets an attached appender with the specified name. - Nicko Cadell + The name of the appender to get. + + The appender with the name specified, or null if no appender with the + specified name is found. + + + + Returns an attached appender with the specified. + If no appender with the specified name is found null will be + returned. + + - + - Creates a read-only wrapper for a LevelCollection instance. + Removes all attached appenders. - list to create a readonly wrapper arround - - A LevelCollection wrapper that is read-only. - + + + Removes and closes all attached appenders + + - + - Initializes a new instance of the LevelCollection class - that is empty and has the default initial capacity. + Removes the specified appender from the list of attached appenders. + The appender to remove. + The appender removed from the list + + + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. + + - + - Initializes a new instance of the LevelCollection class - that has the specified initial capacity. + Removes the appender with the specified name from the list of appenders. - - The number of elements that the new LevelCollection is initially capable of storing. - + The name of the appender to remove. + The appender removed from the list + + + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. + + - + - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified LevelCollection. + Appenders may delegate their error handling to an . - The LevelCollection whose elements are copied to the new collection. + + + Error handling is a particularly tedious to get right because by + definition errors are hard to predict and to reproduce. + + + Nicko Cadell + Gert Driesen - + - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified array. + Handles the error and information about the error condition is passed as + a parameter. - The array whose elements are copied to the new list. + The message associated with the error. + The that was thrown when the error occurred. + The error code associated with the error. + + + Handles the error and information about the error condition is passed as + a parameter. + + - + - Initializes a new instance of the LevelCollection class - that contains elements copied from the specified collection. + Prints the error message passed as a parameter. - The collection whose elements are copied to the new list. + The message associated with the error. + The that was thrown when the error occurred. + + + See . + + - + - Allow subclasses to avoid our default constructors + Prints the error message passed as a parameter. - + The message associated with the error. + + + See . + + - + - Copies the entire LevelCollection to a one-dimensional - array. + Interface for objects that require fixing. - The one-dimensional array to copy to. + + + Interface that indicates that the object requires fixing before it + can be taken outside the context of the appender's + method. + + + When objects that implement this interface are stored + in the context properties maps + and + are fixed + (see ) the + method will be called. + + + Nicko Cadell - + - Copies the entire LevelCollection to a one-dimensional - array, starting at the specified index of the target array. + Get a portable version of this object - The one-dimensional array to copy to. - The zero-based index in at which copying begins. + the portable instance of this object + + + Get a portable instance object that represents the current + state of this object. The portable object can be stored + and logged from any thread with identical results. + + - + - Adds a to the end of the LevelCollection. + Interface that all loggers implement - The to be added to the end of the LevelCollection. - The index at which the value has been added. + + + This interface supports logging events and testing if a level + is enabled for logging. + + + These methods will not throw exceptions. Note to implementor, ensure + that the implementation of these methods cannot allow an exception + to be thrown to the caller. + + + Nicko Cadell + Gert Driesen - + - Removes all elements from the LevelCollection. + Gets the name of the logger. + + The name of the logger. + + + + The name of this logger + + - + - Creates a shallow copy of the . + This generic form is intended to be used by wrappers. - A new with a shallow copy of the collection data. + The declaring type of the method that is + the stack boundary into the logging system for this call. + The level of the message to be logged. + The message object to log. + the exception to log, including its stack trace. Pass null to not log an exception. + + + Generates a logging event for the specified using + the and . + + - + - Determines whether a given is in the LevelCollection. + This is the most generic printing method that is intended to be used + by wrappers. - The to check for. - true if is found in the LevelCollection; otherwise, false. + The event being logged. + + + Logs the specified logging event through this logger. + + - + - Returns the zero-based index of the first occurrence of a - in the LevelCollection. + Checks if this logger is enabled for a given passed as parameter. - The to locate in the LevelCollection. + The level to check. - The zero-based index of the first occurrence of - in the entire LevelCollection, if found; otherwise, -1. + true if this logger is enabled for level, otherwise false. + + + Test if this logger is going to log events of the specified . + + - + - Inserts an element into the LevelCollection at the specified index. + Gets the where this + Logger instance is attached to. - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - + + The that this logger belongs to. + + + + Gets the where this + Logger instance is attached to. + + - + - Removes the first occurrence of a specific from the LevelCollection. + Base interface for all wrappers - The to remove from the LevelCollection. - - The specified was not found in the LevelCollection. - + + + Base interface for all wrappers. + + + All wrappers must implement this interface. + + + Nicko Cadell - + - Removes the element at the specified index of the LevelCollection. + Get the implementation behind this wrapper object. - The zero-based index of the element to remove. - - is less than zero - -or- - is equal to or greater than . - + + The object that in implementing this object. + + + + The object that in implementing this + object. The Logger object may not + be the same object as this object because of logger decorators. + This gets the actual underlying objects that is used to process + the log events. + + - + - Returns an enumerator that can iterate through the LevelCollection. + Interface used to delay activate a configured object. - An for the entire LevelCollection. + + + This allows an object to defer activation of its options until all + options have been set. This is required for components which have + related options that remain ambiguous until all are set. + + + If a component implements this interface then the method + must be called by the container after its all the configured properties have been set + and before the component can be used. + + + Nicko Cadell - + - Adds the elements of another LevelCollection to the current LevelCollection. + Activate the options that were previously set with calls to properties. - The LevelCollection whose elements should be added to the end of the current LevelCollection. - The new of the LevelCollection. + + + This allows an object to defer activation of its options until all + options have been set. This is required for components which have + related options that remain ambiguous until all are set. + + + If a component implements this interface then this method must be called + after its properties have been set before the component can be used. + + - + - Adds the elements of a array to the current LevelCollection. + Delegate used to handle logger repository creation event notifications - The array whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. + The which created the repository. + The event args + that holds the instance that has been created. + + + Delegate used to handle logger repository creation event notifications. + + - + - Adds the elements of a collection to the current LevelCollection. + Provides data for the event. - The collection whose elements should be added to the end of the LevelCollection. - The new of the LevelCollection. + + + A + event is raised every time a is created. + + - + - Sets the capacity to the actual number of elements. + The created - - - is less than zero - -or- - is equal to or greater than . - - - - - is less than zero - -or- - is equal to or greater than . - - - + - Gets the number of elements actually contained in the LevelCollection. + Construct instance using specified + the that has been created + + + Construct instance using specified + + - + - Gets a value indicating whether access to the collection is synchronized (thread-safe). + The that has been created - false, because the backing type is an array, which is never thread-safe. + + The that has been created + + + + The that has been created + + - + - Gets an object that can be used to synchronize access to the collection. + Interface used by the to select the . + + + The uses a + to specify the policy for selecting the correct + to return to the caller. + + + Nicko Cadell + Gert Driesen - + - Gets or sets the at the specified index. + Gets the for the specified assembly. - The zero-based index of the element to get or set. - - is less than zero - -or- - is equal to or greater than . - + The assembly to use to lookup to the + The for the assembly. + + + Gets the for the specified assembly. + + + How the association between and + is made is not defined. The implementation may choose any method for + this association. The results of this method must be repeatable, i.e. + when called again with the same arguments the result must be the + save value. + + - + - Gets a value indicating whether the collection has a fixed size. + Gets the named . - true if the collection has a fixed size; otherwise, false. The default is false + The name to use to lookup to the . + The named + + Lookup a named . This is the repository created by + calling . + - + - Gets a value indicating whether the IList is read-only. + Creates a new repository for the assembly specified. - true if the collection is read-only; otherwise, false. The default is false + The assembly to use to create the domain to associate with the . + The type of repository to create, must implement . + The repository created. + + + The created will be associated with the domain + specified such that a call to with the + same assembly specified will return the same repository instance. + + + How the association between and + is made is not defined. The implementation may choose any method for + this association. + + - + - Gets or sets the number of elements the LevelCollection can contain. + Creates a new repository with the name specified. + The name to associate with the . + The type of repository to create, must implement . + The repository created. + + + The created will be associated with the name + specified such that a call to with the + same name will return the same repository instance. + + - + - Supports type-safe iteration over a . + Test if a named repository exists + the named repository to check + true if the repository exists + + + Test if a named repository exists. Use + to create a new repository and to retrieve + a repository. + + - + - Advances the enumerator to the next element in the collection. + Gets an array of all currently defined repositories. - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - + An array of the instances created by + this . + + + Gets an array of all of the repositories created by this selector. + + - + - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - A value - - - - - Supports simple iteration over a . - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - An evaluator that triggers at a threshold level + Event to notify that a logger repository has been created. + + Event to notify that a logger repository has been created. + - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. + Event raised when a new repository is created. + The event source will be this selector. The event args will + be a which + holds the newly created . - Nicko Cadell - - - - The threshold for triggering - - + - Create a new evaluator using the threshold. + Test if an triggers an action - Create a new evaluator using the threshold. + Implementations of this interface allow certain appenders to decide + when to perform an appender specific action. - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. + The action or behavior triggered is defined by the implementation. + Nicko Cadell - + - Create a new evaluator using the specified threshold. + Test if this event triggers the action - the threshold to trigger at + The event to check + true if this event triggers the action, otherwise false - Create a new evaluator using the specified threshold. - - - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. + Return true if this event triggers the action - + - Is this the triggering event? + Defines the default set of levels recognized by the system. - The event to check - This method returns true, if the event level - is equal or higher than the . - Otherwise it returns false - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. + Each has an associated . + + + Levels have a numeric that defines the relative + ordering between levels. Two Levels with the same + are deemed to be equivalent. + + + The levels that are recognized by log4net are set for each + and each repository can have different levels defined. The levels are stored + in the on the repository. Levels are + looked up by name from the . + + + When logging at level INFO the actual level used is not but + the value of LoggerRepository.LevelMap["INFO"]. The default value for this is + , but this can be changed by reconfiguring the level map. + + + Each level has a in addition to its . The + is the string that is written into the output log. By default + the display name is the same as the level name, but this can be used to alias levels + or to localize the log output. + + + Some of the predefined levels recognized by the system are: + + + . + + + . + + + . + + + . + + + . + + + . + + + . + + + Nicko Cadell + Gert Driesen - + - the threshold to trigger at + Constructor - - The that will cause this evaluator to trigger - + Integer value for this level, higher values represent more severe levels. + The string name of this level. + The display name for this level. This may be localized or otherwise different from the name - This evaluator will trigger if the level of the event - passed to - is equal to or greater than the - level. + Initializes a new instance of the class with + the specified level name and value. - + - Mapping between string name and Level object + Constructor + Integer value for this level, higher values represent more severe levels. + The string name of this level. - Mapping between string name and object. - This mapping is held separately for each . - The level name is case insensitive. + Initializes a new instance of the class with + the specified level name and value. - Nicko Cadell - - - - Mapping from level name to Level object. The - level name is case insensitive - - + - Construct the level map + Gets the name of this level. + + The name of this level. + - Construct the level map. + Gets the name of this level. - + - Clear the internal maps of all levels + Gets the value of this level. + + The value of this level. + - Clear the internal maps of all levels + Gets the value of this level. - + - Create a new Level and add it to the map + Gets the display name of this level. - the string to display for the Level - the level value to give to the Level + + The display name of this level. + - Create a new Level and add it to the map + Gets the display name of this level. - - + - Create a new Level and add it to the map + Returns the representation of the current + . - the string to display for the Level - the level value to give to the Level - the display name to give to the Level + + A representation of the current . + - Create a new Level and add it to the map + Returns the level . - + - Add a Level to the map + Compares levels. - the Level to add + The object to compare against. + true if the objects are equal. - Add a Level to the map + Compares the levels of instances, and + defers to base class if the target object is not a + instance. - + - Lookup a named level from the map + Returns a hash code - the name of the level to lookup is taken from this level. - If the level is not set on the map then this level is added - the level in the map with the name specified + A hash code for the current . - Lookup a named level from the map. The name of the level to lookup is taken - from the property of the - argument. + Returns a hash code suitable for use in hashing algorithms and data + structures like a hash table. - If no level with the specified name is found then the - argument is added to the level map - and returned. + Returns the hash code of the level . - + - Lookup a by name - - The name of the Level to lookup - a Level from the map with the name specified + Compares this instance to a specified object and returns an + indication of their relative values. +
+ A instance or to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the + values compared. The return value has these meanings: + + + Value + Meaning + + + Less than zero + This instance is less than . + + + Zero + This instance is equal to . + + + Greater than zero + + This instance is greater than . + -or- + is . + + + + - Returns the from the - map with the name specified. If the no level is - found then null is returned. + must be an instance of + or ; otherwise, an exception is thrown. + is not a .
- + - Return all possible levels as a list of Level objects. + Returns a value indicating whether a specified + is greater than another specified . - all possible levels as a list of Level objects + A + A + + true if is greater than + ; otherwise, false. + - Return all possible levels as a list of Level objects. + Compares two levels. - + - The internal representation of caller location information. + Returns a value indicating whether a specified + is less than another specified . + A + A + + true if is less than + ; otherwise, false. + - This class uses the System.Diagnostics.StackTrace class to generate - a call stack. The caller's information is then extracted from this stack. - - - The System.Diagnostics.StackTrace class is not supported on the - .NET Compact Framework 1.0 therefore caller location information is not - available on that framework. - - - The System.Diagnostics.StackTrace class has this to say about Release builds: - - - "StackTrace information will be most informative with Debug build configurations. - By default, Debug builds include debug symbols, while Release builds do not. The - debug symbols contain most of the file, method name, line number, and column - information used in constructing StackFrame and StackTrace objects. StackTrace - might not report as many method calls as expected, due to code transformations - that occur during optimization." - - - This means that in a Release build the caller information may be incomplete or may - not exist at all! Therefore caller location information cannot be relied upon in a Release build. + Compares two levels. - Nicko Cadell - Gert Driesen - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. - - + - Constructor + Returns a value indicating whether a specified + is greater than or equal to another specified . - The declaring type of the method that is - the stack boundary into the logging system for this call. + A + A + + true if is greater than or equal to + ; otherwise, false. + - Initializes a new instance of the - class based on the current thread. + Compares two levels. - + - Constructor + Returns a value indicating whether a specified + is less than or equal to another specified . - The fully qualified class name. - The method name. - The file name. - The line number of the method within the file. + A + A + + true if is less than or equal to + ; otherwise, false. + - Initializes a new instance of the - class with the specified data. + Compares two levels. - - - The fully qualified type of the LocationInfo class. - - - Used by the internal logger to record the Type of the - log message. - - - + - Gets the fully qualified class name of the caller making the logging - request. + Returns a value indicating whether two specified + objects have the same value. - - The fully qualified class name of the caller making the logging - request. - + A or . + A or . + + true if the value of is the same as the + value of ; otherwise, false. + - Gets the fully qualified class name of the caller making the logging - request. + Compares two levels. - + - Gets the file name of the caller. + Returns a value indicating whether two specified + objects have different values. - - The file name of the caller. - + A or . + A or . + + true if the value of is different from + the value of ; otherwise, false. + - Gets the file name of the caller. + Compares two levels. - + - Gets the line number of the caller. + Compares two specified instances. - - The line number of the caller. - + The first to compare. + The second to compare. + + A 32-bit signed integer that indicates the relative order of the + two values compared. The return value has these meanings: + + + Value + Meaning + + + Less than zero + is less than . + + + Zero + is equal to . + + + Greater than zero + is greater than . + + + - Gets the line number of the caller. + Compares two levels. - + - Gets the method name of the caller. + The level designates a higher level than all the rest. - - The method name of the caller. - - - - Gets the method name of the caller. - - - + - Gets all available caller information + The level designates very severe error events. + System unusable, emergencies. - - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) - - - + - Gets the stack frames from the stack trace of the caller making the log request + The level designates very severe error events. + System unusable, emergencies. - + - Static manager that controls the creation of repositories + The level designates very severe error events + that will presumably lead the application to abort. - - - Static manager that controls the creation of repositories - - - This class is used by the wrapper managers (e.g. ) - to provide access to the objects. - - - This manager also holds the that is used to - lookup and create repositories. The selector can be set either programmatically using - the property, or by setting the log4net.RepositorySelector - AppSetting in the applications config file to the fully qualified type name of the - selector to use. - - - Nicko Cadell - Gert Driesen - + - Private constructor to prevent instances. Only static methods should be used. + The level designates very severe error events. + Take immediate action, alerts. - - - Private constructor to prevent instances. Only static methods should be used. - - - + - Hook the shutdown event + The level designates very severe error events. + Critical condition, critical. - - - On the full .NET runtime, the static constructor hooks up the - AppDomain.ProcessExit and AppDomain.DomainUnload> events. - These are used to shutdown the log4net system as the application exits. - - - + - Register for ProcessExit and DomainUnload events on the AppDomain + The level designates very severe error events. - - - This needs to be in a separate method because the events make - a LinkDemand for the ControlAppDomain SecurityPermission. Because - this is a LinkDemand it is demanded at JIT time. Therefore we cannot - catch the exception in the method itself, we have to catch it in the - caller. - - - + - Return the default instance. + The level designates error events that might + still allow the application to continue running. - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - + - Returns the default instance. + The level designates potentially harmful + situations. - The assembly to use to lookup the repository. - The default instance. - + - Return the default instance. + The level designates informational messages + that highlight the progress of the application at the highest level. - the repository to lookup in - Return the default instance - - - Gets the for the repository specified - by the argument. - - - + - Returns the default instance. + The level designates informational messages that + highlight the progress of the application at coarse-grained level. - The assembly to use to lookup the repository. - The default instance. - - - Returns the default instance. - - - + - Returns the named logger if it exists. + The level designates fine-grained informational + events that are most useful to debug an application. - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified repository. - - - - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. - - - + - Returns the named logger if it exists. + The level designates fine-grained informational + events that are most useful to debug an application. - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger found, or null if the named logger does not exist in the - specified assembly's repository. - - - - If the named logger exists (in the specified assembly's repository) then it - returns a reference to the logger, otherwise it returns - null. - - - + - Returns all the currently defined loggers in the specified repository. + The level designates fine-grained informational + events that are most useful to debug an application. - The repository to lookup in. - All the defined loggers. - - - The root logger is not included in the returned array. - - - + - Returns all the currently defined loggers in the specified assembly's repository. + The level designates fine-grained informational + events that are most useful to debug an application. - The assembly to use to lookup the repository. - All the defined loggers. - - - The root logger is not included in the returned array. - - - + - Retrieves or creates a named logger. + The level designates fine-grained informational + events that are most useful to debug an application. - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - + - Retrieves or creates a named logger. + The level designates fine-grained informational + events that are most useful to debug an application. - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - - - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. - - - + - Shorthand for . + The level designates the lowest level possible. - The repository to lookup in. - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - - + - Shorthand for . + A strongly-typed collection of objects. - the assembly to use to lookup the repository - The of which the fullname will be used as the name of the logger to retrieve. - The logger with the name specified. - - - Gets the logger for the fully qualified name of the type specified. - - + Nicko Cadell - + - Shuts down the log4net system. + Supports type-safe iteration over a . - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - + - Shuts down the repository for the repository specified. + Gets the current element in the collection. - The repository to shutdown. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - - + - Shuts down the repository for the repository specified. + Advances the enumerator to the next element in the collection. - The assembly to use to lookup the repository. - - - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository for the repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. - - + + true if the enumerator was successfully advanced to the next element; + false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + - + - Resets all values contained in this repository instance to their defaults. + Sets the enumerator to its initial position, before the first element in the collection. - The repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - + - Resets all values contained in this repository instance to their defaults. + Creates a read-only wrapper for a LevelCollection instance. - The assembly to use to lookup the repository to reset. - - - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - + list to create a readonly wrapper arround + + A LevelCollection wrapper that is read-only. + - + - Creates a repository with the specified name. + Initializes a new instance of the LevelCollection class + that is empty and has the default initial capacity. - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. - + - Creates a repository with the specified name. + Initializes a new instance of the LevelCollection class + that has the specified initial capacity. - The name of the repository, this must be unique amongst repositories. - The created for the repository. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. - - - The specified repository already exists. + + The number of elements that the new LevelCollection is initially capable of storing. + - + - Creates a repository with the specified name and repository type. + Initializes a new instance of the LevelCollection class + that contains elements copied from the specified LevelCollection. - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. + The LevelCollection whose elements are copied to the new collection. - + - Creates a repository with the specified name and repository type. + Initializes a new instance of the LevelCollection class + that contains elements copied from the specified array. - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The name must be unique. Repositories cannot be redefined. - An Exception will be thrown if the repository already exists. - - - The specified repository already exists. + The array whose elements are copied to the new list. - + - Creates a repository for the specified assembly and repository type. + Initializes a new instance of the LevelCollection class + that contains elements copied from the specified collection. - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - + The collection whose elements are copied to the new list. - + - Creates a repository for the specified assembly and repository type. + Type visible only to our subclasses + Used to access protected constructor - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - - - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. - - - + - Gets an array of all currently defined repositories. + A value - An array of all the known objects. - - - Gets an array of all currently defined repositories. - - - + - Internal method to get pertinent version info. + Allow subclasses to avoid our default constructors - A string of version info. + - + - Called when the event fires + Gets the number of elements actually contained in the LevelCollection. - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - - + - Called when the event fires + Copies the entire LevelCollection to a one-dimensional + array. - the that is exiting - null - - - Called when the event fires. - - - When the event is triggered the log4net system is . - - + The one-dimensional array to copy to. - + - The fully qualified type of the LoggerManager class. + Copies the entire LevelCollection to a one-dimensional + array, starting at the specified index of the target array. - - Used by the internal logger to record the Type of the - log message. - + The one-dimensional array to copy to. + The zero-based index in at which copying begins. - + - Initialize the default repository selector + Gets a value indicating whether access to the collection is synchronized (thread-safe). + false, because the backing type is an array, which is never thread-safe. - + - Gets or sets the repository selector used by the . + Gets an object that can be used to synchronize access to the collection. - - The repository selector used by the . - - - - The repository selector () is used by - the to create and select repositories - (). - - - The caller to supplies either a string name - or an assembly (if not supplied the assembly is inferred using - ). - - - This context is used by the selector to lookup a specific repository. - - - For the full .NET Framework, the default repository is DefaultRepositorySelector; - for the .NET Compact Framework CompactRepositorySelector is the default - repository. - - - + - Implementation of the interface. + Gets or sets the at the specified index. - - - This class should be used as the base for all wrapper implementations. - - - Nicko Cadell - Gert Driesen + The zero-based index of the element to get or set. + + is less than zero + -or- + is equal to or greater than . + - + - Constructs a new wrapper for the specified logger. + Adds a to the end of the LevelCollection. - The logger to wrap. - - - Constructs a new wrapper for the specified logger. - - + The to be added to the end of the LevelCollection. + The index at which the value has been added. - + - The logger that this object is wrapping + Removes all elements from the LevelCollection. - + - Gets the implementation behind this wrapper object. + Creates a shallow copy of the . - - The object that this object is implementing. - - - - The Logger object may not be the same object as this object - because of logger decorators. - - - This gets the actual underlying objects that is used to process - the log events. - - + A new with a shallow copy of the collection data. - + - Portable data structure used by + Determines whether a given is in the LevelCollection. - - - Portable data structure used by - - - Nicko Cadell + The to check for. + true if is found in the LevelCollection; otherwise, false. - + - The logger name. + Returns the zero-based index of the first occurrence of a + in the LevelCollection. - - - The logger name. - - + The to locate in the LevelCollection. + + The zero-based index of the first occurrence of + in the entire LevelCollection, if found; otherwise, -1. + - + - Level of logging event. + Inserts an element into the LevelCollection at the specified index. - - - Level of logging event. Level cannot be Serializable - because it is a flyweight. Due to its special serialization it - cannot be declared final either. - - + The zero-based index at which should be inserted. + The to insert. + + is less than zero + -or- + is equal to or greater than . + - + - The application supplied message. + Removes the first occurrence of a specific from the LevelCollection. - - - The application supplied message of logging event. - - + The to remove from the LevelCollection. + + The specified was not found in the LevelCollection. + - + - The name of thread + Removes the element at the specified index of the LevelCollection. - - - The name of thread in which this logging event was generated - - + The zero-based index of the element to remove. + + is less than zero + -or- + is equal to or greater than . + - + - Gets or sets the local time the event was logged + Gets a value indicating whether the collection has a fixed size. - - - Prefer using the setter, since local time can be ambiguous. - - + true if the collection has a fixed size; otherwise, false. The default is false - + - Location information for the caller. + Gets a value indicating whether the IList is read-only. - - - Location information for the caller. - - + true if the collection is read-only; otherwise, false. The default is false - + - String representation of the user + Returns an enumerator that can iterate through the LevelCollection. - - - String representation of the user's windows name, - like DOMAIN\username - - + An for the entire LevelCollection. - + - String representation of the identity. + Gets or sets the number of elements the LevelCollection can contain. - - - String representation of the current thread's principal identity. - - - + - The string representation of the exception + Adds the elements of another LevelCollection to the current LevelCollection. - - - The string representation of the exception - - + The LevelCollection whose elements should be added to the end of the current LevelCollection. + The new of the LevelCollection. - + - String representation of the AppDomain. + Adds the elements of a array to the current LevelCollection. - - - String representation of the AppDomain. - - + The array whose elements should be added to the end of the LevelCollection. + The new of the LevelCollection. - + - Additional event specific properties + Adds the elements of a collection to the current LevelCollection. - - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. - - + The collection whose elements should be added to the end of the LevelCollection. + The new of the LevelCollection. - + - Gets or sets the UTC time the event was logged + Sets the capacity to the actual number of elements. - - - The TimeStamp is stored in the UTC time zone. - - - - - Flags passed to the property - - - - Flags passed to the property - - - Nicko Cadell + + + is less than zero + -or- + is equal to or greater than . + - + + + is less than zero + -or- + is equal to or greater than . + + + - Fix the MDC + Supports simple iteration over a . - + - Fix the NDC + Initializes a new instance of the Enumerator class. + - + - Fix the rendered message + Gets the current element in the collection. - + - Fix the thread name + Advances the enumerator to the next element in the collection. + + true if the enumerator was successfully advanced to the next element; + false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + - + - Fix the callers location information + Sets the enumerator to its initial position, before the first element in the collection. - - CAUTION: Very slow to generate - - + - Fix the callers windows user name + An evaluator that triggers at a threshold level - CAUTION: Slow to generate + + This evaluator will trigger if the level of the event + passed to + is equal to or greater than the + level. + + Nicko Cadell - + - Fix the domain friendly name + The threshold for triggering - + - Fix the callers principal name + Create a new evaluator using the threshold. - CAUTION: May be slow to generate + + Create a new evaluator using the threshold. + + + This evaluator will trigger if the level of the event + passed to + is equal to or greater than the + level. + - + - Fix the exception text + Create a new evaluator using the specified threshold. + the threshold to trigger at + + + Create a new evaluator using the specified threshold. + + + This evaluator will trigger if the level of the event + passed to + is equal to or greater than the + level. + + - - - Fix the event properties. Active properties must implement in order to be eligible for fixing. - - - - - No fields fixed - - - + - All fields fixed + the threshold to trigger at + + The that will cause this evaluator to trigger + + + + This evaluator will trigger if the level of the event + passed to + is equal to or greater than the + level. + + - + - Partial fields fixed + Is this the triggering event? + The event to check + This method returns true, if the event level + is equal or higher than the . + Otherwise it returns false - This set of partial fields gives good performance. The following fields are fixed: + This evaluator will trigger if the level of the event + passed to + is equal to or greater than the + level. - - - - - - - - + - The internal representation of logging events. + Mapping between string name and Level object - When an affirmative decision is made to log then a - instance is created. This instance - is passed around to the different log4net components. - - - This class is of concern to those wishing to extend log4net. - - - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. + Mapping between string name and object. + This mapping is held separately for each . + The level name is case insensitive. Nicko Cadell - Gert Driesen - Douglas de la Torre - Daniel Cazzulino - - - - The key into the Properties map for the host name value. - - - - - The key into the Properties map for the thread identity value. - - + - The key into the Properties map for the user name value. + Mapping from level name to Level object. The + level name is case insensitive - + - Initializes a new instance of the class - from the supplied parameters. + Construct the level map - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - The name of the logger of this event. - The level of this event. - The message of this event. - The exception for this event. - Except , and , - all fields of LoggingEvent are filled when actually needed. Call - to cache all data locally - to prevent inconsistencies. - - This method is called by the log4net framework - to create a logging event. + Construct the level map. - + - Initializes a new instance of the class - using specific data. + Clear the internal maps of all levels - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. - The fields in the struct that have already been fixed. - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - The parameter should be used to specify which fields in the - struct have been preset. Fields not specified in the - will be captured from the environment if requested or fixed. + Clear the internal maps of all levels - + - Initializes a new instance of the class - using specific data. + Lookup a by name - The declaring type of the method that is - the stack boundary into the logging system for this call. - The repository this event is logged in. - Data used to initialize the logging event. + The name of the Level to lookup + a Level from the map with the name specified - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. + Returns the from the + map with the name specified. If the no level is + found then null is returned. - + - Initializes a new instance of the class - using specific data. + Create a new Level and add it to the map - Data used to initialize the logging event. + the string to display for the Level + the level value to give to the Level - This constructor is provided to allow a - to be created independently of the log4net framework. This can - be useful if you require a custom serialization scheme. - - - Use the method to obtain an - instance of the class. - - - This constructor sets this objects flags to , - this assumes that all the data relating to this event is passed in via the - parameter and no other data should be captured from the environment. + Create a new Level and add it to the map + - + - Serialization constructor + Create a new Level and add it to the map - The that holds the serialized object data. - The that contains contextual information about the source or destination. + the string to display for the Level + the level value to give to the Level + the display name to give to the Level - Initializes a new instance of the class - with serialized data. + Create a new Level and add it to the map - + - Ensure that the repository is set. + Add a Level to the map - the value for the repository + the Level to add + + + Add a Level to the map + + - + - Write the rendered message to a TextWriter + Return all possible levels as a list of Level objects. - the writer to write the message to + all possible levels as a list of Level objects - Unlike the property this method - does store the message data in the internal cache. Therefore - if called only once this method should be faster than the - property, however if the message is - to be accessed multiple times then the property will be more efficient. + Return all possible levels as a list of Level objects. - + - Serializes this object into the provided. + Lookup a named level from the map - The to populate with data. - The destination for this serialization. + the name of the level to lookup is taken from this level. + If the level is not set on the map then this level is added + the level in the map with the name specified - The data in this event must be fixed before it can be serialized. + Lookup a named level from the map. The name of the level to lookup is taken + from the property of the + argument. - The method must be called during the - method call if this event - is to be used outside that method. + If no level with the specified name is found then the + argument is added to the level map + and returned. - + - Gets the portable data for this . + The internal representation of caller location information. - The for this event. - A new can be constructed using a - instance. + This class uses the System.Diagnostics.StackTrace class to generate + a call stack. The caller's information is then extracted from this stack. - Does a fix of the data - in the logging event before returning the event data. + The System.Diagnostics.StackTrace class is not supported on the + .NET Compact Framework 1.0 therefore caller location information is not + available on that framework. + + + The System.Diagnostics.StackTrace class has this to say about Release builds: + + + "StackTrace information will be most informative with Debug build configurations. + By default, Debug builds include debug symbols, while Release builds do not. The + debug symbols contain most of the file, method name, line number, and column + information used in constructing StackFrame and StackTrace objects. StackTrace + might not report as many method calls as expected, due to code transformations + that occur during optimization." + + + This means that in a Release build the caller information may be incomplete or may + not exist at all! Therefore caller location information cannot be relied upon in a Release build. + Nicko Cadell + Gert Driesen - + - Gets the portable data for this . + Constructor - The set of data to ensure is fixed in the LoggingEventData - The for this event. + The declaring type of the method that is + the stack boundary into the logging system for this call. - A new can be constructed using a - instance. - - - - - - Returns this event's exception's rendered using the - . - - - This event's exception's rendered using the . - - - - Obsolete. Use instead. + Initializes a new instance of the + class based on the current thread. - + - Returns this event's exception's rendered using the - . + Constructor - - This event's exception's rendered using the . - + The fully qualified class name. + The method name. + The file name. + The line number of the method within the file. - Returns this event's exception's rendered using the - . + Initializes a new instance of the + class with the specified data. - + - Fix instance fields that hold volatile data. + Gets the fully qualified class name of the caller making the logging + request. + + The fully qualified class name of the caller making the logging + request. + - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - incurred by calling but it - is essential to maintaining data consistency. - - - Calling is equivalent to - calling passing the parameter - false. - - - See for more - information. + Gets the fully qualified class name of the caller making the logging + request. - + - Fixes instance fields that hold volatile data. + Gets the file name of the caller. - Set to true to not fix data that takes a long time to fix. + + The file name of the caller. + - Some of the values in instances of - are considered volatile, that is the values are correct at the - time the event is delivered to appenders, but will not be consistent - at any time afterwards. If an event is to be stored and then processed - at a later time these volatile values must be fixed by calling - . There is a performance penalty - for incurred by calling but it - is essential to maintaining data consistency. - - - The param controls the data that - is fixed. Some of the data that can be fixed takes a long time to - generate, therefore if you do not require those settings to be fixed - they can be ignored by setting the param - to true. This setting will ignore the - and settings. - - - Set to false to ensure that all - settings are fixed. + Gets the file name of the caller. - + - Fix the fields specified by the parameter + Gets the line number of the caller. - the fields to fix + + The line number of the caller. + - Only fields specified in the will be fixed. - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. + Gets the line number of the caller. - + - Lookup a composite property in this event + Gets the method name of the caller. - the key for the property to lookup - the value for the property + + The method name of the caller. + - This event has composite properties that combine together properties from - several different contexts in the following order: - - - this events properties - - This event has that can be set. These - properties are specific to this event only. - - - - the thread properties - - The that are set on the current - thread. These properties are shared by all events logged on this thread. - - - - the global properties - - The that are set globally. These - properties are shared by all the threads in the AppDomain. - - - + Gets the method name of the caller. - + - Get all the composite properties in this event + Gets all available caller information - the containing all the properties + + All available caller information, in the format + fully.qualified.classname.of.caller.methodName(Filename:line) + - See for details of the composite properties - stored by the event. - - - This method returns a single containing all the - properties defined for this event. + Gets all available caller information, in the format + fully.qualified.classname.of.caller.methodName(Filename:line) - - - The internal logging event data. - - - + - The internal logging event data. + Gets the stack frames from the stack trace of the caller making the log request - + - The internal logging event data. + The fully qualified type of the LocationInfo class. + + Used by the internal logger to record the Type of the + log message. + - + - The fully qualified Type of the calling - logger class in the stack frame (i.e. the declaring type of the method). + When location information is not available the constant + NA is returned. Current value of this string + constant is ?. - + - The application supplied message of logging event. + Exception base type for log4net. + + + This type extends . It + does not add any new functionality but does differentiate the + type of exception being thrown. + + + Nicko Cadell + Gert Driesen - + - The exception that was thrown. + Constructor - This is not serialized. The string representation - is serialized instead. + + Initializes a new instance of the class. + - + - The repository that generated the logging event + Constructor + A message to include with the exception. - This is not serialized. + + Initializes a new instance of the class with + the specified message. + - + - The fix state for this event + Constructor + A message to include with the exception. + A nested exception to include. - These flags indicate which fields have been fixed. - Not serialized. + + Initializes a new instance of the class + with the specified message and inner exception. + - + - Indicated that the internal cache is updateable (ie not fixed) + Serialization constructor + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. - This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler - changes in the caching strategy. + + Initializes a new instance of the class + with serialized data. + - + - Gets the time when the current process started. + Static manager that controls the creation of repositories - - This is the time when this process started. - - The TimeStamp is stored internally in UTC and converted to the local time zone for this computer. + Static manager that controls the creation of repositories - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. + This class is used by the wrapper managers (e.g. ) + to provide access to the objects. - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. + This manager also holds the that is used to + lookup and create repositories. The selector can be set either programmatically using + the property, or by setting the log4net.RepositorySelector + AppSetting in the applications config file to the fully qualified type name of the + selector to use. + Nicko Cadell + Gert Driesen - + - Gets the UTC time when the current process started. + Private constructor to prevent instances. Only static methods should be used. - - This is the UTC time when this process started. - - Tries to get the start time for the current process. - Failing that it returns the time of the first call to - this property. + Private constructor to prevent instances. Only static methods should be used. + + + + + Hook the shutdown event + + - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating and therefore - without the process start time being reset. + On the full .NET runtime, the static constructor hooks up the + AppDomain.ProcessExit and AppDomain.DomainUnload> events. + These are used to shutdown the log4net system as the application exits. - + - Gets the of the logging event. + Register for ProcessExit and DomainUnload events on the AppDomain - - The of the logging event. - - Gets the of the logging event. + This needs to be in a separate method because the events make + a LinkDemand for the ControlAppDomain SecurityPermission. Because + this is a LinkDemand it is demanded at JIT time. Therefore we cannot + catch the exception in the method itself, we have to catch it in the + caller. - + - Gets the time of the logging event. + Return the default instance. - - The time of the logging event. - + the repository to lookup in + Return the default instance - The TimeStamp is stored in UTC and converted to the local time zone for this computer. + Gets the for the repository specified + by the argument. - + - Gets UTC the time of the logging event. + Returns the default instance. - - The UTC time of the logging event. - + The assembly to use to lookup the repository. + The default instance. - + - Gets the name of the logger that logged the event. + Return the default instance. - - The name of the logger that logged the event. - + the repository to lookup in + Return the default instance - Gets the name of the logger that logged the event. + Gets the for the repository specified + by the argument. - + - Gets the location information for this logging event. + Returns the default instance. - - The location information for this logging event. - + The assembly to use to lookup the repository. + The default instance. - The collected information is cached for future use. - - - See the class for more information on - supported frameworks and the different behavior in Debug and - Release builds. + Returns the default instance. - + - Gets the message object used to initialize this event. + Returns the named logger if it exists. - - The message object used to initialize this event. - + The repository to lookup in. + The fully qualified logger name to look for. + + The logger found, or null if the named logger does not exist in the + specified repository. + - Gets the message object used to initialize this event. - Note that this event may not have a valid message object. - If the event is serialized the message object will not - be transferred. To get the text of the message the - property must be used - not this property. - - - If there is no defined message object for this event then - null will be returned. + If the named logger exists (in the specified repository) then it + returns a reference to the logger, otherwise it returns + null. - + - Gets the exception object used to initialize this event. + Returns the named logger if it exists. - - The exception object used to initialize this event. - + The assembly to use to lookup the repository. + The fully qualified logger name to look for. + + The logger found, or null if the named logger does not exist in the + specified assembly's repository. + - Gets the exception object used to initialize this event. - Note that this event may not have a valid exception object. - If the event is serialized the exception object will not - be transferred. To get the text of the exception the - method must be used - not this property. - - - If there is no defined exception object for this event then - null will be returned. + If the named logger exists (in the specified assembly's repository) then it + returns a reference to the logger, otherwise it returns + null. - + - The that this event was created in. + Returns all the currently defined loggers in the specified repository. + The repository to lookup in. + All the defined loggers. - The that this event was created in. + The root logger is not included in the returned array. - + - Gets the message, rendered through the . + Returns all the currently defined loggers in the specified assembly's repository. - - The message rendered through the . - + The assembly to use to lookup the repository. + All the defined loggers. - The collected information is cached for future use. + The root logger is not included in the returned array. - + - Gets the name of the current thread. + Retrieves or creates a named logger. - - The name of the current thread, or the thread ID when - the name is not available. - + The repository to lookup in. + The name of the logger to retrieve. + The logger with the name specified. - The collected information is cached for future use. + Retrieves a logger named as the + parameter. If the named logger already exists, then the + existing instance will be returned. Otherwise, a new instance is + created. + + + By default, loggers do not have a set level but inherit + it from the hierarchy. This is one of the central features of + log4net. - + - Gets the name of the current user. + Retrieves or creates a named logger. - - The name of the current user, or NOT AVAILABLE when the - underlying runtime has no support for retrieving the name of the - current user. - + The assembly to use to lookup the repository. + The name of the logger to retrieve. + The logger with the name specified. - Calls WindowsIdentity.GetCurrent().Name to get the name of - the current windows user. - - - To improve performance, we could cache the string representation of - the name, and reuse that as long as the identity stayed constant. - Once the identity changed, we would need to re-assign and re-render - the string. - - - However, the WindowsIdentity.GetCurrent() call seems to - return different objects every time, so the current implementation - doesn't do this type of caching. - - - Timing for these operations: + Retrieves a logger named as the + parameter. If the named logger already exists, then the + existing instance will be returned. Otherwise, a new instance is + created. - - - Method - Results - - - WindowsIdentity.GetCurrent() - 10000 loops, 00:00:00.2031250 seconds - - - WindowsIdentity.GetCurrent().Name - 10000 loops, 00:00:08.0468750 seconds - - - This means we could speed things up almost 40 times by caching the - value of the WindowsIdentity.GetCurrent().Name property, since - this takes (8.04-0.20) = 7.84375 seconds. + By default, loggers do not have a set level but inherit + it from the hierarchy. This is one of the central features of + log4net. - + - Gets the identity of the current thread principal. + Shorthand for . - - The string name of the identity of the current thread principal. - + The repository to lookup in. + The of which the fullname will be used as the name of the logger to retrieve. + The logger with the name specified. - Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get - the name of the current thread principal. + Gets the logger for the fully qualified name of the type specified. - + - Gets the AppDomain friendly name. + Shorthand for . - - The AppDomain friendly name. - + the assembly to use to lookup the repository + The of which the fullname will be used as the name of the logger to retrieve. + The logger with the name specified. - Gets the AppDomain friendly name. + Gets the logger for the fully qualified name of the type specified. - + - Additional event specific properties. + Shuts down the log4net system. - - Additional event specific properties. - - A logger or an appender may attach additional - properties to specific events. These properties - have a string key and an object value. + Calling this method will safely close and remove all + appenders in all the loggers including root contained in all the + default repositories. - This property is for events that have been added directly to - this event. The aggregate properties (which include these - event properties) can be retrieved using - and . - - - Once the properties have been fixed this property - returns the combined cached properties. This ensures that updates to - this property are always reflected in the underlying storage. When - returning the combined properties there may be more keys in the - Dictionary than expected. + Some appenders need to be closed before the application exists. + Otherwise, pending logging events might be lost. - - - - - The fixed fields in this event - - - The set of fields that are fixed in this event - - - Fields will not be fixed if they have previously been fixed. - It is not possible to 'unfix' a field. + The shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - + - Implementation of wrapper interface. + Shuts down the repository for the repository specified. + The repository to shutdown. - This implementation of the interface - forwards to the held by the base class. + Calling this method will safely close and remove all + appenders in all the loggers including root contained in the + repository for the specified. - This logger has methods to allow the caller to log at the following - levels: + Some appenders need to be closed before the application exists. + Otherwise, pending logging events might be lost. - - - DEBUG - - The and methods log messages - at the DEBUG level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - INFO - - The and methods log messages - at the INFO level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - WARN - - The and methods log messages - at the WARN level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - ERROR - - The and methods log messages - at the ERROR level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - FATAL - - The and methods log messages - at the FATAL level. That is the level with that name defined in the - repositories . The default value - for this level is . The - property tests if this level is enabled for logging. - - - - The values for these levels and their semantic meanings can be changed by - configuring the for the repository. + The shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - Nicko Cadell - Gert Driesen - + - The ILog interface is use by application to log messages into - the log4net framework. + Shuts down the repository for the repository specified. + The assembly to use to lookup the repository. - Use the to obtain logger instances - that implement this interface. The - static method is used to get logger instances. + Calling this method will safely close and remove all + appenders in all the loggers including root contained in the + repository for the repository. The repository is looked up using + the specified. - This class contains methods for logging at different levels and also - has properties for determining if those logging levels are - enabled in the current configuration. + Some appenders need to be closed before the application exists. + Otherwise, pending logging events might be lost. - This interface can be implemented in different ways. This documentation - specifies reasonable behavior that a caller can expect from the actual - implementation, however different implementations reserve the right to - do things differently. + The shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - - Log a message object with the level. + - Log a message object with the level. + Resets all values contained in this repository instance to their defaults. - The message object to log. + The repository to reset. - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. - + Resets all values contained in the repository instance to their + defaults. This removes all appenders from all loggers, sets + the level of all non-root loggers to null, + sets their additivity flag to true and sets the level + of the root logger to . Moreover, + message disabling is set its default "off" value. + - - - + - Log a message object with the level including - the stack trace of the passed - as a parameter. + Resets all values contained in this repository instance to their defaults. - The message object to log. - The exception to log, including its stack trace. + The assembly to use to lookup the repository to reset. - See the form for more detailed information. - + Resets all values contained in the repository instance to their + defaults. This removes all appenders from all loggers, sets + the level of all non-root loggers to null, + sets their additivity flag to true and sets the level + of the root logger to . Moreover, + message disabling is set its default "off" value. + - - - - Log a formatted string with the level. + - Logs a formatted message string with the level. + Creates a repository with the specified name. - A String containing zero or more format items - An Object array containing zero or more objects to format + The name of the repository, this must be unique amongst repositories. + The created for the repository. - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Creates the default type of which is a + object. + + + The name must be unique. Repositories cannot be redefined. + An will be thrown if the repository already exists. - - + The specified repository already exists. - + - Logs a formatted message string with the level. + Creates a repository with the specified name. - A String containing zero or more format items - An Object to format + The name of the repository, this must be unique amongst repositories. + The created for the repository. - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + Creates the default type of which is a + object. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The name must be unique. Repositories cannot be redefined. + An will be thrown if the repository already exists. - - + The specified repository already exists. - + - Logs a formatted message string with the level. + Creates a repository with the specified name and repository type. - A String containing zero or more format items - An Object to format - An Object to format + The name of the repository, this must be unique to the repository. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The name must be unique. Repositories cannot be redefined. + An Exception will be thrown if the repository already exists. - - + The specified repository already exists. - + - Logs a formatted message string with the level. + Creates a repository with the specified name and repository type. - A String containing zero or more format items - An Object to format - An Object to format - An Object to format + The name of the repository, this must be unique to the repository. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The name must be unique. Repositories cannot be redefined. + An Exception will be thrown if the repository already exists. - - + The specified repository already exists. - + - Logs a formatted message string with the level. + Creates a repository for the specified assembly and repository type. - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format + The assembly to use to get the name of the repository. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The created will be associated with the repository + specified such that a call to with the + same assembly specified will return the same repository instance. - - - - Log a message object with the level. + - Logs a message object with the level. + Creates a repository for the specified assembly and repository type. + The assembly to use to get the name of the repository. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. + The created will be associated with the repository + specified such that a call to with the + same assembly specified will return the same repository instance. - The message object to log. - - - + - Logs a message object with the INFO level including - the stack trace of the passed - as a parameter. + Gets an array of all currently defined repositories. - The message object to log. - The exception to log, including its stack trace. + An array of all the known objects. - See the form for more detailed information. + Gets an array of all currently defined repositories. - - - - Log a formatted message string with the level. + - Logs a formatted message string with the level. + Gets or sets the repository selector used by the . - A String containing zero or more format items - An Object array containing zero or more objects to format + + The repository selector used by the . + - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + The repository selector () is used by + the to create and select repositories + (). - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The caller to supplies either a string name + or an assembly (if not supplied the assembly is inferred using + ). - - - - - - - Logs a formatted message string with the level. - - A String containing zero or more format items - An Object to format - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + This context is used by the selector to lookup a specific repository. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + For the full .NET Framework, the default repository is DefaultRepositorySelector; + for the .NET Compact Framework CompactRepositorySelector is the default + repository. - - - + - Logs a formatted message string with the level. + Internal method to get pertinent version info. - A String containing zero or more format items - An Object to format - An Object to format + A string of version info. + + + + Called when the event fires + + the that is exiting + null - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + Called when the event fires. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + When the event is triggered the log4net system is . - - - + - Logs a formatted message string with the level. + Called when the event fires - A String containing zero or more format items - An Object to format - An Object to format - An Object to format + the that is exiting + null - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + Called when the event fires. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + When the event is triggered the log4net system is . - - - + - Logs a formatted message string with the level. + The fully qualified type of the LoggerManager class. - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - + Used by the internal logger to record the Type of the + log message. - - - - Log a message object with the level. + - Log a message object with the level. + Initialize the default repository selector + + + + + Implementation of the interface. - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. + This class should be used as the base for all wrapper implementations. - The message object to log. - - + Nicko Cadell + Gert Driesen - + - Log a message object with the level including - the stack trace of the passed - as a parameter. + Constructs a new wrapper for the specified logger. - The message object to log. - The exception to log, including its stack trace. + The logger to wrap. - See the form for more detailed information. + Constructs a new wrapper for the specified logger. - - - - Log a formatted message string with the level. + - Logs a formatted message string with the level. + Gets the implementation behind this wrapper object. - A String containing zero or more format items - An Object array containing zero or more objects to format + + The object that this object is implementing. + - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + The Logger object may not be the same object as this object + because of logger decorators. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + This gets the actual underlying objects that is used to process + the log events. - - - + - Logs a formatted message string with the level. + The logger that this object is wrapping + + + + + Portable data structure used by - A String containing zero or more format items - An Object to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Portable data structure used by - - + Nicko Cadell - + - Logs a formatted message string with the level. + The logger name. - A String containing zero or more format items - An Object to format - An Object to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The logger name. - - - + - Logs a formatted message string with the level. + Level of logging event. - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Level of logging event. Level cannot be Serializable + because it is a flyweight. Due to its special serialization it + cannot be declared final either. - - - + - Logs a formatted message string with the level. + The application supplied message. - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The application supplied message of logging event. - - - - Log a message object with the level. + - Logs a message object with the level. + The name of thread - The message object to log. - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. + The name of thread in which this logging event was generated - - - + - Log a message object with the level including - the stack trace of the passed - as a parameter. + Gets or sets the local time the event was logged - The message object to log. - The exception to log, including its stack trace. - See the form for more detailed information. + Prefer using the setter, since local time can be ambiguous. - - - - Log a formatted message string with the level. + - Logs a formatted message string with the level. + Gets or sets the UTC time the event was logged - A String containing zero or more format items - An Object array containing zero or more objects to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The TimeStamp is stored in the UTC time zone. - - - + - Logs a formatted message string with the level. + Location information for the caller. - A String containing zero or more format items - An Object to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Location information for the caller. - - - + - Logs a formatted message string with the level. + String representation of the user - A String containing zero or more format items - An Object to format - An Object to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + String representation of the user's windows name, + like DOMAIN\username - - - + - Logs a formatted message string with the level. + String representation of the identity. - A String containing zero or more format items - An Object to format - An Object to format - An Object to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + String representation of the current thread's principal identity. - - - + - Logs a formatted message string with the level. + The string representation of the exception - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The string representation of the exception - - - - Log a message object with the level. + - Log a message object with the level. + String representation of the AppDomain. - This method first checks if this logger is FATAL - enabled by comparing the level of this logger with the - level. If this logger is - FATAL enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. + String representation of the AppDomain. - The message object to log. - - - + - Log a message object with the level including - the stack trace of the passed - as a parameter. + Additional event specific properties - The message object to log. - The exception to log, including its stack trace. - See the form for more detailed information. + A logger or an appender may attach additional + properties to specific events. These properties + have a string key and an object value. - - - - Log a formatted message string with the level. + - Logs a formatted message string with the level. + Flags passed to the property - A String containing zero or more format items - An Object array containing zero or more objects to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + Flags passed to the property + + Nicko Cadell + + + + Fix the MDC + + + + + Fix the NDC + + + + + Fix the rendered message + + + + + Fix the thread name + + + + + Fix the callers location information + + + CAUTION: Very slow to generate + + + + + Fix the callers windows user name + + + CAUTION: Slow to generate + + + + + Fix the domain friendly name + + + + + Fix the callers principal name + + + CAUTION: May be slow to generate + + + + + Fix the exception text + + + + + Fix the event properties. Active properties must implement in order to be eligible for fixing. + + + + + No fields fixed + + + + + All fields fixed + + + + + Partial fields fixed + + - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + This set of partial fields gives good performance. The following fields are fixed: + + + + + + + - - - + - Logs a formatted message string with the level. + The internal representation of logging events. - A String containing zero or more format items - An Object to format - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + When an affirmative decision is made to log then a + instance is created. This instance + is passed around to the different log4net components. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + This class is of concern to those wishing to extend log4net. + + + Some of the values in instances of + are considered volatile, that is the values are correct at the + time the event is delivered to appenders, but will not be consistent + at any time afterwards. If an event is to be stored and then processed + at a later time these volatile values must be fixed by calling + . There is a performance penalty + for incurred by calling but it + is essential to maintaining data consistency. - - + Nicko Cadell + Gert Driesen + Douglas de la Torre + Daniel Cazzulino - + - Logs a formatted message string with the level. + Initializes a new instance of the class + from the supplied parameters. - A String containing zero or more format items - An Object to format - An Object to format + The declaring type of the method that is + the stack boundary into the logging system for this call. + The repository this event is logged in. + The name of the logger of this event. + The level of this event. + The message of this event. + The exception for this event. - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + Except , and , + all fields of LoggingEvent are filled when actually needed. Call + to cache all data locally + to prevent inconsistencies. - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + This method is called by the log4net framework + to create a logging event. - - - + - Logs a formatted message string with the level. + Initializes a new instance of the class + using specific data. - A String containing zero or more format items - An Object to format - An Object to format - An Object to format + The declaring type of the method that is + the stack boundary into the logging system for this call. + The repository this event is logged in. + Data used to initialize the logging event. + The fields in the struct that have already been fixed. - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + This constructor is provided to allow a + to be created independently of the log4net framework. This can + be useful if you require a custom serialization scheme. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Use the method to obtain an + instance of the class. + + + The parameter should be used to specify which fields in the + struct have been preset. Fields not specified in the + will be captured from the environment if requested or fixed. - - - + - Logs a formatted message string with the level. + Initializes a new instance of the class + using specific data. - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format + The declaring type of the method that is + the stack boundary into the logging system for this call. + The repository this event is logged in. + Data used to initialize the logging event. - The message is formatted using the String.Format method. See - for details of the syntax of the format string and the behavior - of the formatting. + This constructor is provided to allow a + to be created independently of the log4net framework. This can + be useful if you require a custom serialization scheme. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Use the method to obtain an + instance of the class. + + + This constructor sets this objects flags to , + this assumes that all the data relating to this event is passed in via the + parameter and no other data should be captured from the environment. - - - + - Checks if this logger is enabled for the level. + Initializes a new instance of the class + using specific data. - - true if this logger is enabled for events, false otherwise. - + Data used to initialize the logging event. - This function is intended to lessen the computational cost of - disabled log debug statements. + This constructor is provided to allow a + to be created independently of the log4net framework. This can + be useful if you require a custom serialization scheme. - For some ILog interface log, when you write: - - log.Debug("This is entry number: " + i ); - - You incur the cost constructing the message, string construction and concatenation in - this case, regardless of whether the message is logged or not. + Use the method to obtain an + instance of the class. - If you are worried about speed (who isn't), then you should write: + This constructor sets this objects flags to , + this assumes that all the data relating to this event is passed in via the + parameter and no other data should be captured from the environment. - - if (log.IsDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - + + + + + Serialization constructor + + The that holds the serialized object data. + The that contains contextual information about the source or destination. + - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in and once in - the . This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. This is the preferred style of logging. - - Alternatively if your logger is available statically then the is debug - enabled state can be stored in a static variable like this: + Initializes a new instance of the class + with serialized data. - - private static readonly bool isDebugEnabled = log.IsDebugEnabled; - + + + + + Gets the time when the current process started. + + + This is the time when this process started. + + - Then when you come to log you can write: + The TimeStamp is stored internally in UTC and converted to the local time zone for this computer. - - if (isDebugEnabled) - { - log.Debug("This is entry number: " + i ); - } - - This way the debug enabled state is only queried once - when the class is loaded. Using a private static readonly - variable is the most efficient because it is a run time constant - and can be heavily optimized by the JIT compiler. + Tries to get the start time for the current process. + Failing that it returns the time of the first call to + this property. - Of course if you use a static readonly variable to - hold the enabled state of the logger then you cannot - change the enabled state at runtime to vary the logging - that is produced. You have to decide if you need absolute - speed or runtime flexibility. + Note that AppDomains may be loaded and unloaded within the + same process without the process terminating and therefore + without the process start time being reset. - - - + - Checks if this logger is enabled for the level. + Gets the UTC time when the current process started. - true if this logger is enabled for events, false otherwise. + This is the UTC time when this process started. - For more information see . + + Tries to get the start time for the current process. + Failing that it returns the time of the first call to + this property. + + + Note that AppDomains may be loaded and unloaded within the + same process without the process terminating and therefore + without the process start time being reset. + - - - - + - Checks if this logger is enabled for the level. + Gets the of the logging event. - true if this logger is enabled for events, false otherwise. + The of the logging event. - For more information see . + + Gets the of the logging event. + - - - - + - Checks if this logger is enabled for the level. + Gets the time of the logging event. - true if this logger is enabled for events, false otherwise. + The time of the logging event. - For more information see . + + The TimeStamp is stored in UTC and converted to the local time zone for this computer. + - - - - + - Checks if this logger is enabled for the level. + Gets UTC the time of the logging event. - true if this logger is enabled for events, false otherwise. + The UTC time of the logging event. - - For more information see . - - - - - + - Construct a new wrapper for the specified logger. + Gets the name of the logger that logged the event. - The logger to wrap. + + The name of the logger that logged the event. + - Construct a new wrapper for the specified logger. + Gets the name of the logger that logged the event. - + - Virtual method called when the configuration of the repository changes + Gets the location information for this logging event. - the repository holding the levels + + The location information for this logging event. + - Virtual method called when the configuration of the repository changes + The collected information is cached for future use. + + + See the class for more information on + supported frameworks and the different behavior in Debug and + Release builds. - + - Logs a message object with the DEBUG level. + Gets the message object used to initialize this event. - The message object to log. + + The message object used to initialize this event. + - This method first checks if this logger is DEBUG - enabled by comparing the level of this logger with the - DEBUG level. If this logger is - DEBUG enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of the - additivity flag. + Gets the message object used to initialize this event. + Note that this event may not have a valid message object. + If the event is serialized the message object will not + be transferred. To get the text of the message the + property must be used + not this property. - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. + If there is no defined message object for this event then + null will be returned. - + - Logs a message object with the DEBUG level + Gets the exception object used to initialize this event. - The message object to log. - The exception to log, including its stack trace. + + The exception object used to initialize this event. + - Logs a message object with the DEBUG level including - the stack trace of the passed - as a parameter. + Gets the exception object used to initialize this event. + Note that this event may not have a valid exception object. + If the event is serialized the exception object will not + be transferred. To get the text of the exception the + method must be used + not this property. - See the form for more detailed information. + If there is no defined exception object for this event then + null will be returned. - - + - Logs a formatted message string with the DEBUG level. + The that this event was created in. - A String containing zero or more format items - An Object array containing zero or more objects to format - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The that this event was created in. - + - Logs a formatted message string with the DEBUG level. + Ensure that the repository is set. - A String containing zero or more format items - An Object to format + the value for the repository + + + + Gets the message, rendered through the . + + + The message rendered through the . + - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The collected information is cached for future use. - + - Logs a formatted message string with the DEBUG level. + Write the rendered message to a TextWriter - A String containing zero or more format items - An Object to format - An Object to format + the writer to write the message to - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. + Unlike the property this method + does store the message data in the internal cache. Therefore + if called only once this method should be faster than the + property, however if the message is + to be accessed multiple times then the property will be more efficient. + + + + + Gets the name of the current thread. + + + The name of the current thread, or the thread ID when + the name is not available. + + - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The collected information is cached for future use. - + - Logs a formatted message string with the DEBUG level. + Gets the name of the current user. - A String containing zero or more format items - An Object to format - An Object to format - An Object to format + + The name of the current user, or NOT AVAILABLE when the + underlying runtime has no support for retrieving the name of the + current user. + - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. + Calls WindowsIdentity.GetCurrent().Name to get the name of + the current windows user. - The string is formatted using the - format provider. To specify a localized provider use the - method. + To improve performance, we could cache the string representation of + the name, and reuse that as long as the identity stayed constant. + Once the identity changed, we would need to re-assign and re-render + the string. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + However, the WindowsIdentity.GetCurrent() call seems to + return different objects every time, so the current implementation + doesn't do this type of caching. - - - - - Logs a formatted message string with the DEBUG level. - - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. + Timing for these operations: + + + Method + Results + + + WindowsIdentity.GetCurrent() + 10000 loops, 00:00:00.2031250 seconds + + + WindowsIdentity.GetCurrent().Name + 10000 loops, 00:00:08.0468750 seconds + + - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + This means we could speed things up almost 40 times by caching the + value of the WindowsIdentity.GetCurrent().Name property, since + this takes (8.04-0.20) = 7.84375 seconds. - + - Logs a message object with the INFO level. + Gets the identity of the current thread principal. - The message object to log. + + The string name of the identity of the current thread principal. + - This method first checks if this logger is INFO - enabled by comparing the level of this logger with the - INFO level. If this logger is - INFO enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger - and also higher in the hierarchy depending on the value of - the additivity flag. - - - WARNING Note that passing an - to this method will print the name of the - but no stack trace. To print a stack trace use the - form instead. + Calls System.Threading.Thread.CurrentPrincipal.Identity.Name to get + the name of the current thread principal. - + - Logs a message object with the INFO level. + Gets the AppDomain friendly name. - The message object to log. - The exception to log, including its stack trace. + + The AppDomain friendly name. + - Logs a message object with the INFO level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. + Gets the AppDomain friendly name. - - + - Logs a formatted message string with the INFO level. + Additional event specific properties. - A String containing zero or more format items - An Object array containing zero or more objects to format + + Additional event specific properties. + - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. + A logger or an appender may attach additional + properties to specific events. These properties + have a string key and an object value. - The string is formatted using the - format provider. To specify a localized provider use the - method. + This property is for events that have been added directly to + this event. The aggregate properties (which include these + event properties) can be retrieved using + and . - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Once the properties have been fixed this property + returns the combined cached properties. This ensures that updates to + this property are always reflected in the underlying storage. When + returning the combined properties there may be more keys in the + Dictionary than expected. - + - Logs a formatted message string with the INFO level. + The fixed fields in this event - A String containing zero or more format items - An Object to format + + The set of fields that are fixed in this event + - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Fields will not be fixed if they have previously been fixed. + It is not possible to 'unfix' a field. - + - Logs a formatted message string with the INFO level. + Serializes this object into the provided. - A String containing zero or more format items - An Object to format - An Object to format + The to populate with data. + The destination for this serialization. - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. + The data in this event must be fixed before it can be serialized. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + The method must be called during the + method call if this event + is to be used outside that method. - + - Logs a formatted message string with the INFO level. + Gets the portable data for this . - A String containing zero or more format items - An Object to format - An Object to format - An Object to format + The for this event. - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. + A new can be constructed using a + instance. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Does a fix of the data + in the logging event before returning the event data. - + - Logs a formatted message string with the INFO level. + Gets the portable data for this . - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format + The set of data to ensure is fixed in the LoggingEventData + The for this event. - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. + A new can be constructed using a + instance. + + + + + Returns this event's exception's rendered using the + . + + + This event's exception's rendered using the . + + - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Obsolete. Use instead. - + - Logs a message object with the WARN level. + Returns this event's exception's rendered using the + . - the message object to log + + This event's exception's rendered using the . + - This method first checks if this logger is WARN - enabled by comparing the level of this logger with the - WARN level. If this logger is - WARN enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. + Returns this event's exception's rendered using the + . - + - Logs a message object with the WARN level + Fix instance fields that hold volatile data. - The message object to log. - The exception to log, including its stack trace. - Logs a message object with the WARN level including - the stack trace of the - passed as a parameter. + Some of the values in instances of + are considered volatile, that is the values are correct at the + time the event is delivered to appenders, but will not be consistent + at any time afterwards. If an event is to be stored and then processed + at a later time these volatile values must be fixed by calling + . There is a performance penalty + incurred by calling but it + is essential to maintaining data consistency. - See the form for more detailed information. + Calling is equivalent to + calling passing the parameter + false. + + + See for more + information. - - + - Logs a formatted message string with the WARN level. + Fixes instance fields that hold volatile data. - A String containing zero or more format items - An Object array containing zero or more objects to format + Set to true to not fix data that takes a long time to fix. - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. + Some of the values in instances of + are considered volatile, that is the values are correct at the + time the event is delivered to appenders, but will not be consistent + at any time afterwards. If an event is to be stored and then processed + at a later time these volatile values must be fixed by calling + . There is a performance penalty + for incurred by calling but it + is essential to maintaining data consistency. - The string is formatted using the - format provider. To specify a localized provider use the - method. + The param controls the data that + is fixed. Some of the data that can be fixed takes a long time to + generate, therefore if you do not require those settings to be fixed + they can be ignored by setting the param + to true. This setting will ignore the + and settings. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Set to false to ensure that all + settings are fixed. - + - Logs a formatted message string with the WARN level. + Fix the fields specified by the parameter - A String containing zero or more format items - An Object to format + the fields to fix - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + Only fields specified in the will be fixed. + Fields will not be fixed if they have previously been fixed. + It is not possible to 'unfix' a field. - + - Logs a formatted message string with the WARN level. + Lookup a composite property in this event - A String containing zero or more format items - An Object to format - An Object to format + the key for the property to lookup + the value for the property - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + This event has composite properties that combine together properties from + several different contexts in the following order: + + + this events properties + + This event has that can be set. These + properties are specific to this event only. + + + + the thread properties + + The that are set on the current + thread. These properties are shared by all events logged on this thread. + + + + the global properties + + The that are set globally. These + properties are shared by all the threads in the AppDomain. + + + - + - Logs a formatted message string with the WARN level. + Get all the composite properties in this event - A String containing zero or more format items - An Object to format - An Object to format - An Object to format + the containing all the properties - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - The string is formatted using the - format provider. To specify a localized provider use the - method. + See for details of the composite properties + stored by the event. - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. + This method returns a single containing all the + properties defined for this event. - + - Logs a formatted message string with the WARN level. + The internal logging event data. + + + + + The internal logging event data. + + + + + The internal logging event data. + + + + + The fully qualified Type of the calling + logger class in the stack frame (i.e. the declaring type of the method). + + + + + The application supplied message of logging event. + + + + + The exception that was thrown. - An that supplies culture-specific formatting information - A String containing zero or more format items - An Object array containing zero or more objects to format - - The message is formatted using the method. See - String.Format for details of the syntax of the format string and the behavior - of the formatting. - - - This method does not take an object to include in the - log event. To pass an use one of the - methods instead. - + This is not serialized. The string representation + is serialized instead. - + - Logs a message object with the ERROR level. + The repository that generated the logging event - The message object to log. - - This method first checks if this logger is ERROR - enabled by comparing the level of this logger with the - ERROR level. If this logger is - ERROR enabled, then it converts the message object - (passed as parameter) to a string by invoking the appropriate - . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. - - - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. - + This is not serialized. - + - Logs a message object with the ERROR level + The fix state for this event - The message object to log. - The exception to log, including its stack trace. - - Logs a message object with the ERROR level including - the stack trace of the - passed as a parameter. - - - See the form for more detailed information. - + These flags indicate which fields have been fixed. + Not serialized. - - + - Logs a formatted message string with the ERROR level. + Indicated that the internal cache is updateable (ie not fixed) - A String containing zero or more format items + + This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler + changes in the caching strategy. + + + + + The key into the Properties map for the host name value. + + + + + The key into the Properties map for the thread identity value. + + + + + The key into the Properties map for the user name value. + + + + + Implementation of wrapper interface. + + + + This implementation of the interface + forwards to the held by the base class. + + + This logger has methods to allow the caller to log at the following + levels: + + + + DEBUG + + The and methods log messages + at the DEBUG level. That is the level with that name defined in the + repositories . The default value + for this level is . The + property tests if this level is enabled for logging. + + + + INFO + + The and methods log messages + at the INFO level. That is the level with that name defined in the + repositories . The default value + for this level is . The + property tests if this level is enabled for logging. + + + + WARN + + The and methods log messages + at the WARN level. That is the level with that name defined in the + repositories . The default value + for this level is . The + property tests if this level is enabled for logging. + + + + ERROR + + The and methods log messages + at the ERROR level. That is the level with that name defined in the + repositories . The default value + for this level is . The + property tests if this level is enabled for logging. + + + + FATAL + + The and methods log messages + at the FATAL level. That is the level with that name defined in the + repositories . The default value + for this level is . The + property tests if this level is enabled for logging. + + + + + The values for these levels and their semantic meanings can be changed by + configuring the for the repository. + + + Nicko Cadell + Gert Driesen + + + + Construct a new wrapper for the specified logger. + + The logger to wrap. + + + Construct a new wrapper for the specified logger. + + + + + + Virtual method called when the configuration of the repository changes + + the repository holding the levels + + + Virtual method called when the configuration of the repository changes + + + + + + Logs a message object with the DEBUG level. + + The message object to log. + + + This method first checks if this logger is DEBUG + enabled by comparing the level of this logger with the + DEBUG level. If this logger is + DEBUG enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of the + additivity flag. + + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + + + + + Logs a message object with the DEBUG level + + The message object to log. + The exception to log, including its stack trace. + + + Logs a message object with the DEBUG level including + the stack trace of the passed + as a parameter. + + + See the form for more detailed information. + + + + + + + Logs a formatted message string with the DEBUG level. + + A String containing zero or more format items An Object array containing zero or more objects to format @@ -15368,18 +13881,18 @@ The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a formatted message string with the ERROR level. + Logs a formatted message string with the DEBUG level. A String containing zero or more format items An Object to format @@ -15392,18 +13905,18 @@ The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a formatted message string with the ERROR level. + Logs a formatted message string with the DEBUG level. A String containing zero or more format items An Object to format @@ -15417,18 +13930,18 @@ The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a formatted message string with the ERROR level. + Logs a formatted message string with the DEBUG level. A String containing zero or more format items An Object to format @@ -15443,18 +13956,18 @@ The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a formatted message string with the ERROR level. + Logs a formatted message string with the DEBUG level. An that supplies culture-specific formatting information A String containing zero or more format items @@ -15467,57 +13980,57 @@ This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a message object with the FATAL level. + Logs a message object with the INFO level. The message object to log. - This method first checks if this logger is FATAL + This method first checks if this logger is INFO enabled by comparing the level of this logger with the - FATAL level. If this logger is - FATAL enabled, then it converts the message object + INFO level. If this logger is + INFO enabled, then it converts the message object (passed as parameter) to a string by invoking the appropriate . It then - proceeds to call all the registered appenders in this logger and - also higher in the hierarchy depending on the value of the - additivity flag. + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. - WARNING Note that passing an to this - method will print the name of the but no - stack trace. To print a stack trace use the - form instead. + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. - + - Logs a message object with the FATAL level + Logs a message object with the INFO level. The message object to log. The exception to log, including its stack trace. - Logs a message object with the FATAL level including + Logs a message object with the INFO level including the stack trace of the passed as a parameter. - See the form for more detailed information. + See the form for more detailed information. - + - + - Logs a formatted message string with the FATAL level. + Logs a formatted message string with the INFO level. A String containing zero or more format items An Object array containing zero or more objects to format @@ -15530,18 +14043,18 @@ The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a formatted message string with the FATAL level. + Logs a formatted message string with the INFO level. A String containing zero or more format items An Object to format @@ -15554,18 +14067,18 @@ The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a formatted message string with the FATAL level. + Logs a formatted message string with the INFO level. A String containing zero or more format items An Object to format @@ -15579,18 +14092,18 @@ The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a formatted message string with the FATAL level. + Logs a formatted message string with the INFO level. A String containing zero or more format items An Object to format @@ -15605,18 +14118,18 @@ The string is formatted using the format provider. To specify a localized provider use the - method. + method. This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - + - Logs a formatted message string with the FATAL level. + Logs a formatted message string with the INFO level. An that supplies culture-specific formatting information A String containing zero or more format items @@ -15629,1099 +14142,1397 @@ This method does not take an object to include in the - log event. To pass an use one of the + log event. To pass an use one of the methods instead. - - - Event handler for the event - - the repository - Empty - - + - The fully qualified name of this declaring type not the type of any subclass. + Logs a message object with the WARN level. + the message object to log + + + This method first checks if this logger is WARN + enabled by comparing the level of this logger with the + WARN level. If this logger is + WARN enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger and + also higher in the hierarchy depending on the value of the + additivity flag. + + + WARNING Note that passing an to this + method will print the name of the but no + stack trace. To print a stack trace use the + form instead. + + - + - Checks if this logger is enabled for the DEBUG - level. + Logs a message object with the WARN level - - true if this logger is enabled for DEBUG events, - false otherwise. - + The message object to log. + The exception to log, including its stack trace. - This function is intended to lessen the computational cost of - disabled log debug statements. + Logs a message object with the WARN level including + the stack trace of the + passed as a parameter. - For some log Logger object, when you write: + See the form for more detailed information. - - log.Debug("This is entry number: " + i ); - + + + + + + Logs a formatted message string with the WARN level. + + A String containing zero or more format items + An Object array containing zero or more objects to format + - You incur the cost constructing the message, concatenation in - this case, regardless of whether the message is logged or not. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. - If you are worried about speed, then you should write: + The string is formatted using the + format provider. To specify a localized provider use the + method. - - if (log.IsDebugEnabled()) - { - log.Debug("This is entry number: " + i ); - } - - This way you will not incur the cost of parameter - construction if debugging is disabled for log. On - the other hand, if the log is debug enabled, you - will incur the cost of evaluating whether the logger is debug - enabled twice. Once in IsDebugEnabled and once in - the Debug. This is an insignificant overhead - since evaluating a logger takes about 1% of the time it - takes to actually log. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - + - Checks if this logger is enabled for the INFO level. + Logs a formatted message string with the WARN level. - - true if this logger is enabled for INFO events, - false otherwise. - + A String containing zero or more format items + An Object to format - See for more information and examples - of using this method. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - - + - Checks if this logger is enabled for the WARN level. + Logs a formatted message string with the WARN level. - - true if this logger is enabled for WARN events, - false otherwise. - + A String containing zero or more format items + An Object to format + An Object to format - See for more information and examples - of using this method. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - - + - Checks if this logger is enabled for the ERROR level. + Logs a formatted message string with the WARN level. - - true if this logger is enabled for ERROR events, - false otherwise. - + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - See for more information and examples of using this method. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - - + - Checks if this logger is enabled for the FATAL level. + Logs a formatted message string with the WARN level. - - true if this logger is enabled for FATAL events, - false otherwise. - + An that supplies culture-specific formatting information + A String containing zero or more format items + An Object array containing zero or more objects to format - See for more information and examples of using this method. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - - - - - provides method information without actually referencing a System.Reflection.MethodBase - as that would require that the containing assembly is loaded. - - - + - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. + Logs a message object with the ERROR level. + The message object to log. + + + This method first checks if this logger is ERROR + enabled by comparing the level of this logger with the + ERROR level. If this logger is + ERROR enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger and + also higher in the hierarchy depending on the value of the + additivity flag. + + + WARNING Note that passing an to this + method will print the name of the but no + stack trace. To print a stack trace use the + form instead. + + - + - constructs a method item for an unknown method. + Logs a message object with the ERROR level + The message object to log. + The exception to log, including its stack trace. + + + Logs a message object with the ERROR level including + the stack trace of the + passed as a parameter. + + + See the form for more detailed information. + + + - + - constructs a method item from the name of the method. - - - - - - constructs a method item from the name of the method and its parameters. - - - - - - - constructs a method item from a method base by determining the method name and its parameters. - - - - - - The fully qualified type of the StackFrameItem class. + Logs a formatted message string with the ERROR level. + A String containing zero or more format items + An Object array containing zero or more objects to format - Used by the internal logger to record the Type of the - log message. + + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + - + - Gets the method name of the caller making the logging - request. + Logs a formatted message string with the ERROR level. - - The method name of the caller making the logging - request. - + A String containing zero or more format items + An Object to format - Gets the method name of the caller making the logging - request. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - + - Gets the method parameters of the caller making - the logging request. + Logs a formatted message string with the ERROR level. - - The method parameters of the caller making - the logging request - + A String containing zero or more format items + An Object to format + An Object to format - Gets the method parameters of the caller making - the logging request. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - + - A SecurityContext used by log4net when interacting with protected resources + Logs a formatted message string with the ERROR level. + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - A SecurityContext used by log4net when interacting with protected resources - for example with operating system services. This can be used to impersonate - a principal that has been granted privileges on the system resources. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Nicko Cadell - + - Impersonate this SecurityContext + Logs a formatted message string with the ERROR level. - State supplied by the caller - An instance that will - revoke the impersonation of this SecurityContext, or null + An that supplies culture-specific formatting information + A String containing zero or more format items + An Object array containing zero or more objects to format - Impersonate this security context. Further calls on the current - thread should now be made in the security context provided - by this object. When the result - method is called the security - context of the thread should be reverted to the state it was in - before was called. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - + - The providers default instances. + Logs a message object with the FATAL level. + The message object to log. - A configured component that interacts with potentially protected system - resources uses a to provide the elevated - privileges required. If the object has - been not been explicitly provided to the component then the component - will request one from this . - - - By default the is - an instance of which returns only - objects. This is a reasonable default - where the privileges required are not know by the system. - - - This default behavior can be overridden by subclassing the - and overriding the method to return - the desired objects. The default provider - can be replaced by programmatically setting the value of the - property. + This method first checks if this logger is FATAL + enabled by comparing the level of this logger with the + FATAL level. If this logger is + FATAL enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger and + also higher in the hierarchy depending on the value of the + additivity flag. - An alternative is to use the log4net.Config.SecurityContextProviderAttribute - This attribute can be applied to an assembly in the same way as the - log4net.Config.XmlConfiguratorAttribute". The attribute takes - the type to use as the as an argument. + WARNING Note that passing an to this + method will print the name of the but no + stack trace. To print a stack trace use the + form instead. - Nicko Cadell - - - - The default provider - - + - Protected default constructor to allow subclassing + Logs a message object with the FATAL level + The message object to log. + The exception to log, including its stack trace. - Protected default constructor to allow subclassing + Logs a message object with the FATAL level including + the stack trace of the + passed as a parameter. + + + See the form for more detailed information. + - + - Create a SecurityContext for a consumer + Logs a formatted message string with the FATAL level. - The consumer requesting the SecurityContext - An impersonation context + A String containing zero or more format items + An Object array containing zero or more objects to format - The default implementation is to return a . + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. - Subclasses should override this method to provide their own - behavior. + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - + - Gets or sets the default SecurityContextProvider + Logs a formatted message string with the FATAL level. - - The default SecurityContextProvider - + A String containing zero or more format items + An Object to format - The default provider is used by configured components that - require a and have not had one - given to them. + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. - By default this is an instance of - that returns objects. + The string is formatted using the + format provider. To specify a localized provider use the + method. - The default provider can be set programmatically by setting - the value of this property to a sub class of - that has the desired behavior. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - + - provides stack frame information without actually referencing a System.Diagnostics.StackFrame - as that would require that the containing assembly is loaded. - - - - - - When location information is not available the constant - NA is returned. Current value of this string - constant is ?. + Logs a formatted message string with the FATAL level. + A String containing zero or more format items + An Object to format + An Object to format + + + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - returns a stack frame item from a stack frame. This + Logs a formatted message string with the FATAL level. - - + A String containing zero or more format items + An Object to format + An Object to format + An Object to format + + + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + The string is formatted using the + format provider. To specify a localized provider use the + method. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - The fully qualified type of the StackFrameItem class. + Logs a formatted message string with the FATAL level. + An that supplies culture-specific formatting information + A String containing zero or more format items + An Object array containing zero or more objects to format - Used by the internal logger to record the Type of the - log message. + + The message is formatted using the method. See + String.Format for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + - + - Gets the fully qualified class name of the caller making the logging - request. + Checks if this logger is enabled for the DEBUG + level. - The fully qualified class name of the caller making the logging - request. + true if this logger is enabled for DEBUG events, + false otherwise. - Gets the fully qualified class name of the caller making the logging - request. + This function is intended to lessen the computational cost of + disabled log debug statements. + + + For some log Logger object, when you write: + + + log.Debug("This is entry number: " + i ); + + + You incur the cost constructing the message, concatenation in + this case, regardless of whether the message is logged or not. + + + If you are worried about speed, then you should write: + + + if (log.IsDebugEnabled()) + { + log.Debug("This is entry number: " + i ); + } + + + This way you will not incur the cost of parameter + construction if debugging is disabled for log. On + the other hand, if the log is debug enabled, you + will incur the cost of evaluating whether the logger is debug + enabled twice. Once in IsDebugEnabled and once in + the Debug. This is an insignificant overhead + since evaluating a logger takes about 1% of the time it + takes to actually log. - + - Gets the file name of the caller. + Checks if this logger is enabled for the INFO level. - The file name of the caller. + true if this logger is enabled for INFO events, + false otherwise. - Gets the file name of the caller. + See for more information and examples + of using this method. + - + - Gets the line number of the caller. + Checks if this logger is enabled for the WARN level. - The line number of the caller. + true if this logger is enabled for WARN events, + false otherwise. - Gets the line number of the caller. + See for more information and examples + of using this method. + - + - Gets the method name of the caller. + Checks if this logger is enabled for the ERROR level. - The method name of the caller. + true if this logger is enabled for ERROR events, + false otherwise. - Gets the method name of the caller. + See for more information and examples of using this method. + - + - Gets all available caller information + Checks if this logger is enabled for the FATAL level. - All available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) + true if this logger is enabled for FATAL events, + false otherwise. - Gets all available caller information, in the format - fully.qualified.classname.of.caller.methodName(Filename:line) + See for more information and examples of using this method. + - + - An evaluator that triggers after specified number of seconds. + Event handler for the event - - - This evaluator will trigger if the specified time period - has passed since last check. - - - Robert Sevcik + the repository + Empty - + - The default time threshold for triggering in seconds. Zero means it won't trigger at all. + The fully qualified name of this declaring type not the type of any subclass. - + - The time threshold for triggering in seconds. Zero means it won't trigger at all. + provides method information without actually referencing a System.Reflection.MethodBase + as that would require that the containing assembly is loaded. + - + - The UTC time of last check. This gets updated when the object is created and when the evaluator triggers. + constructs a method item for an unknown method. - + - Create a new evaluator using the time threshold in seconds. + constructs a method item from the name of the method. - - - Create a new evaluator using the time threshold in seconds. - - - This evaluator will trigger if the specified time period - has passed since last check. - - + - + - Create a new evaluator using the specified time threshold in seconds. + constructs a method item from the name of the method and its parameters. - - The time threshold in seconds to trigger after. - Zero means it won't trigger at all. - - - - Create a new evaluator using the specified time threshold in seconds. - - - This evaluator will trigger if the specified time period - has passed since last check. - - + + - + - Is this the triggering event? + constructs a method item from a method base by determining the method name and its parameters. - The event to check - This method returns true, if the specified time period - has passed since last check.. - Otherwise it returns false + + + + + Gets the method name of the caller making the logging + request. + + + The method name of the caller making the logging + request. + - This evaluator will trigger if the specified time period - has passed since last check. + Gets the method name of the caller making the logging + request. - + - The time threshold in seconds to trigger after + Gets the method parameters of the caller making + the logging request. - The time threshold in seconds to trigger after. - Zero means it won't trigger at all. + The method parameters of the caller making + the logging request - This evaluator will trigger if the specified time period - has passed since last check. + Gets the method parameters of the caller making + the logging request. - + - Delegate used to handle creation of new wrappers. + The fully qualified type of the StackFrameItem class. - The logger to wrap in a wrapper. - - Delegate used to handle creation of new wrappers. This delegate - is called from the - method to construct the wrapper for the specified logger. - - - The delegate to use is supplied to the - constructor. - + Used by the internal logger to record the Type of the + log message. - + - Maps between logger objects and wrapper objects. + When location information is not available the constant + NA is returned. Current value of this string + constant is ?. + + + + + A SecurityContext used by log4net when interacting with protected resources - This class maintains a mapping between objects and - objects. Use the method to - lookup the for the specified . - - - New wrapper instances are created by the - method. The default behavior is for this method to delegate construction - of the wrapper to the delegate supplied - to the constructor. This allows specialization of the behavior without - requiring subclassing of this type. + A SecurityContext used by log4net when interacting with protected resources + for example with operating system services. This can be used to impersonate + a principal that has been granted privileges on the system resources. Nicko Cadell - Gert Driesen - + - Initializes a new instance of the + Impersonate this SecurityContext - The handler to use to create the wrapper objects. + State supplied by the caller + An instance that will + revoke the impersonation of this SecurityContext, or null - Initializes a new instance of the class with - the specified handler to create the wrapper objects. + Impersonate this security context. Further calls on the current + thread should now be made in the security context provided + by this object. When the result + method is called the security + context of the thread should be reverted to the state it was in + before was called. - + - Gets the wrapper object for the specified logger. + The providers default instances. - The wrapper object for the specified logger - If the logger is null then the corresponding wrapper is null. + A configured component that interacts with potentially protected system + resources uses a to provide the elevated + privileges required. If the object has + been not been explicitly provided to the component then the component + will request one from this . - Looks up the wrapper it it has previously been requested and - returns it. If the wrapper has never been requested before then - the virtual method is - called. + By default the is + an instance of which returns only + objects. This is a reasonable default + where the privileges required are not know by the system. + + + This default behavior can be overridden by subclassing the + and overriding the method to return + the desired objects. The default provider + can be replaced by programmatically setting the value of the + property. + + + An alternative is to use the log4net.Config.SecurityContextProviderAttribute + This attribute can be applied to an assembly in the same way as the + log4net.Config.XmlConfiguratorAttribute". The attribute takes + the type to use as the as an argument. + Nicko Cadell - + - Creates the wrapper object for the specified logger. + The default provider - The logger to wrap in a wrapper. - The wrapper object for the logger. + + + + Gets or sets the default SecurityContextProvider + + + The default SecurityContextProvider + - This implementation uses the - passed to the constructor to create the wrapper. This method - can be overridden in a subclass. + The default provider is used by configured components that + require a and have not had one + given to them. + + + By default this is an instance of + that returns objects. + + + The default provider can be set programmatically by setting + the value of this property to a sub class of + that has the desired behavior. - + - Called when a monitored repository shutdown event is received. + Protected default constructor to allow subclassing - The that is shutting down - This method is called when a that this - is holding loggers for has signaled its shutdown - event . The default - behavior of this method is to release the references to the loggers - and their wrappers generated for this repository. + Protected default constructor to allow subclassing - - - Event handler for repository shutdown event. - - The sender of the event. - The event args. - - + - Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings + Create a SecurityContext for a consumer + The consumer requesting the SecurityContext + An impersonation context + + + The default implementation is to return a . + + + Subclasses should override this method to provide their own + behavior. + + - + - The handler to use to create the extension wrapper objects. + provides stack frame information without actually referencing a System.Diagnostics.StackFrame + as that would require that the containing assembly is loaded. + - + - Internal reference to the delegate used to register for repository shutdown events. + returns a stack frame item from a stack frame. This + + - + - Gets the map of logger repositories. + Gets the fully qualified class name of the caller making the logging + request. - Map of logger repositories. + The fully qualified class name of the caller making the logging + request. - Gets the hashtable that is keyed on . The - values are hashtables keyed on with the - value being the corresponding . + Gets the fully qualified class name of the caller making the logging + request. - + - Formats a as "HH:mm:ss,fff". + Gets the file name of the caller. + + The file name of the caller. + - Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". + Gets the file name of the caller. - Nicko Cadell - Gert Driesen - + - Render a as a string. + Gets the line number of the caller. + + The line number of the caller. + - Interface to abstract the rendering of a - instance into a string. - - - The method is used to render the - date to a text writer. + Gets the line number of the caller. - Nicko Cadell - Gert Driesen - + - Formats the specified date as a string. + Gets the method name of the caller. - The date to format. - The writer to write to. + + The method name of the caller. + - Format the as a string and write it - to the provided. + Gets the method name of the caller. - + - String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. + Gets all available caller information + + All available caller information, in the format + fully.qualified.classname.of.caller.methodName(Filename:line) + + + + Gets all available caller information, in the format + fully.qualified.classname.of.caller.methodName(Filename:line) + + - + - String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. + The fully qualified type of the StackFrameItem class. + + Used by the internal logger to record the Type of the + log message. + - + - String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. + When location information is not available the constant + NA is returned. Current value of this string + constant is ?. - + - Renders the date into a string. Format is "HH:mm:ss". + An evaluator that triggers after specified number of seconds. - The date to render into a string. - The string builder to write to. - Subclasses should override this method to render the date - into a string using a precision up to the second. This method - will be called at most once per second and the result will be - reused if it is needed again during the same second. + This evaluator will trigger if the specified time period + has passed since last check. + Robert Sevcik - + - Renders the date into a string. Format is "HH:mm:ss,fff". - - The date to render into a string. - The writer to write to. - - - Uses the method to generate the - time string up to the seconds and then appends the current - milliseconds. The results from are - cached and is called at most once - per second. - - - Sub classes should override - rather than . - - - - - - Last stored time with precision up to the second. + The time threshold for triggering in seconds. Zero means it won't trigger at all. - + - Last stored time with precision up to the second, formatted - as a string. + The UTC time of last check. This gets updated when the object is created and when the evaluator triggers. - + - Last stored time with precision up to the second, formatted - as a string. + The default time threshold for triggering in seconds. Zero means it won't trigger at all. - + - Formats a as "dd MMM yyyy HH:mm:ss,fff" + Create a new evaluator using the time threshold in seconds. - Formats a in the format - "dd MMM yyyy HH:mm:ss,fff" for example, - "06 Nov 1994 15:49:37,459". + Create a new evaluator using the time threshold in seconds. - - Nicko Cadell - Gert Driesen - Angelika Schnagl - - - - Default constructor. - - - Initializes a new instance of the class. + This evaluator will trigger if the specified time period + has passed since last check. - + - Formats the date without the milliseconds part + Create a new evaluator using the specified time threshold in seconds. - The date to format. - The string builder to write to. + + The time threshold in seconds to trigger after. + Zero means it won't trigger at all. + - Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" - for example, "06 Nov 1994 15:49:37". + Create a new evaluator using the specified time threshold in seconds. - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. + This evaluator will trigger if the specified time period + has passed since last check. - + - The format info for the invariant culture. + The time threshold in seconds to trigger after + + The time threshold in seconds to trigger after. + Zero means it won't trigger at all. + + + + This evaluator will trigger if the specified time period + has passed since last check. + + - + - Formats the as "yyyy-MM-dd HH:mm:ss,fff". + Is this the triggering event? + The event to check + This method returns true, if the specified time period + has passed since last check.. + Otherwise it returns false - Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". + This evaluator will trigger if the specified time period + has passed since last check. - Nicko Cadell - Gert Driesen - + - Default constructor + Delegate used to handle creation of new wrappers. + The logger to wrap in a wrapper. - Initializes a new instance of the class. + Delegate used to handle creation of new wrappers. This delegate + is called from the + method to construct the wrapper for the specified logger. + + + The delegate to use is supplied to the + constructor. - + - Formats the date without the milliseconds part + Maps between logger objects and wrapper objects. - The date to format. - The string builder to write to. - Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". + This class maintains a mapping between objects and + objects. Use the method to + lookup the for the specified . - The base class will append the ",fff" milliseconds section. - This method will only be called at most once per second. + New wrapper instances are created by the + method. The default behavior is for this method to delegate construction + of the wrapper to the delegate supplied + to the constructor. This allows specialization of the behavior without + requiring subclassing of this type. + Nicko Cadell + Gert Driesen - + - Formats the using the method. + Initializes a new instance of the + The handler to use to create the wrapper objects. - Formats the using the method. + Initializes a new instance of the class with + the specified handler to create the wrapper objects. - Nicko Cadell - Gert Driesen - + - Constructor + Gets the wrapper object for the specified logger. - The format string. + The wrapper object for the specified logger - Initializes a new instance of the class - with the specified format string. + If the logger is null then the corresponding wrapper is null. - The format string must be compatible with the options - that can be supplied to . + Looks up the wrapper it it has previously been requested and + returns it. If the wrapper has never been requested before then + the virtual method is + called. - + - Formats the date using . + Gets the map of logger repositories. - The date to convert to a string. - The writer to write to. + + Map of logger repositories. + - Uses the date format string supplied to the constructor to call - the method to format the date. + Gets the hashtable that is keyed on . The + values are hashtables keyed on with the + value being the corresponding . - + - The format string used to format the . + Creates the wrapper object for the specified logger. + The logger to wrap in a wrapper. + The wrapper object for the logger. - The format string must be compatible with the options - that can be supplied to . + This implementation uses the + passed to the constructor to create the wrapper. This method + can be overridden in a subclass. - + - This filter drops all . + Called when a monitored repository shutdown event is received. + The that is shutting down - You can add this filter to the end of a filter chain to - switch from the default "accept all unless instructed otherwise" - filtering behavior to a "deny all unless instructed otherwise" - behavior. + This method is called when a that this + is holding loggers for has signaled its shutdown + event . The default + behavior of this method is to release the references to the loggers + and their wrappers generated for this repository. - Nicko Cadell - Gert Driesen - + - Subclass this type to implement customized logging event filtering + Event handler for repository shutdown event. + + The sender of the event. + The event args. + + + + Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings + + + + + The handler to use to create the extension wrapper objects. + + + + + Internal reference to the delegate used to register for repository shutdown events. + + + + + Formats a as "HH:mm:ss,fff". - Users should extend this class to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. - - - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. - - - The method must return one - of the integer constants , - or . - - - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. - - - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. - - - If the value is returned, then the log - event is logged without consulting the remaining filters. - - - The philosophy of log4net filters is largely inspired from the - Linux ipchains. + Formats a in the format "HH:mm:ss,fff" for example, "15:49:37,459". Nicko Cadell Gert Driesen - + - Implement this interface to provide customized logging event filtering + Renders the date into a string. Format is "HH:mm:ss". + The date to render into a string. + The string builder to write to. - Users should implement this interface to implement customized logging - event filtering. Note that and - , the parent class of all standard - appenders, have built-in filtering rules. It is suggested that you - first use and understand the built-in rules before rushing to write - your own custom filters. + Subclasses should override this method to render the date + into a string using a precision up to the second. This method + will be called at most once per second and the result will be + reused if it is needed again during the same second. + + + + + Renders the date into a string. Format is "HH:mm:ss,fff". + + The date to render into a string. + The writer to write to. + - This abstract class assumes and also imposes that filters be - organized in a linear chain. The - method of each filter is called sequentially, in the order of their - addition to the chain. + Uses the method to generate the + time string up to the seconds and then appends the current + milliseconds. The results from are + cached and is called at most once + per second. - The method must return one - of the integer constants , - or . + Sub classes should override + rather than . + + + + + + String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is ABSOLUTE. + + + + + String constant used to specify DateTimeDateFormat in layouts. Current value is DATE. + + + + + String constant used to specify ISO8601DateFormat in layouts. Current value is ISO8601. + + + + + Last stored time with precision up to the second. + + + + + Last stored time with precision up to the second, formatted + as a string. + + + + + Last stored time with precision up to the second, formatted + as a string. + + + + + Formats a as "dd MMM yyyy HH:mm:ss,fff" + + + + Formats a in the format + "dd MMM yyyy HH:mm:ss,fff" for example, + "06 Nov 1994 15:49:37,459". + + Nicko Cadell + Gert Driesen + Angelika Schnagl + + + + Default constructor. + + - If the value is returned, then the log event is dropped - immediately without consulting with the remaining filters. + Initializes a new instance of the class. + + + + + + Formats the date without the milliseconds part + + The date to format. + The string builder to write to. + + + Formats a DateTime in the format "dd MMM yyyy HH:mm:ss" + for example, "06 Nov 1994 15:49:37". - If the value is returned, then the next filter - in the chain is consulted. If there are no more filters in the - chain, then the log event is logged. Thus, in the presence of no - filters, the default behavior is to log all logging events. + The base class will append the ",fff" milliseconds section. + This method will only be called at most once per second. + + + + + The format info for the invariant culture. + + + + + Render a as a string. + + - If the value is returned, then the log - event is logged without consulting the remaining filters. + Interface to abstract the rendering of a + instance into a string. - The philosophy of log4net filters is largely inspired from the - Linux ipchains. + The method is used to render the + date to a text writer. Nicko Cadell Gert Driesen - + - Decide if the logging event should be logged through an appender. + Formats the specified date as a string. - The LoggingEvent to decide upon - The decision of the filter + The date to format. + The writer to write to. - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. + Format the as a string and write it + to the provided. - + - Property to get and set the next filter + Formats the as "yyyy-MM-dd HH:mm:ss,fff". - - The next filter in the chain - - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. + Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". + Nicko Cadell + Gert Driesen - + - Points to the next filter in the filter chain. + Default constructor - See for more information. + Initializes a new instance of the class. - + - Initialize the filter with the options set + Formats the date without the milliseconds part + The date to format. + The string builder to write to. - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. + Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". - If any of the configuration properties are modified then - must be called again. + The base class will append the ",fff" milliseconds section. + This method will only be called at most once per second. + + + + + Formats the using the method. + + - Typically filter's options become active immediately on set, - however this method must still be called. + Formats the using the method. + Nicko Cadell + Gert Driesen - + - Decide if the should be logged through an appender. + Constructor - The to decide upon - The decision of the filter + The format string. - If the decision is , then the event will be - dropped. If the decision is , then the next - filter, if any, will be invoked. If the decision is then - the event will be logged without consulting with other filters in - the chain. + Initializes a new instance of the class + with the specified format string. - This method is marked abstract and must be implemented - in a subclass. + The format string must be compatible with the options + that can be supplied to . - + - Property to get and set the next filter + Formats the date using . - - The next filter in the chain - + The date to convert to a string. + The writer to write to. - Filters are typically composed into chains. This property allows the next filter in - the chain to be accessed. + Uses the date format string supplied to the constructor to call + the method to format the date. + + + + + + The format string used to format the . + + + + The format string must be compatible with the options + that can be supplied to . + + + + + + This filter drops all . + + + + You can add this filter to the end of a filter chain to + switch from the default "accept all unless instructed otherwise" + filtering behavior to a "deny all unless instructed otherwise" + behavior. + Nicko Cadell + Gert Driesen @@ -16772,56 +15583,227 @@ consulting with the remaining filters, if any, in the chain. - + - This is a very simple filter based on matching. + Subclass this type to implement customized logging event filtering - The filter admits two options and - . If there is an exact match between the value - of the option and the of the - , then the method returns in - case the option value is set - to true, if it is false then - is returned. If the does not match then - the result will be . - + Users should extend this class to implement customized logging + event filtering. Note that and + , the parent class of all standard + appenders, have built-in filtering rules. It is suggested that you + first use and understand the built-in rules before rushing to write + your own custom filters. + + + This abstract class assumes and also imposes that filters be + organized in a linear chain. The + method of each filter is called sequentially, in the order of their + addition to the chain. + + + The method must return one + of the integer constants , + or . + + + If the value is returned, then the log event is dropped + immediately without consulting with the remaining filters. + + + If the value is returned, then the next filter + in the chain is consulted. If there are no more filters in the + chain, then the log event is logged. Thus, in the presence of no + filters, the default behavior is to log all logging events. + + + If the value is returned, then the log + event is logged without consulting the remaining filters. + + + The philosophy of log4net filters is largely inspired from the + Linux ipchains. + Nicko Cadell Gert Driesen - + - flag to indicate if the filter should on a match + Points to the next filter in the filter chain. + + + See for more information. + + - + - the to match against + Initialize the filter with the options set + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + Typically filter's options become active immediately on set, + however this method must still be called. + + + + + + Decide if the should be logged through an appender. + The to decide upon + The decision of the filter + + + If the decision is , then the event will be + dropped. If the decision is , then the next + filter, if any, will be invoked. If the decision is then + the event will be logged without consulting with other filters in + the chain. + + + This method is marked abstract and must be implemented + in a subclass. + + - + - Default constructor + Property to get and set the next filter + + The next filter in the chain + + + + Filters are typically composed into chains. This property allows the next filter in + the chain to be accessed. + + - + - Tests if the of the logging event matches that of the filter + Implement this interface to provide customized logging event filtering - the event to filter - see remarks - If the of the event matches the level of the - filter then the result of the function depends on the - value of . If it is true then - the function will return , it it is false then it - will return . If the does not match then + Users should implement this interface to implement customized logging + event filtering. Note that and + , the parent class of all standard + appenders, have built-in filtering rules. It is suggested that you + first use and understand the built-in rules before rushing to write + your own custom filters. + + + This abstract class assumes and also imposes that filters be + organized in a linear chain. The + method of each filter is called sequentially, in the order of their + addition to the chain. + + + The method must return one + of the integer constants , + or . + + + If the value is returned, then the log event is dropped + immediately without consulting with the remaining filters. + + + If the value is returned, then the next filter + in the chain is consulted. If there are no more filters in the + chain, then the log event is logged. Thus, in the presence of no + filters, the default behavior is to log all logging events. + + + If the value is returned, then the log + event is logged without consulting the remaining filters. + + + The philosophy of log4net filters is largely inspired from the + Linux ipchains. + + + Nicko Cadell + Gert Driesen + + + + Decide if the logging event should be logged through an appender. + + The LoggingEvent to decide upon + The decision of the filter + + + If the decision is , then the event will be + dropped. If the decision is , then the next + filter, if any, will be invoked. If the decision is then + the event will be logged without consulting with other filters in + the chain. + + + + + + Property to get and set the next filter + + + The next filter in the chain + + + + Filters are typically composed into chains. This property allows the next filter in + the chain to be accessed. + + + + + + This is a very simple filter based on matching. + + + + The filter admits two options and + . If there is an exact match between the value + of the option and the of the + , then the method returns in + case the option value is set + to true, if it is false then + is returned. If the does not match then the result will be . + Nicko Cadell + Gert Driesen + + + + flag to indicate if the filter should on a match + + + + + the to match against + + + + + Default constructor + @@ -16851,6 +15833,23 @@ + + + Tests if the of the logging event matches that of the filter + + the event to filter + see remarks + + + If the of the event matches the level of the + filter then the result of the function depends on the + value of . If it is true then + the function will return , it it is false then it + will return . If the does not match then + the result will be . + + + This is a simple filter based on matching. @@ -16889,23 +15888,6 @@ Default constructor - - - Check if the event should be logged. - - the logging event to check - see remarks - - - If the of the logging event is outside the range - matched by this filter then - is returned. If the is matched then the value of - is checked. If it is true then - is returned, otherwise - is returned. - - - when matching and @@ -16946,18 +15928,35 @@ - + - Simple filter to match a string in the event's logger name. + Check if the event should be logged. + the logging event to check + see remarks - The works very similar to the . It admits two - options and . If the - of the starts - with the value of the option, then the - method returns in - case the option value is set to true, + If the of the logging event is outside the range + matched by this filter then + is returned. If the is matched then the value of + is checked. If it is true then + is returned, otherwise + is returned. + + + + + + Simple filter to match a string in the event's logger name. + + + + The works very similar to the . It admits two + options and . If the + of the starts + with the value of the option, then the + method returns in + case the option value is set to true, if it is false then is returned. @@ -16978,26 +15977,6 @@ Default constructor - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the equals the beginning of - the incoming () - then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - when matching @@ -17028,6 +16007,26 @@ + + + Check if this filter should allow the event to be logged + + the event being logged + see remarks + + + The rendered message is matched against the . + If the equals the beginning of + the incoming () + then a match will have occurred. If no match occurs + this function will return + allowing other filters to check the event. If a match occurs then + the value of is checked. If it is + true then is returned otherwise + is returned. + + + Simple filter to match a keyed string in the @@ -17044,6 +16043,33 @@ Nicko Cadell Gert Driesen + + + Simple filter to match a string in the + + + + Simple filter to match a string in the + + + As the MDC has been replaced with named stacks stored in the + properties collections the should + be used instead. + + + Nicko Cadell + Gert Driesen + + + + Default constructor + + + + Sets the to "NDC". + + + Simple filter to match a string an event property @@ -17056,6 +16082,48 @@ Nicko Cadell + + + The key to use to lookup the string from the event properties + + + + + Default constructor + + + + + The key to lookup in the event properties and then match against. + + + + The key name to use to lookup in the properties map of the + . The match will be performed against + the value of this property if it exists. + + + + + + Check if this filter should allow the event to be logged + + the event being logged + see remarks + + + The event property for the is matched against + the . + If the occurs as a substring within + the property value then a match will have occurred. If no match occurs + this function will return + allowing other filters to check the event. If a match occurs then + the value of is checked. If it is + true then is returned otherwise + is returned. + + + Simple filter to match a string in the rendered message @@ -17111,25 +16179,6 @@ - - - Check if this filter should allow the event to be logged - - the event being logged - see remarks - - - The rendered message is matched against the . - If the occurs as a substring within - the message then a match will have occurred. If no match occurs - this function will return - allowing other filters to check the event. If a match occurs then - the value of is checked. If it is - true then is returned otherwise - is returned. - - - when matching or @@ -17180,17 +16229,7 @@ - - - The key to use to lookup the string from the event properties - - - - - Default constructor - - - + Check if this filter should allow the event to be logged @@ -17198,10 +16237,9 @@ see remarks - The event property for the is matched against - the . + The rendered message is matched against the . If the occurs as a substring within - the property value then a match will have occurred. If no match occurs + the message then a match will have occurred. If no match occurs this function will return allowing other filters to check the event. If a match occurs then the value of is checked. If it is @@ -17210,1199 +16248,1457 @@ - + - The key to lookup in the event properties and then match against. + The log4net Global Context. - The key name to use to lookup in the properties map of the - . The match will be performed against - the value of this property if it exists. + The GlobalContext provides a location for global debugging + information to be stored. - - - - - Simple filter to match a string in the - - - Simple filter to match a string in the + The global context has a properties map and these properties can + be included in the output of log messages. The + supports selecting and outputing these properties. - As the MDC has been replaced with named stacks stored in the - properties collections the should - be used instead. + By default the log4net:HostName property is set to the name of + the current machine. + + + GlobalContext.Properties["hostname"] = Environment.MachineName; + + + Nicko Cadell - Gert Driesen - + - Default constructor + Private Constructor. - - Sets the to "NDC". - + Uses a private access modifier to prevent instantiation of this class. - + - Write the event appdomain name to the output + The global properties map. + + The global properties map. + - Writes the to the output writer. + The global properties map. - Daniel Cazzulino - Nicko Cadell - + - Abstract class that provides the formatting functionality that - derived classes need. + The global context properties instance - - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. - - Nicko Cadell - + - Abstract class that provides the formatting functionality that - derived classes need. + The ILog interface is use by application to log messages into + the log4net framework. - Conversion specifiers in a conversion patterns are parsed to - individual PatternConverters. Each of which is responsible for - converting a logging event in a converter specific manner. + Use the to obtain logger instances + that implement this interface. The + static method is used to get logger instances. + + + This class contains methods for logging at different levels and also + has properties for determining if those logging levels are + enabled in the current configuration. + + + This interface can be implemented in different ways. This documentation + specifies reasonable behavior that a caller can expect from the actual + implementation, however different implementations reserve the right to + do things differently. - Nicko Cadell - Gert Driesen - - - - Initial buffer size - - - - - Maximum buffer size before it is recycled - + Simple example of logging messages + + ILog log = LogManager.GetLogger("application-log"); + + log.Info("Application Start"); + log.Debug("This is a debug message"); + + if (log.IsDebugEnabled) + { + log.Debug("This is another debug message"); + } + + + + + Nicko Cadell + Gert Driesen - + + Log a message object with the level. - Protected constructor + Log a message object with the level. + The message object to log. - Initializes a new instance of the class. + This method first checks if this logger is DEBUG + enabled by comparing the level of this logger with the + level. If this logger is + DEBUG enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of + the additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + + - + - Evaluate this pattern converter and write the output to a writer. + Log a message object with the level including + the stack trace of the passed + as a parameter. - that will receive the formatted result. - The state object on which the pattern converter should be executed. + The message object to log. + The exception to log, including its stack trace. - Derived pattern converters must override this method in order to - convert conversion specifiers in the appropriate way. + See the form for more detailed information. + + - + + Log a formatted string with the level. - Set the next pattern converter in the chains + Logs a formatted message string with the level. - the pattern converter that should follow this converter in the chain - the next converter + A String containing zero or more format items + An Object array containing zero or more objects to format - The PatternConverter can merge with its neighbor during this method (or a sub class). - Therefore the return value may or may not be the value of the argument passed in. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Write the pattern converter to the writer with appropriate formatting + Logs a formatted message string with the level. - that will receive the formatted result. - The state object on which the pattern converter should be executed. + A String containing zero or more format items + An Object to format - This method calls to allow the subclass to perform - appropriate conversion of the pattern converter. If formatting options have - been specified via the then this method will - apply those formattings before writing the output. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Fast space padding method. + Logs a formatted message string with the level. - to which the spaces will be appended. - The number of spaces to be padded. + A String containing zero or more format items + An Object to format + An Object to format - Fast space padding method. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - - - The option string to the converter - - - + - Write an dictionary to a + Logs a formatted message string with the level. - the writer to write to - a to use for object conversion - the value to write to the writer + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - Writes the to a writer in the form: + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - - {key1=value1, key2=value2, key3=value3} - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Write an dictionary to a + Logs a formatted message string with the level. - the writer to write to - a to use for object conversion - the value to write to the writer + An that supplies culture-specific formatting information + A String containing zero or more format items + An Object array containing zero or more objects to format - Writes the to a writer in the form: + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - - {key1=value1, key2=value2, key3=value3} - - If the specified - is not null then it is used to render the key and value to text, otherwise - the object's ToString method is called. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + + Log a message object with the level. - Write an object to a + Logs a message object with the level. - the writer to write to - a to use for object conversion - the value to write to the writer - Writes the Object to a writer. If the specified - is not null then it is used to render the object to text, otherwise - the object's ToString method is called. + This method first checks if this logger is INFO + enabled by comparing the level of this logger with the + level. If this logger is + INFO enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of the + additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + The message object to log. + + - + - Get the next pattern converter in the chain + Logs a message object with the INFO level including + the stack trace of the passed + as a parameter. - - the next pattern converter in the chain - + The message object to log. + The exception to log, including its stack trace. - Get the next pattern converter in the chain + See the form for more detailed information. + + - + + Log a formatted message string with the level. - Gets or sets the formatting info for this converter + Logs a formatted message string with the level. - - The formatting info for this converter - + A String containing zero or more format items + An Object array containing zero or more objects to format - Gets or sets the formatting info for this converter + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - - - Gets or sets the option value for this converter - + - The option for this converter + Logs a formatted message string with the level. + A String containing zero or more format items + An Object to format - Gets or sets the option value for this converter + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - - - - - - - - Initializes a new instance of the class. - - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The state object on which the pattern converter should be executed. - - - - Flag indicating if this converter handles exceptions - - - false if this converter handles exceptions - - - + - Flag indicating if this converter handles the logging event exception + Logs a formatted message string with the level. - false if this converter handles the logging event exception + A String containing zero or more format items + An Object to format + An Object to format - If this converter handles the exception object contained within - , then this property should be set to - false. Otherwise, if the layout ignores the exception - object, then the property should be set to true. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - Set this value to override a this default setting. The default - value is true, this converter does not handle the exception. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Write the event appdomain name to the output + Logs a formatted message string with the level. - that will receive the formatted result. - the event being logged + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - Writes the to the output . + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - - - - - Converter for items in the ASP.Net Cache. - - - Outputs an item from the . + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Ron Grabowski + + - + - Abstract class that provides access to the current HttpContext () that - derived classes need. + Logs a formatted message string with the level. + An that supplies culture-specific formatting information + A String containing zero or more format items + An Object array containing zero or more objects to format - This class handles the case when HttpContext.Current is null by writing - to the writer. + + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + - Ron Grabowski - - - - Derived pattern converters must override this method in order to - convert conversion specifiers in the correct way. - - that will receive the formatted result. - The on which the pattern converter should be executed. - The under which the ASP.Net request is running. + + - + + Log a message object with the level. - Write the ASP.Net Cache item to the output + Log a message object with the level. - that will receive the formatted result. - The on which the pattern converter should be executed. - The under which the ASP.Net request is running. - Writes out the value of a named property. The property name - should be set in the - property. If no property has been set, all key value pairs from the Cache will - be written to the output. + This method first checks if this logger is WARN + enabled by comparing the level of this logger with the + level. If this logger is + WARN enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of the + additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + The message object to log. + + - + - Converter for items in the . + Log a message object with the level including + the stack trace of the passed + as a parameter. + The message object to log. + The exception to log, including its stack trace. - Outputs an item from the . + See the form for more detailed information. - Ron Grabowski + + - + + Log a formatted message string with the level. - Write the ASP.Net HttpContext item to the output + Logs a formatted message string with the level. - that will receive the formatted result. - The on which the pattern converter should be executed. - The under which the ASP.Net request is running. + A String containing zero or more format items + An Object array containing zero or more objects to format - Writes out the value of a named property. The property name - should be set in the - property. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Converter for items in the ASP.Net Cache. + Logs a formatted message string with the level. + A String containing zero or more format items + An Object to format - Outputs an item from the . + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Ron Grabowski + + - + - Write the ASP.Net Cache item to the output + Logs a formatted message string with the level. - that will receive the formatted result. - The on which the pattern converter should be executed. - The under which the ASP.Net request is running. + A String containing zero or more format items + An Object to format + An Object to format - Writes out the value of a named property. The property name - should be set in the - property. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Converter for items in the ASP.Net Cache. + Logs a formatted message string with the level. + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - Outputs an item from the . + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Ron Grabowski + + - + - Write the ASP.Net Cache item to the output + Logs a formatted message string with the level. - that will receive the formatted result. - The on which the pattern converter should be executed. - The under which the ASP.Net request is running. + An that supplies culture-specific formatting information + A String containing zero or more format items + An Object array containing zero or more objects to format - Writes out the value of a named property. The property name - should be set in the - property. If no property has been set, all key value pairs from the Session will - be written to the output. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + + Log a message object with the level. - Date pattern converter, uses a to format - the date of a . + Logs a message object with the level. + The message object to log. - Render the to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - + This method first checks if this logger is ERROR + enabled by comparing the level of this logger with the + level. If this logger is + ERROR enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of the + additivity flag. - - The is in the local time zone and is rendered in that zone. - To output the time in Universal time see . + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. - Nicko Cadell + + - + - The used to render the date to a string + Log a message object with the level including + the stack trace of the passed + as a parameter. + The message object to log. + The exception to log, including its stack trace. - The used to render the date to a string + See the form for more detailed information. + + - + + Log a formatted message string with the level. - Initialize the converter pattern based on the property. + Logs a formatted message string with the level. + A String containing zero or more format items + An Object array containing zero or more objects to format - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - If any of the configuration properties are modified then - must be called again. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - + - Convert the pattern into the rendered message + Logs a formatted message string with the level. - that will receive the formatted result. - the event being logged + A String containing zero or more format items + An Object to format - Pass the to the - for it to render it to the writer. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - The passed is in the local time zone. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. + + - - - The fully qualified type of the DatePatternConverter class. - - - Used by the internal logger to record the Type of the - log message. - - - + - Write the exception text to the output + Logs a formatted message string with the level. + A String containing zero or more format items + An Object to format + An Object to format - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - If there is no exception then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Nicko Cadell - - - - Default constructor - + + - + - Write the exception text to the output + Logs a formatted message string with the level. - that will receive the formatted result. - the event being logged + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - If an exception object is stored in the logging event - it will be rendered into the pattern output with a - trailing newline. - - - If there is no exception or the exception property specified - by the Option value does not exist then nothing will be output - and no trailing newline will be appended. - It is typical to put a newline before the exception - and to have the exception as the last data in the pattern. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - Recognized values for the Option parameter are: + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - - - Message - - - Source - - - StackTrace - - - TargetSite - - - HelpLink - - + + - + - Writes the caller location file name to the output + Logs a formatted message string with the level. + An that supplies culture-specific formatting information + A String containing zero or more format items + An Object array containing zero or more objects to format - Writes the value of the for - the event to the output writer. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. + + + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Nicko Cadell + + - + + Log a message object with the level. - Write the caller location file name to the output + Log a message object with the level. - that will receive the formatted result. - the event being logged - Writes the value of the for - the to the output . + This method first checks if this logger is FATAL + enabled by comparing the level of this logger with the + level. If this logger is + FATAL enabled, then it converts the message object + (passed as parameter) to a string by invoking the appropriate + . It then + proceeds to call all the registered appenders in this logger + and also higher in the hierarchy depending on the value of the + additivity flag. + + WARNING Note that passing an + to this method will print the name of the + but no stack trace. To print a stack trace use the + form instead. + The message object to log. + + - + - Write the caller location info to the output + Log a message object with the level including + the stack trace of the passed + as a parameter. + The message object to log. + The exception to log, including its stack trace. - Writes the to the output writer. + See the form for more detailed information. - Nicko Cadell + + - + + Log a formatted message string with the level. - Write the caller location info to the output + Logs a formatted message string with the level. - that will receive the formatted result. - the event being logged + A String containing zero or more format items + An Object array containing zero or more objects to format - Writes the to the output writer. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - - - - - Writes the event identity to the output - - - Writes the value of the to - the output writer. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Daniel Cazzulino - Nicko Cadell + + - + - Writes the event identity to the output + Logs a formatted message string with the level. - that will receive the formatted result. - the event being logged + A String containing zero or more format items + An Object to format - Writes the value of the - to - the output . + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - - - - - Write the event level to the output - - - Writes the display name of the event - to the writer. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Nicko Cadell + + - + - Write the event level to the output + Logs a formatted message string with the level. - that will receive the formatted result. - the event being logged + A String containing zero or more format items + An Object to format + An Object to format - Writes the of the - to the . + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - - - - - Write the caller location line number to the output - - - Writes the value of the for - the event to the output writer. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Nicko Cadell + + - + - Write the caller location line number to the output + Logs a formatted message string with the level. - that will receive the formatted result. - the event being logged + A String containing zero or more format items + An Object to format + An Object to format + An Object to format - Writes the value of the for - the to the output . + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - - - - - Converter for logger name - - - Outputs the of the event. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Nicko Cadell + + - + - Converter to output and truncate '.' separated strings + Logs a formatted message string with the level. + An that supplies culture-specific formatting information + A String containing zero or more format items + An Object array containing zero or more objects to format - This abstract class supports truncating a '.' separated string - to show a specified number of elements from the right hand side. - This is used to truncate class names that are fully qualified. + The message is formatted using the String.Format method. See + for details of the syntax of the format string and the behavior + of the formatting. - Subclasses should override the method to - return the fully qualified string. + This method does not take an object to include in the + log event. To pass an use one of the + methods instead. - Nicko Cadell + + - + - Initialize the converter + Checks if this logger is enabled for the level. + + true if this logger is enabled for events, false otherwise. + - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. + This function is intended to lessen the computational cost of + disabled log debug statements. + For some ILog interface log, when you write: + + log.Debug("This is entry number: " + i ); + - If any of the configuration properties are modified then - must be called again. + You incur the cost constructing the message, string construction and concatenation in + this case, regardless of whether the message is logged or not. - - - - - Get the fully qualified string data - - the event being logged - the fully qualified name - - Overridden by subclasses to get the fully qualified name before the - precision is applied to it. + If you are worried about speed (who isn't), then you should write: + + + if (log.IsDebugEnabled) + { + log.Debug("This is entry number: " + i ); + } + + + This way you will not incur the cost of parameter + construction if debugging is disabled for log. On + the other hand, if the log is debug enabled, you + will incur the cost of evaluating whether the logger is debug + enabled twice. Once in and once in + the . This is an insignificant overhead + since evaluating a logger takes about 1% of the time it + takes to actually log. This is the preferred style of logging. + + Alternatively if your logger is available statically then the is debug + enabled state can be stored in a static variable like this: + + private static readonly bool isDebugEnabled = log.IsDebugEnabled; + - Return the fully qualified '.' (dot/period) separated string. + Then when you come to log you can write: + + + if (isDebugEnabled) + { + log.Debug("This is entry number: " + i ); + } + + + This way the debug enabled state is only queried once + when the class is loaded. Using a private static readonly + variable is the most efficient because it is a run time constant + and can be heavily optimized by the JIT compiler. + + + Of course if you use a static readonly variable to + hold the enabled state of the logger then you cannot + change the enabled state at runtime to vary the logging + that is produced. You have to decide if you need absolute + speed or runtime flexibility. + + - + - Convert the pattern to the rendered message + Checks if this logger is enabled for the level. - that will receive the formatted result. - the event being logged + + true if this logger is enabled for events, false otherwise. + - Render the to the precision - specified by the property. + For more information see . + + + - + - The fully qualified type of the NamedPatternConverter class. + Checks if this logger is enabled for the level. + + true if this logger is enabled for events, false otherwise. + - Used by the internal logger to record the Type of the - log message. + For more information see . + + + - + - Gets the fully qualified name of the logger + Checks if this logger is enabled for the level. - the event being logged - The fully qualified logger name + + true if this logger is enabled for events, false otherwise. + - - Returns the of the . - + For more information see . + + + - + - Writes the event message to the output + Checks if this logger is enabled for the level. + + true if this logger is enabled for events, false otherwise. + - - Uses the method - to write out the event message. - + For more information see . - Nicko Cadell + + + - + - Writes the event message to the output + A flexible layout configurable with pattern string that re-evaluates on each call. - that will receive the formatted result. - the event being logged - - Uses the method - to write out the event message. - + This class is built on and provides all the + features and capabilities of PatternLayout. PatternLayout is a 'static' class + in that its layout is done once at configuration time. This class will recreate + the layout on each reference. + One important difference between PatternLayout and DynamicPatternLayout is the + treatment of the Header and Footer parameters in the configuration. The Header and Footer + parameters for DynamicPatternLayout must be syntactically in the form of a PatternString, + but should not be marked as type log4net.Util.PatternString. Doing so causes the + pattern to be statically converted at configuration time and causes DynamicPatternLayout + to perform the same as PatternLayout. + Please see for complete documentation. + + <layout type="log4net.Layout.DynamicPatternLayout"> + <param name="Header" value="%newline**** Trace Opened Local: %date{yyyy-MM-dd HH:mm:ss.fff} UTC: %utcdate{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /> + <param name="Footer" value="**** Trace Closed %date{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /> + </layout> + - + - Write the method name to the output + The header PatternString + + + + + The footer PatternString + + + + + Constructs a DynamicPatternLayout using the DefaultConversionPattern - Writes the caller location to - the output. + The default pattern just produces the application supplied message. - Nicko Cadell - + - Write the method name to the output + Constructs a DynamicPatternLayout using the supplied conversion pattern - that will receive the formatted result. - the event being logged + the pattern to use - - Writes the caller location to - the output. - - + - Converter to include event NDC + The header for the layout format. + the layout header - Outputs the value of the event property named NDC. - - - The should be used instead. + The Header text will be appended before any logging events + are formatted and appended. + The pattern will be formatted on each get operation. - Nicko Cadell - + - Write the event NDC to the output + The footer for the layout format. - that will receive the formatted result. - the event being logged + the layout footer - As the thread context stacks are now stored in named event properties - this converter simply looks up the value of the NDC property. - - - The should be used instead. + The Footer text will be appended after all the logging events + have been formatted and appended. + The pattern will be formatted on each get operation. - + - Property pattern converter + A Layout that renders only the Exception text from the logging event - Writes out the value of a named property. The property name - should be set in the - property. + A Layout that renders only the Exception text from the logging event. - If the is set to null - then all the properties are written as key value pairs. + This Layout should only be used with appenders that utilize multiple + layouts (e.g. ). Nicko Cadell + Gert Driesen - + - Write the property value to the output + Default constructor - that will receive the formatted result. - the event being logged - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. + Constructs a ExceptionLayout - + - Converter to output the relative time of the event + Activate component options - Converter to output the time of the event relative to the start of the program. + Part of the component activation + framework. + + + This method does nothing as options become effective immediately. - Nicko Cadell - + - Write the relative time to the output + Gets the exception text from the logging event - that will receive the formatted result. + The TextWriter to write the formatted event to the event being logged - Writes out the relative time of the event in milliseconds. - That is the number of milliseconds between the event - and the . + Write the exception string to the . + The exception string is retrieved from . - - - Helper method to get the time difference between two DateTime objects - - start time (in the current local time zone) - end time (in the current local time zone) - the time difference in milliseconds - - + - Write the caller stack frames to the output + Interface implemented by layout objects - Writes the to the output writer, using format: - type3.MethodCall3(type param,...) > type2.MethodCall2(type param,...) > type1.MethodCall1(type param,...) + An object is used to format a + as text. The method is called by an + appender to transform the into a string. + + + The layout can also supply and + text that is appender before any events and after all the events respectively. - Adam Davies + Nicko Cadell + Gert Driesen - + - Write the caller stack frames to the output + Implement this method to create your own layout format. + The TextWriter to write the formatted event to + The event to format - Writes the to the output writer, using format: - type3.MethodCall3 > type2.MethodCall2 > type1.MethodCall1 + This method is called by an appender to format + the as text and output to a writer. + + + If the caller does not have a and prefers the + event to be formatted as a then the following + code can be used to format the event into a . + + StringWriter writer = new StringWriter(); + Layout.Format(writer, loggingEvent); + string formattedEvent = writer.ToString(); + - Michael Cromwell - + - Initialize the converter + The content type output by this layout. + The content type - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. + The content type output by this layout. - If any of the configuration properties are modified then - must be called again. + This is a MIME type e.g. "text/plain". - + - Write the strack frames to the output + The header for the layout format. - that will receive the formatted result. - the event being logged + the layout header - Writes the to the output writer. + The Header text will be appended before any logging events + are formatted and appended. - - - Returns the Name of the method - - - This method was created, so this class could be used as a base class for StackTraceDetailPatternConverter - string - - + - The fully qualified type of the StackTracePatternConverter class. + The footer for the layout format. + the layout footer - Used by the internal logger to record the Type of the - log message. + + The Footer text will be appended after all the logging events + have been formatted and appended. + - + - The fully qualified type of the StackTraceDetailPatternConverter class. + Flag indicating if this layout handle exceptions + false if this layout handles exceptions - Used by the internal logger to record the Type of the - log message. + + If this layout handles the exception object contained within + , then the layout should return + false. Otherwise, if the layout ignores the exception + object, then the layout should return true. + - + - Converter to include event thread name + Interface for raw layout objects - Writes the to the output. + Interface used to format a + to an object. + + + This interface should not be confused with the + interface. This interface is used in + only certain specialized situations where a raw object is + required rather than a formatted string. The + is not generally useful than this interface. Nicko Cadell + Gert Driesen - + - Write the ThreadName to the output + Implement this method to create your own layout format. - that will receive the formatted result. - the event being logged + The event to format + returns the formatted event - Writes the to the . + Implement this method to create your own layout format. - + - Pattern converter for the class name + Adapts any to a - Outputs the of the event. + Where an is required this adapter + allows a to be specified. Nicko Cadell + Gert Driesen - + - Gets the fully qualified name of the class + The layout to adapt - the event being logged - The fully qualified type name for the caller location + + + + Construct a new adapter + + the layout to adapt - Returns the of the . + Create the adapter for the specified . - + - Converter to include event user name + Format the logging event as an object. - Douglas de la Torre + The event to format + returns the formatted event + + + Format the logging event as an object. + + + Uses the object supplied to + the constructor to perform the formatting. + + + + + + Extend this abstract class to create your own log layout format. + + + + This is the base implementation of the + interface. Most layout objects should extend this class. + + + + + + Subclasses must implement the + method. + + + Subclasses should set the in their default + constructor. + + + Nicko Cadell + Gert Driesen - + - Convert the pattern to the rendered message + The header text - that will receive the formatted result. - the event being logged + + + See for more information. + + - + - Write the TimeStamp to the output + The footer text - Date pattern converter, uses a to format - the date of a . + See for more information. + + + + + Flag indicating if this layout handles exceptions + + - Uses a to format the - in Universal time. + false if this layout handles exceptions + + + + + Empty default constructor + + - See the for details on the date pattern syntax. + Empty default constructor - - Nicko Cadell - + - Write the TimeStamp to the output + Activate component options - that will receive the formatted result. - the event being logged - Pass the to the - for it to render it to the writer. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - The passed is in the local time zone, this is converted - to Universal time before it is rendered. + If any of the configuration properties are modified then + must be called again. + + + This method must be implemented by the subclass. - - + - The fully qualified type of the UtcDatePatternConverter class. + Implement this method to create your own layout format. + The TextWriter to write the formatted event to + The event to format - Used by the internal logger to record the Type of the - log message. + + This method is called by an appender to format + the as text. + - + - A flexible layout configurable with pattern string that re-evaluates on each call. + Convenience method for easily formatting the logging event into a string variable. + - This class is built on and provides all the - features and capabilities of PatternLayout. PatternLayout is a 'static' class - in that its layout is done once at configuration time. This class will recreate - the layout on each reference. - One important difference between PatternLayout and DynamicPatternLayout is the - treatment of the Header and Footer parameters in the configuration. The Header and Footer - parameters for DynamicPatternLayout must be syntactically in the form of a PatternString, - but should not be marked as type log4net.Util.PatternString. Doing so causes the - pattern to be statically converted at configuration time and causes DynamicPatternLayout - to perform the same as PatternLayout. - Please see for complete documentation. - - <layout type="log4net.Layout.DynamicPatternLayout"> - <param name="Header" value="%newline**** Trace Opened Local: %date{yyyy-MM-dd HH:mm:ss.fff} UTC: %utcdate{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /> - <param name="Footer" value="**** Trace Closed %date{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /> - </layout> - + Creates a new StringWriter instance to store the formatted logging event. + + + + + The content type output by this layout. + + The content type is "text/plain" + + + The content type output by this layout. + + + This base class uses the value "text/plain". + To change this value a subclass must override this + property. + + + + + + The header for the layout format. + + the layout header + + + The Header text will be appended before any logging events + are formatted and appended. + + + + + + The footer for the layout format. + + the layout footer + + + The Footer text will be appended after all the logging events + have been formatted and appended. + + + + + + Flag indicating if this layout handles exceptions + + false if this layout handles exceptions + + + If this layout handles the exception object contained within + , then the layout should return + false. Otherwise, if the layout ignores the exception + object, then the layout should return true. + + + Set this value to override a this default setting. The default + value is true, this layout does not handle the exception. + @@ -18840,7 +18136,7 @@ Output uses the format: - type3.MethodCall3 > type2.MethodCall2 > type1.MethodCall1 + type3.MethodCall3 > type2.MethodCall2 > type1.MethodCall1 This pattern is not available for Compact Framework assemblies. @@ -18858,7 +18154,7 @@ Output uses the format: - type3.MethodCall3(type param,...) > type2.MethodCall2(type param,...) > type1.MethodCall1(type param,...) + type3.MethodCall3(type param,...) > type2.MethodCall2(type param,...) > type1.MethodCall1(type param,...) This pattern is not available for Compact Framework assemblies. @@ -19100,7 +18396,7 @@ - Note about caller location information.
+ Note about caller location information.
The following patterns %type %file %line %method %location %class %C %F %L %l %M all generate caller location information. Location information uses the System.Diagnostics.StackTrace class to generate @@ -19152,3988 +18448,4070 @@ Douglas de la Torre Daniel Cazzulino
- + - Extend this abstract class to create your own log layout format. + Default pattern string for log output. - This is the base implementation of the - interface. Most layout objects should extend this class. + Default pattern string for log output. + Currently set to the string "%message%newline" + which just prints the application supplied message. + + + + A detailed conversion pattern + - - - Subclasses must implement the - method. - - Subclasses should set the in their default - constructor. + A conversion pattern which includes Time, Thread, Logger, and Nested Context. + Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. - - Nicko Cadell - Gert Driesen - + - Interface implemented by layout objects + Internal map of converter identifiers to converter types. - An object is used to format a - as text. The method is called by an - appender to transform the into a string. - - - The layout can also supply and - text that is appender before any events and after all the events respectively. + This static map is overridden by the m_converterRegistry instance map - Nicko Cadell - Gert Driesen - + - Implement this method to create your own layout format. + the pattern - The TextWriter to write the formatted event to - The event to format - - - This method is called by an appender to format - the as text and output to a writer. - - - If the caller does not have a and prefers the - event to be formatted as a then the following - code can be used to format the event into a . - - - StringWriter writer = new StringWriter(); - Layout.Format(writer, loggingEvent); - string formattedEvent = writer.ToString(); - - - + - The content type output by this layout. + the head of the pattern converter chain - The content type - - - The content type output by this layout. - - - This is a MIME type e.g. "text/plain". - - - + - The header for the layout format. + patterns defined on this PatternLayout only - the layout header - - - The Header text will be appended before any logging events - are formatted and appended. - - - + - The footer for the layout format. + Initialize the global registry - the layout footer - The Footer text will be appended after all the logging events - have been formatted and appended. + Defines the builtin global rules. - + - Flag indicating if this layout handle exceptions + Constructs a PatternLayout using the DefaultConversionPattern - false if this layout handles exceptions - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. + The default pattern just produces the application supplied message. - - - - - The header text - - - See for more information. + Note to Inheritors: This constructor calls the virtual method + . If you override this method be + aware that it will be called before your is called constructor. + + + As per the contract the + method must be called after the properties on this object have been + configured. - + - The footer text + Constructs a PatternLayout using the supplied conversion pattern + the pattern to use - See for more information. + Note to Inheritors: This constructor calls the virtual method + . If you override this method be + aware that it will be called before your is called constructor. + + + When using this constructor the method + need not be called. This may not be the case when using a subclass. - + - Flag indicating if this layout handles exceptions + The pattern formatting string - false if this layout handles exceptions + The ConversionPattern option. This is the string which + controls formatting and consists of a mix of literal content and + conversion specifiers. - + - Empty default constructor + Create the pattern parser instance + the pattern to parse + The that will format the event - Empty default constructor + Creates the used to parse the conversion string. Sets the + global and instance rules on the . - + - Activate component options + Initialize layout options This is part of the delayed object - activation scheme. The method must + activation scheme. The method must be called on this object after the configuration properties have - been set. Until is called this + been set. Until is called this object is in an undefined state and must not be used. If any of the configuration properties are modified then - must be called again. - - - This method must be implemented by the subclass. + must be called again. - + - Implement this method to create your own layout format. + Produces a formatted string as specified by the conversion pattern. + the event being logged The TextWriter to write the formatted event to - The event to format - This method is called by an appender to format - the as text. + Parse the using the patter format + specified in the property. - + - Convenience method for easily formatting the logging event into a string variable. + Add a converter to this PatternLayout - + the converter info - Creates a new StringWriter instance to store the formatted logging event. + + This version of the method is used by the configurator. + Programmatic users should use the alternative method. + - + - The content type output by this layout. + Add a converter to this PatternLayout - The content type is "text/plain" + the name of the conversion pattern for this converter + the type of the converter - The content type output by this layout. + Add a named pattern converter to this instance. This + converter will be used in the formatting of the event. + This method must be called before . - This base class uses the value "text/plain". - To change this value a subclass must override this - property. + The specified must extend the + type. - + - The header for the layout format. + Write the event appdomain name to the output - the layout header - The Header text will be appended before any logging events - are formatted and appended. + Writes the to the output writer. + Daniel Cazzulino + Nicko Cadell - + - The footer for the layout format. + Write the event appdomain name to the output - the layout footer + that will receive the formatted result. + the event being logged - The Footer text will be appended after all the logging events - have been formatted and appended. + Writes the to the output . - + - Flag indicating if this layout handles exceptions + Converter for items in the ASP.Net Cache. - false if this layout handles exceptions - If this layout handles the exception object contained within - , then the layout should return - false. Otherwise, if the layout ignores the exception - object, then the layout should return true. - - - Set this value to override a this default setting. The default - value is true, this layout does not handle the exception. + Outputs an item from the . + Ron Grabowski - + - Default pattern string for log output. + Write the ASP.Net Cache item to the output + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. - Default pattern string for log output. - Currently set to the string "%message%newline" - which just prints the application supplied message. + Writes out the value of a named property. The property name + should be set in the + property. If no property has been set, all key value pairs from the Cache will + be written to the output. - + - A detailed conversion pattern + Converter for items in the . - A conversion pattern which includes Time, Thread, Logger, and Nested Context. - Current value is %timestamp [%thread] %level %logger %ndc - %message%newline. + Outputs an item from the . + Ron Grabowski - + - Internal map of converter identifiers to converter types. + Write the ASP.Net HttpContext item to the output + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. - This static map is overridden by the m_converterRegistry instance map + Writes out the value of a named property. The property name + should be set in the + property. - + - the pattern + Abstract class that provides access to the current HttpContext () that + derived classes need. + + This class handles the case when HttpContext.Current is null by writing + to the writer. + + Ron Grabowski - + - the head of the pattern converter chain + Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. - + - patterns defined on this PatternLayout only + Converter for items in the ASP.Net Cache. + + + Outputs an item from the . + + + Ron Grabowski - + - Initialize the global registry + Write the ASP.Net Cache item to the output + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. - Defines the builtin global rules. + Writes out the value of a named property. The property name + should be set in the + property. - + - Constructs a PatternLayout using the DefaultConversionPattern + Converter for items in the ASP.Net Cache. - The default pattern just produces the application supplied message. - - - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. + Outputs an item from the . - - As per the contract the - method must be called after the properties on this object have been - configured. + + Ron Grabowski + + + + Write the ASP.Net Cache item to the output + + that will receive the formatted result. + The on which the pattern converter should be executed. + The under which the ASP.Net request is running. + + + Writes out the value of a named property. The property name + should be set in the + property. If no property has been set, all key value pairs from the Session will + be written to the output. - + - Constructs a PatternLayout using the supplied conversion pattern + Date pattern converter, uses a to format + the date of a . - the pattern to use - Note to Inheritors: This constructor calls the virtual method - . If you override this method be - aware that it will be called before your is called constructor. + Render the to the writer as a string. - When using this constructor the method - need not be called. This may not be the case when using a subclass. + The value of the determines + the formatting of the date. The following values are allowed: + + + Option value + Output + + + ISO8601 + + Uses the formatter. + Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. + + + + DATE + + Uses the formatter. + Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". + + + + ABSOLUTE + + Uses the formatter. + Formats using the "HH:mm:ss,yyyy" for example, "15:49:37,459". + + + + other + + Any other pattern string uses the formatter. + This formatter passes the pattern string to the + method. + For details on valid patterns see + DateTimeFormatInfo Class. + + + + + + The is in the local time zone and is rendered in that zone. + To output the time in Universal time see . + Nicko Cadell - + - Create the pattern parser instance + The used to render the date to a string - the pattern to parse - The that will format the event - Creates the used to parse the conversion string. Sets the - global and instance rules on the . + The used to render the date to a string - + - Initialize layout options + Initialize the converter pattern based on the property. This is part of the delayed object - activation scheme. The method must + activation scheme. The method must be called on this object after the configuration properties have - been set. Until is called this + been set. Until is called this object is in an undefined state and must not be used. If any of the configuration properties are modified then - must be called again. + must be called again. - + - Produces a formatted string as specified by the conversion pattern. + Convert the pattern into the rendered message + that will receive the formatted result. the event being logged - The TextWriter to write the formatted event to - Parse the using the patter format - specified in the property. + Pass the to the + for it to render it to the writer. + + + The passed is in the local time zone. - + - Add a converter to this PatternLayout + The fully qualified type of the DatePatternConverter class. - the converter info - - This version of the method is used by the configurator. - Programmatic users should use the alternative method. - + Used by the internal logger to record the Type of the + log message. - + - Add a converter to this PatternLayout + Write the exception text to the output - the name of the conversion pattern for this converter - the type of the converter - Add a named pattern converter to this instance. This - converter will be used in the formatting of the event. - This method must be called before . + If an exception object is stored in the logging event + it will be rendered into the pattern output with a + trailing newline. - The specified must extend the - type. + If there is no exception then nothing will be output + and no trailing newline will be appended. + It is typical to put a newline before the exception + and to have the exception as the last data in the pattern. + Nicko Cadell - + - The pattern formatting string + Default constructor + + + + Write the exception text to the output + + that will receive the formatted result. + the event being logged - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. + If an exception object is stored in the logging event + it will be rendered into the pattern output with a + trailing newline. + + + If there is no exception or the exception property specified + by the Option value does not exist then nothing will be output + and no trailing newline will be appended. + It is typical to put a newline before the exception + and to have the exception as the last data in the pattern. + + + Recognized values for the Option parameter are: + + + Message + + + Source + + + StackTrace + + + TargetSite + + + HelpLink + + - - - The header PatternString - - - - - The footer PatternString - - - + - Constructs a DynamicPatternLayout using the DefaultConversionPattern + Writes the caller location file name to the output - The default pattern just produces the application supplied message. + Writes the value of the for + the event to the output writer. + Nicko Cadell - + - Constructs a DynamicPatternLayout using the supplied conversion pattern + Write the caller location file name to the output - the pattern to use + that will receive the formatted result. + the event being logged + + Writes the value of the for + the to the output . + - + - The header for the layout format. + Write the caller location info to the output - the layout header - The Header text will be appended before any logging events - are formatted and appended. + Writes the to the output writer. - The pattern will be formatted on each get operation. + Nicko Cadell - + - The footer for the layout format. + Write the caller location info to the output - the layout footer + that will receive the formatted result. + the event being logged - The Footer text will be appended after all the logging events - have been formatted and appended. + Writes the to the output writer. - The pattern will be formatted on each get operation. - + - A Layout that renders only the Exception text from the logging event + Writes the event identity to the output - A Layout that renders only the Exception text from the logging event. - - - This Layout should only be used with appenders that utilize multiple - layouts (e.g. ). + Writes the value of the to + the output writer. + Daniel Cazzulino Nicko Cadell - Gert Driesen - + - Default constructor + Writes the event identity to the output + that will receive the formatted result. + the event being logged - Constructs a ExceptionLayout + Writes the value of the + to + the output . - + - Activate component options + Write the event level to the output - Part of the component activation - framework. - - - This method does nothing as options become effective immediately. + Writes the display name of the event + to the writer. + Nicko Cadell - + - Gets the exception text from the logging event + Write the event level to the output - The TextWriter to write the formatted event to + that will receive the formatted result. the event being logged - Write the exception string to the . - The exception string is retrieved from . + Writes the of the + to the . - + - Interface for raw layout objects + Write the caller location line number to the output - Interface used to format a - to an object. - - - This interface should not be confused with the - interface. This interface is used in - only certain specialized situations where a raw object is - required rather than a formatted string. The - is not generally useful than this interface. + Writes the value of the for + the event to the output writer. Nicko Cadell - Gert Driesen - + - Implement this method to create your own layout format. + Write the caller location line number to the output - The event to format - returns the formatted event + that will receive the formatted result. + the event being logged - Implement this method to create your own layout format. + Writes the value of the for + the to the output . - + - Adapts any to a + Converter for logger name - Where an is required this adapter - allows a to be specified. + Outputs the of the event. Nicko Cadell - Gert Driesen - - - - The layout to adapt - - + - Construct a new adapter + Gets the fully qualified name of the logger - the layout to adapt + the event being logged + The fully qualified logger name - Create the adapter for the specified . + Returns the of the . - + - Format the logging event as an object. + Writes the event message to the output - The event to format - returns the formatted event - Format the logging event as an object. - - - Uses the object supplied to - the constructor to perform the formatting. + Uses the method + to write out the event message. + Nicko Cadell - + - Type converter for the interface + Writes the event message to the output + that will receive the formatted result. + the event being logged - Used to convert objects to the interface. - Supports converting from the interface to - the interface using the . + Uses the method + to write out the event message. - Nicko Cadell - Gert Driesen - + - Interface supported by type converters + Write the method name to the output - This interface supports conversion from arbitrary types - to a single target type. See . + Writes the caller location to + the output. Nicko Cadell - Gert Driesen - + - Can the source type be converted to the type supported by this object + Write the method name to the output - the type to convert - true if the conversion is possible + that will receive the formatted result. + the event being logged - Test if the can be converted to the - type supported by this converter. + Writes the caller location to + the output. - + - Convert the source object to the type supported by this object + Converter to output and truncate '.' separated strings - the object to convert - the converted object - Converts the to the type supported - by this converter. + This abstract class supports truncating a '.' separated string + to show a specified number of elements from the right hand side. + This is used to truncate class names that are fully qualified. - - - - - Can the sourceType be converted to an - - the source to be to be converted - true if the source type can be converted to - - Test if the can be converted to a - . Only is supported - as the . + Subclasses should override the method to + return the fully qualified string. + Nicko Cadell - + - Convert the value to a object + Initialize the converter - the value to convert - the object - Convert the object to a - object. If the object - is a then the - is used to adapt between the two interfaces, otherwise an - exception is thrown. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. - + - Extract the value of a property from the + Get the fully qualified string data + the event being logged + the fully qualified name - Extract the value of a property from the + Overridden by subclasses to get the fully qualified name before the + precision is applied to it. + + + Return the fully qualified '.' (dot/period) separated string. - Nicko Cadell - - - - Constructs a RawPropertyLayout - - + - Lookup the property for + Convert the pattern to the rendered message - The event to format - returns property value + that will receive the formatted result. + the event being logged - - Looks up and returns the object value of the property - named . If there is no property defined - with than name then null will be returned. - + Render the to the precision + specified by the property. - + - The name of the value to lookup in the LoggingEvent Properties collection. + The fully qualified type of the NamedPatternConverter class. - - Value to lookup in the LoggingEvent Properties collection - - - String name of the property to lookup in the . - + Used by the internal logger to record the Type of the + log message. - + - Extract the date from the + Converter to include event NDC - Extract the date from the + Outputs the value of the event property named NDC. + + + The should be used instead. Nicko Cadell - Gert Driesen - - - - Constructs a RawTimeStampLayout - - + - Gets the as a . + Write the event NDC to the output - The event to format - returns the time stamp + that will receive the formatted result. + the event being logged - Gets the as a . + As the thread context stacks are now stored in named event properties + this converter simply looks up the value of the NDC property. - The time stamp is in local time. To format the time stamp - in universal time use . + The should be used instead. - + - Extract the date from the + Abstract class that provides the formatting functionality that + derived classes need. - - Extract the date from the - + Conversion specifiers in a conversion patterns are parsed to + individual PatternConverters. Each of which is responsible for + converting a logging event in a converter specific manner. Nicko Cadell - Gert Driesen - + - Constructs a RawUtcTimeStampLayout + Initializes a new instance of the class. - + - Gets the as a . + Flag indicating if this converter handles the logging event exception - The event to format - returns the time stamp + false if this converter handles the logging event exception - Gets the as a . + If this converter handles the exception object contained within + , then this property should be set to + false. Otherwise, if the layout ignores the exception + object, then the property should be set to true. - The time stamp is in universal time. To format the time stamp - in local time use . + Set this value to override a this default setting. The default + value is true, this converter does not handle the exception. - + - A very simple layout + Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. - - - SimpleLayout consists of the level of the log statement, - followed by " - " and then the log message itself. For example, - - DEBUG - Hello world - - - - Nicko Cadell - Gert Driesen + that will receive the formatted result. + The on which the pattern converter should be executed. - + - Constructs a SimpleLayout + Derived pattern converters must override this method in order to + convert conversion specifiers in the correct way. + that will receive the formatted result. + The state object on which the pattern converter should be executed. - + - Initialize layout options + Flag indicating if this converter handles exceptions + + + false if this converter handles exceptions + + + + + Property pattern converter - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. + Writes out the value of a named property. The property name + should be set in the + property. - If any of the configuration properties are modified then - must be called again. + If the is set to null + then all the properties are written as key value pairs. + Nicko Cadell - + - Produces a simple formatted output. + Write the property value to the output + that will receive the formatted result. the event being logged - The TextWriter to write the formatted event to - Formats the event as the level of the even, - followed by " - " and then the log message itself. The - output is terminated by a newline. + Writes out the value of a named property. The property name + should be set in the + property. + + + If the is set to null + then all the properties are written as key value pairs. - - - Layout that formats the log events as XML elements. - - - - The output of the consists of a series of - log4net:event elements. It does not output a complete well-formed XML - file. The output is designed to be included as an external entity - in a separate file to form a correct XML file. - - - For example, if abc is the name of the file where - the output goes, then a well-formed XML file would - be: - - - <?xml version="1.0" ?> - - <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> - - <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> - &data; - </log4net:events> - - - This approach enforces the independence of the - and the appender where it is embedded. - - - The version attribute helps components to correctly - interpret output generated by . The value of - this attribute should be "1.2" for release 1.2 and later. - - - Alternatively the Header and Footer properties can be - configured to output the correct XML header, open tag and close tag. - When setting the Header and Footer properties it is essential - that the underlying data store not be appendable otherwise the data - will become invalid XML. - - - Nicko Cadell - Gert Driesen - - + - Layout that formats the log events as XML elements. + Converter to output the relative time of the event - This is an abstract class that must be subclassed by an implementation - to conform to a specific schema. - - - Deriving classes must implement the method. + Converter to output the time of the event relative to the start of the program. Nicko Cadell - Gert Driesen - + - Protected constructor to support subclasses + Write the relative time to the output + that will receive the formatted result. + the event being logged - Initializes a new instance of the class - with no location info. + Writes out the relative time of the event in milliseconds. + That is the number of milliseconds between the event + and the . - + - Protected constructor to support subclasses + Helper method to get the time difference between two DateTime objects + + start time (in the current local time zone) + end time (in the current local time zone) + the time difference in milliseconds + + + + Write the caller stack frames to the output - The parameter determines whether - location information will be output by the layout. If - is set to true, then the - file name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. + Writes the to the output writer, using format: + type3.MethodCall3(type param,...) > type2.MethodCall2(type param,...) > type1.MethodCall1(type param,...) + Adam Davies - + - Initialize layout options + The fully qualified type of the StackTraceDetailPatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Write the caller stack frames to the output - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + Writes the to the output writer, using format: + type3.MethodCall3 > type2.MethodCall2 > type1.MethodCall1 + Michael Cromwell - + - Produces a formatted string. + Initialize the converter - The event being logged. - The TextWriter to write the formatted event to - Format the and write it to the . + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - This method creates an that writes to the - . The is passed - to the method. Subclasses should override the - method rather than this method. + If any of the configuration properties are modified then + must be called again. - + - Does the actual writing of the XML. + Write the strack frames to the output - The writer to use to output the event to. - The event to write. + that will receive the formatted result. + the event being logged - Subclasses should override this method to format - the as XML. + Writes the to the output writer. - + - Flag to indicate if location information should be included in - the XML events. + Returns the Name of the method + + This method was created, so this class could be used as a base class for StackTraceDetailPatternConverter + string - + - The string to replace invalid chars with + The fully qualified type of the StackTracePatternConverter class. + + Used by the internal logger to record the Type of the + log message. + - + - Gets a value indicating whether to include location information in - the XML events. + Converter to include event thread name - - true if location information should be included in the XML - events; otherwise, false. - - If is set to true, then the file - name and line number of the statement at the origin of the log - statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. + Writes the to the output. + Nicko Cadell - + - The string to replace characters that can not be expressed in XML with. + Write the ThreadName to the output + + that will receive the formatted result. + the event being logged - Not all characters may be expressed in XML. This property contains the - string to replace those that can not with. This defaults to a ?. Set it - to the empty string to simply remove offending characters. For more - details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets - Character replacement will occur in the log message, the property names - and the property values. + Writes the to the . -
- + - Gets the content type output by this layout. + Pattern converter for the class name - - As this is the XML layout, the value is always "text/xml". - - As this is the XML layout, the value is always "text/xml". + Outputs the of the event. + Nicko Cadell - + - Constructs an XmlLayout - - - - - Constructs an XmlLayout. + Gets the fully qualified name of the class + the event being logged + The fully qualified type name for the caller location - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SmtpAppender - then make sure to set the LocationInfo option of that - appender as well. + Returns the of the . - + - Initialize layout options + Converter to include event user name + + Douglas de la Torre + Nicko Cadell + + + + Convert the pattern to the rendered message + + that will receive the formatted result. + the event being logged + + + + Write the TimeStamp to the output - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. + Date pattern converter, uses a to format + the date of a . - If any of the configuration properties are modified then - must be called again. + Uses a to format the + in Universal time. - Builds a cache of the element names + See the for details on the date pattern syntax. + + Nicko Cadell - + - Does the actual writing of the XML. + Write the TimeStamp to the output - The writer to use to output the event to. - The event to write. + that will receive the formatted result. + the event being logged - Override the base class method - to write the to the . + Pass the to the + for it to render it to the writer. + + + The passed is in the local time zone, this is converted + to Universal time before it is rendered. + - + - The prefix to use for all generated element names + The fully qualified type of the UtcDatePatternConverter class. + + Used by the internal logger to record the Type of the + log message. + - + - The prefix to use for all element names + Type converter for the interface - The default prefix is log4net. Set this property - to change the prefix. If the prefix is set to an empty string - then no prefix will be written. + Used to convert objects to the interface. + Supports converting from the interface to + the interface using the . + Nicko Cadell + Gert Driesen - + - Set whether or not to base64 encode the message. + Can the sourceType be converted to an + the source to be to be converted + true if the source type can be converted to - By default the log message will be written as text to the xml - output. This can cause problems when the message contains binary - data. By setting this to true the contents of the message will be - base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the log message. + Test if the can be converted to a + . Only is supported + as the . - + - Set whether or not to base64 encode the property values. + Convert the value to a object + the value to convert + the object - By default the properties will be written as text to the xml - output. This can cause problems when one or more properties contain - binary data. By setting this to true the values of the properties - will be base64 encoded. If this is set then invalid character replacement - (see ) will not be performed - on the property values. + Convert the object to a + object. If the object + is a then the + is used to adapt between the two interfaces, otherwise an + exception is thrown. - + - Layout that formats the log events as XML elements compatible with the log4j schema + Extract the value of a property from the - Formats the log events according to the http://logging.apache.org/log4j schema. + Extract the value of a property from the Nicko Cadell - - - The 1st of January 1970 in UTC - - - + - Constructs an XMLLayoutSchemaLog4j + Constructs a RawPropertyLayout - + - Constructs an XMLLayoutSchemaLog4j. + The name of the value to lookup in the LoggingEvent Properties collection. + + Value to lookup in the LoggingEvent Properties collection + - The LocationInfo option takes a boolean value. By - default, it is set to false which means there will be no location - information output by this layout. If the the option is set to - true, then the file name and line number of the statement - at the origin of the log statement will be output. - - - If you are embedding this layout within an SMTPAppender - then make sure to set the LocationInfo option of that - appender as well. + String name of the property to lookup in the . - + - Actually do the writing of the xml + Lookup the property for - the writer to use - the event to write + The event to format + returns property value - Generate XML that is compatible with the log4j schema. + Looks up and returns the object value of the property + named . If there is no property defined + with than name then null will be returned. - + - The version of the log4j schema to use. + Extract the date from the - Only version 1.2 of the log4j schema is supported. + Extract the date from the + Nicko Cadell + Gert Driesen - + - The default object Renderer. + Constructs a RawTimeStampLayout + + + + Gets the as a . + + The event to format + returns the time stamp - The default renderer supports rendering objects and collections to strings. + Gets the as a . - See the method for details of the output. + The time stamp is in local time. To format the time stamp + in universal time use . - Nicko Cadell - Gert Driesen - + - Implement this interface in order to render objects as strings + Extract the date from the - Certain types require special case conversion to - string form. This conversion is done by an object renderer. - Object renderers implement the - interface. + Extract the date from the Nicko Cadell Gert Driesen - + - Render the object to a string + Constructs a RawUtcTimeStampLayout - The map used to lookup renderers - The object to render - The writer to render to + + + + Gets the as a . + + The event to format + returns the time stamp - Render the object to a - string. + Gets the as a . - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. + The time stamp is in universal time. To format the time stamp + in local time use . - + - Default constructor + A very simple layout - Default constructor + SimpleLayout consists of the level of the log statement, + followed by " - " and then the log message itself. For example, + + DEBUG - Hello world + + Nicko Cadell + Gert Driesen - + - Render the object to a string + Constructs a SimpleLayout + + + + + Initialize layout options - The map used to lookup renderers - The object to render - The writer to render to - Render the object to a string. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - The parameter is - provided to lookup and render other objects. This is - very useful where contains - nested objects of unknown type. The - method can be used to render these objects. + If any of the configuration properties are modified then + must be called again. + + + + + Produces a simple formatted output. + + the event being logged + The TextWriter to write the formatted event to + - The default renderer supports rendering objects to strings as follows: + Formats the event as the level of the even, + followed by " - " and then the log message itself. The + output is terminated by a newline. - - - Value - Rendered String - - - null - - "(null)" - - - - - - - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: int[] {1, 2, 3}. - - - If the array is not one dimensional the - Array.ToString() is returned. - - - - - , & - - - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. - - - For example: {a, b, c}. - - - All collection classes that implement its subclasses, - or generic equivalents all implement the interface. - - - - - - - - Rendered as the key, an equals sign ('='), and the value (using the appropriate - renderer). - - - For example: key=value. - - - - - other - - Object.ToString() - - - - + + + Layout that formats the log events as XML elements. + + + + The output of the consists of a series of + log4net:event elements. It does not output a complete well-formed XML + file. The output is designed to be included as an external entity + in a separate file to form a correct XML file. + + + For example, if abc is the name of the file where + the output goes, then a well-formed XML file would + be: + + + <?xml version="1.0" ?> + + <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]> + + <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2> + &data; + </log4net:events> + + + This approach enforces the independence of the + and the appender where it is embedded. + + + The version attribute helps components to correctly + interpret output generated by . The value of + this attribute should be "1.2" for release 1.2 and later. + + + Alternatively the Header and Footer properties can be + configured to output the correct XML header, open tag and close tag. + When setting the Header and Footer properties it is essential + that the underlying data store not be appendable otherwise the data + will become invalid XML. + + + Nicko Cadell + Gert Driesen + + - Render the array argument into a string + Constructs an XmlLayout + + + + + Constructs an XmlLayout. - The map used to lookup renderers - the array to render - The writer to render to - For a one dimensional array this is the - array type name, an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - int[] {1, 2, 3}. + The LocationInfo option takes a boolean value. By + default, it is set to false which means there will be no location + information output by this layout. If the the option is set to + true, then the file name and line number of the statement + at the origin of the log statement will be output. - If the array is not one dimensional the - Array.ToString() is returned. + If you are embedding this layout within an SmtpAppender + then make sure to set the LocationInfo option of that + appender as well. - + - Render the enumerator argument into a string + The prefix to use for all element names - The map used to lookup renderers - the enumerator to render - The writer to render to - Rendered as an open brace, followed by a comma - separated list of the elements (using the appropriate - renderer), followed by a close brace. For example: - {a, b, c}. + The default prefix is log4net. Set this property + to change the prefix. If the prefix is set to an empty string + then no prefix will be written. - + - Render the DictionaryEntry argument into a string + Set whether or not to base64 encode the message. - The map used to lookup renderers - the DictionaryEntry to render - The writer to render to - Render the key, an equals sign ('='), and the value (using the appropriate - renderer). For example: key=value. + By default the log message will be written as text to the xml + output. This can cause problems when the message contains binary + data. By setting this to true the contents of the message will be + base64 encoded. If this is set then invalid character replacement + (see ) will not be performed + on the log message. - + - Map class objects to an . + Set whether or not to base64 encode the property values. - Maintains a mapping between types that require special - rendering and the that - is used to render them. - - - The method is used to render an - object using the appropriate renderers defined in this map. + By default the properties will be written as text to the xml + output. This can cause problems when one or more properties contain + binary data. By setting this to true the values of the properties + will be base64 encoded. If this is set then invalid character replacement + (see ) will not be performed + on the property values. - Nicko Cadell - Gert Driesen - + - Default Constructor + Initialize layout options - Default constructor. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + Builds a cache of the element names - + - Render using the appropriate renderer. + Does the actual writing of the XML. - the object to render to a string - the object rendered as a string + The writer to use to output the event to. + The event to write. - This is a convenience method used to render an object to a string. - The alternative method - should be used when streaming output to a . + Override the base class method + to write the to the . - + - Render using the appropriate renderer. + The prefix to use for all generated element names + + + + + Layout that formats the log events as XML elements. - the object to render to a string - The writer to render to - Find the appropriate renderer for the type of the - parameter. This is accomplished by calling the - method. Once a renderer is found, it is - applied on the object and the result is returned - as a . + This is an abstract class that must be subclassed by an implementation + to conform to a specific schema. + + + Deriving classes must implement the method. + Nicko Cadell + Gert Driesen - + - Gets the renderer for the specified object type + Protected constructor to support subclasses - the object to lookup the renderer for - the renderer for - - - Gets the renderer for the specified object type. - - - Syntactic sugar method that calls - with the type of the object parameter. - - - - - - Gets the renderer for the specified type - - the type to lookup the renderer for - the renderer for the specified type - Returns the renderer for the specified type. - If no specific renderer has been defined the - will be returned. + Initializes a new instance of the class + with no location info. - - - Internal function to recursively search interfaces - - the type to lookup the renderer for - the renderer for the specified type - - + - Clear the map of renderers + Protected constructor to support subclasses - Clear the custom renderers defined by using - . The - cannot be removed. + The parameter determines whether + location information will be output by the layout. If + is set to true, then the + file name and line number of the statement at the origin of the log + statement will be output. + + + If you are embedding this layout within an SMTPAppender + then make sure to set the LocationInfo option of that + appender as well. - + - Register an for . + Gets a value indicating whether to include location information in + the XML events. - the type that will be rendered by - the renderer for + + true if location information should be included in the XML + events; otherwise, false. + - Register an object renderer for a specific source type. - This renderer will be returned from a call to - specifying the same as an argument. + If is set to true, then the file + name and line number of the statement at the origin of the log + statement will be output. + + + If you are embedding this layout within an SMTPAppender + then make sure to set the LocationInfo option of that + appender as well. - + - Get the default renderer instance - - the default renderer + The string to replace characters that can not be expressed in XML with. - Get the default renderer + Not all characters may be expressed in XML. This property contains the + string to replace those that can not with. This defaults to a ?. Set it + to the empty string to simply remove offending characters. For more + details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets + Character replacement will occur in the log message, the property names + and the property values. +
- + - Interface implemented by logger repository plugins. + Initialize layout options - Plugins define additional behavior that can be associated - with a . - The held by the - property is used to store the plugins for a repository. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - The log4net.Config.PluginAttribute can be used to - attach plugins to repositories created using configuration - attributes. + If any of the configuration properties are modified then + must be called again. - Nicko Cadell - Gert Driesen - + - Attaches the plugin to the specified . + Gets the content type output by this layout. - The that this plugin should be attached to. + + As this is the XML layout, the value is always "text/xml". + - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. + As this is the XML layout, the value is always "text/xml". - + - Is called when the plugin is to shutdown. + Produces a formatted string. + The event being logged. + The TextWriter to write the formatted event to - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. + Format the and write it to the . + + + This method creates an that writes to the + . The is passed + to the method. Subclasses should override the + method rather than this method. - + - Gets the name of the plugin. + Does the actual writing of the XML. - - The name of the plugin. - + The writer to use to output the event to. + The event to write. - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. + Subclasses should override this method to format + the as XML. - - - A strongly-typed collection of objects. - - Nicko Cadell - - - - Creates a read-only wrapper for a PluginCollection instance. - - list to create a readonly wrapper arround - - A PluginCollection wrapper that is read-only. - - - - - Initializes a new instance of the PluginCollection class - that is empty and has the default initial capacity. - - - + - Initializes a new instance of the PluginCollection class - that has the specified initial capacity. + Flag to indicate if location information should be included in + the XML events. - - The number of elements that the new PluginCollection is initially capable of storing. - - + - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified PluginCollection. + The string to replace invalid chars with - The PluginCollection whose elements are copied to the new collection. - + - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified array. + Layout that formats the log events as XML elements compatible with the log4j schema - The array whose elements are copied to the new list. + + + Formats the log events according to the http://logging.apache.org/log4j schema. + + + Nicko Cadell - + - Initializes a new instance of the PluginCollection class - that contains elements copied from the specified collection. + The 1st of January 1970 in UTC - The collection whose elements are copied to the new list. - + - Allow subclasses to avoid our default constructors + Constructs an XMLLayoutSchemaLog4j - - - + - Copies the entire PluginCollection to a one-dimensional - array. + Constructs an XMLLayoutSchemaLog4j. - The one-dimensional array to copy to. + + + The LocationInfo option takes a boolean value. By + default, it is set to false which means there will be no location + information output by this layout. If the the option is set to + true, then the file name and line number of the statement + at the origin of the log statement will be output. + + + If you are embedding this layout within an SMTPAppender + then make sure to set the LocationInfo option of that + appender as well. + + - + - Copies the entire PluginCollection to a one-dimensional - array, starting at the specified index of the target array. + The version of the log4j schema to use. - The one-dimensional array to copy to. - The zero-based index in at which copying begins. + + + Only version 1.2 of the log4j schema is supported. + + - + - Adds a to the end of the PluginCollection. + Actually do the writing of the xml - The to be added to the end of the PluginCollection. - The index at which the value has been added. + the writer to use + the event to write + + + Generate XML that is compatible with the log4j schema. + + - + - Removes all elements from the PluginCollection. + The log4net Logical Thread Context. + + + The LogicalThreadContext provides a location for specific debugging + information to be stored. + The LogicalThreadContext properties override any or + properties with the same name. + + + For .NET Standard 1.3 this class uses + System.Threading.AsyncLocal rather than . + + + The Logical Thread Context has a properties map and a stack. + The properties and stack can + be included in the output of log messages. The + supports selecting and outputting these properties. + + + The Logical Thread Context provides a diagnostic context for the current call context. + This is an instrument for distinguishing interleaved log + output from different sources. Log output is typically interleaved + when a server handles multiple clients near-simultaneously. + + + The Logical Thread Context is managed on a per basis. + + + The requires a link time + for the + . + If the calling code does not have this permission then this context will be disabled. + It will not store any property values set on it. + + + Example of using the thread context properties to store a username. + + LogicalThreadContext.Properties["user"] = userName; + log.Info("This log message has a LogicalThreadContext Property called 'user'"); + + + Example of how to push a message into the context stack + + using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) + { + log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); + + } // at the end of the using block the message is automatically popped + + + + Nicko Cadell - - - Creates a shallow copy of the . - - A new with a shallow copy of the collection data. - - + - Determines whether a given is in the PluginCollection. + Private Constructor. - The to check for. - true if is found in the PluginCollection; otherwise, false. + + + Uses a private access modifier to prevent instantiation of this class. + + - + - Returns the zero-based index of the first occurrence of a - in the PluginCollection. + The thread properties map - The to locate in the PluginCollection. - - The zero-based index of the first occurrence of - in the entire PluginCollection, if found; otherwise, -1. - + + The thread properties map + + + + The LogicalThreadContext properties override any + or properties with the same name. + + - + - Inserts an element into the PluginCollection at the specified index. + The thread stacks - The zero-based index at which should be inserted. - The to insert. - - is less than zero - -or- - is equal to or greater than . - + + stack map + + + + The logical thread stacks. + + - + - Removes the first occurrence of a specific from the PluginCollection. + The thread context properties instance - The to remove from the PluginCollection. - - The specified was not found in the PluginCollection. - - + - Removes the element at the specified index of the PluginCollection. + The thread context stacks instance - The zero-based index of the element to remove. - - is less than zero. - -or- - is equal to or greater than . - - + - Returns an enumerator that can iterate through the PluginCollection. + This class is used by client applications to request logger instances. - An for the entire PluginCollection. + + + This class has static methods that are used by a client to request + a logger instance. The method is + used to retrieve a logger. + + + See the interface for more details. + + + Simple example of logging messages + + ILog log = LogManager.GetLogger("application-log"); + + log.Info("Application Start"); + log.Debug("This is a debug message"); + + if (log.IsDebugEnabled) + { + log.Debug("This is another debug message"); + } + + + + + Nicko Cadell + Gert Driesen - + - Adds the elements of another PluginCollection to the current PluginCollection. + Initializes a new instance of the class. - The PluginCollection whose elements should be added to the end of the current PluginCollection. - The new of the PluginCollection. + + Uses a private access modifier to prevent instantiation of this class. + - + + Returns the named logger if it exists. - Adds the elements of a array to the current PluginCollection. + Returns the named logger if it exists. - The array whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. + + + If the named logger exists (in the default repository) then it + returns a reference to the logger, otherwise it returns null. + + + The fully qualified logger name to look for. + The logger found, or null if no logger could be found. - + + Get the currently defined loggers. - Adds the elements of a collection to the current PluginCollection. + Returns all the currently defined loggers in the default repository. - The collection whose elements should be added to the end of the PluginCollection. - The new of the PluginCollection. + + The root logger is not included in the returned array. + + All the defined loggers. - + + Get or create a logger. - Sets the capacity to the actual number of elements. + Retrieves or creates a named logger. + + + Retrieves a logger named as the + parameter. If the named logger already exists, then the + existing instance will be returned. Otherwise, a new instance is + created. + + By default, loggers do not have a set level but inherit + it from the hierarchy. This is one of the central features of + log4net. + + + The name of the logger to retrieve. + The logger with the name specified. - - - is less than zero. - -or- - is equal to or greater than . - - - - - is less than zero. - -or- - is equal to or greater than . - - - + - Gets the number of elements actually contained in the PluginCollection. + Returns the named logger if it exists. + + + If the named logger exists (in the specified repository) then it + returns a reference to the logger, otherwise it returns + null. + + + The repository to lookup in. + The fully qualified logger name to look for. + + The logger found, or null if the logger doesn't exist in the specified + repository. + - + - Gets a value indicating whether access to the collection is synchronized (thread-safe). + Returns the named logger if it exists. - false, because the backing type is an array, which is never thread-safe. + + + If the named logger exists (in the repository for the specified assembly) then it + returns a reference to the logger, otherwise it returns + null. + + + The assembly to use to lookup the repository. + The fully qualified logger name to look for. + + The logger, or null if the logger doesn't exist in the specified + assembly's repository. + - + - Gets an object that can be used to synchronize access to the collection. - - - An object that can be used to synchronize access to the collection. - - - - - Gets or sets the at the specified index. - - - The at the specified index. - - The zero-based index of the element to get or set. - - is less than zero. - -or- - is equal to or greater than . - - - - - Gets a value indicating whether the collection has a fixed size. - - true if the collection has a fixed size; otherwise, false. The default is false. - - - - Gets a value indicating whether the IList is read-only. - - true if the collection is read-only; otherwise, false. The default is false. - - - - Gets or sets the number of elements the PluginCollection can contain. - - - The number of elements the PluginCollection can contain. - - - - - Supports type-safe iteration over a . - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - - - Type visible only to our subclasses - Used to access protected constructor - - - - - - A value - - - - - Supports simple iteration over a . - - - - - - Initializes a new instance of the Enumerator class. - - - - - - Advances the enumerator to the next element in the collection. - - - true if the enumerator was successfully advanced to the next element; - false if the enumerator has passed the end of the collection. - - - The collection was modified after the enumerator was created. - - - - - Sets the enumerator to its initial position, before the first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - - - - - - - - Map of repository plugins. + Returns all the currently defined loggers in the specified repository. + The repository to lookup in. - - This class is a name keyed map of the plugins that are - attached to a repository. - + The root logger is not included in the returned array. - Nicko Cadell - Gert Driesen + All the defined loggers. - + - Constructor + Returns all the currently defined loggers in the specified assembly's repository. - The repository that the plugins should be attached to. + The assembly to use to lookup the repository. - - Initialize a new instance of the class with a - repository that the plugins should be attached to. - + The root logger is not included in the returned array. + All the defined loggers. - + - Adds a to the map. + Retrieves or creates a named logger. - The to add to the map. - The will be attached to the repository when added. + Retrieve a logger named as the + parameter. If the named logger already exists, then the + existing instance will be returned. Otherwise, a new instance is + created. - If there already exists a plugin with the same name - attached to the repository then the old plugin will - be and replaced with - the new plugin. + By default, loggers do not have a set level but inherit + it from the hierarchy. This is one of the central features of + log4net. + The repository to lookup in. + The name of the logger to retrieve. + The logger with the name specified. - + - Removes a from the map. + Retrieves or creates a named logger. - The to remove from the map. - Remove a specific plugin from this map. + Retrieve a logger named as the + parameter. If the named logger already exists, then the + existing instance will be returned. Otherwise, a new instance is + created. - - - - - Gets a by name. - - The name of the to lookup. - - The from the map with the name specified, or - null if no plugin is found. - - - Lookup a plugin by name. If the plugin is not found null - will be returned. + By default, loggers do not have a set level but inherit + it from the hierarchy. This is one of the central features of + log4net. + The assembly to use to lookup the repository. + The name of the logger to retrieve. + The logger with the name specified. - + - Gets all possible plugins as a list of objects. + Shorthand for . - All possible plugins as a list of objects. - - Get a collection of all the plugins defined in this map. - + Get the logger for the fully qualified name of the type specified. + The full name of will be used as the name of the logger to retrieve. + The logger with the name specified. - + - Base implementation of + Shorthand for . - - Default abstract implementation of the - interface. This base class can be used by implementors - of the interface. - + Gets the logger for the fully qualified name of the type specified. - Nicko Cadell - Gert Driesen + The repository to lookup in. + The full name of will be used as the name of the logger to retrieve. + The logger with the name specified. - + - Constructor + Shorthand for . - the name of the plugin - Initializes a new Plugin with the specified name. + Gets the logger for the fully qualified name of the type specified. + The assembly to use to lookup the repository. + The full name of will be used as the name of the logger to retrieve. + The logger with the name specified. - + - Attaches this plugin to a . + Shuts down the log4net system. - The that this plugin should be attached to. - A plugin may only be attached to a single repository. + Calling this method will safely close and remove all + appenders in all the loggers including root contained in all the + default repositories. - This method is called when the plugin is attached to the repository. + Some appenders need to be closed before the application exists. + Otherwise, pending logging events might be lost. + + The shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - + + Shutdown a logger repository. - Is called when the plugin is to shutdown. + Shuts down the default repository. - This method is called to notify the plugin that - it should stop operating and should detach from - the repository. + Calling this method will safely close and remove all + appenders in all the loggers including root contained in the + default repository. + + Some appenders need to be closed before the application exists. + Otherwise, pending logging events might be lost. + + The shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - + - The name of this plugin. - - - - - The repository this plugin is attached to. - - - - - Gets or sets the name of the plugin. + Shuts down the repository for the repository specified. - - The name of the plugin. - - Plugins are stored in the - keyed by name. Each plugin instance attached to a - repository must be a unique name. + Calling this method will safely close and remove all + appenders in all the loggers including root contained in the + specified. - The name of the plugin must not change one the - plugin has been attached to a repository. + Some appenders need to be closed before the application exists. + Otherwise, pending logging events might be lost. + + The shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. + The repository to shutdown. - + - The repository for this plugin + Shuts down the repository specified. - - The that this plugin is attached to. - - Gets or sets the that this plugin is - attached to. + Calling this method will safely close and remove all + appenders in all the loggers including root contained in the + repository. The repository is looked up using + the specified. - - - - - Plugin that listens for events from the - - - This plugin publishes an instance of - on a specified . This listens for logging events delivered from - a remote . + Some appenders need to be closed before the application exists. + Otherwise, pending logging events might be lost. - When an event is received it is relogged within the attached repository - as if it had been raised locally. + The shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - Nicko Cadell - Gert Driesen + The assembly to use to lookup the repository. - + + Reset the configuration of a repository - Default constructor + Resets all values contained in this repository instance to their defaults. - Initializes a new instance of the class. - - - The property must be set. - + Resets all values contained in the repository instance to their + defaults. This removes all appenders from all loggers, sets + the level of all non-root loggers to null, + sets their additivity flag to true and sets the level + of the root logger to . Moreover, + message disabling is set to its default "off" value. + - + - Construct with sink Uri. + Resets all values contained in this repository instance to their defaults. - The name to publish the sink under in the remoting infrastructure. - See for more details. - Initializes a new instance of the class - with specified name. - + Reset all values contained in the repository instance to their + defaults. This removes all appenders from all loggers, sets + the level of all non-root loggers to null, + sets their additivity flag to true and sets the level + of the root logger to . Moreover, + message disabling is set to its default "off" value. + + The repository to reset. - + - Attaches this plugin to a . + Resets all values contained in this repository instance to their defaults. - The that this plugin should be attached to. - A plugin may only be attached to a single repository. - - - This method is called when the plugin is attached to the repository. - + Reset all values contained in the repository instance to their + defaults. This removes all appenders from all loggers, sets + the level of all non-root loggers to null, + sets their additivity flag to true and sets the level + of the root logger to . Moreover, + message disabling is set to its default "off" value. + + The assembly to use to lookup the repository to reset. - + + Get the logger repository. - Is called when the plugin is to shutdown. + Returns the default instance. - When the plugin is shutdown the remote logging - sink is disconnected. + Gets the for the repository specified + by the callers assembly (). + The instance for the default repository. - + - The fully qualified type of the RemoteLoggingServerPlugin class. + Returns the default instance. + The default instance. - Used by the internal logger to record the Type of the - log message. + + Gets the for the repository specified + by the argument. + + The repository to lookup in. - + - Gets or sets the URI of this sink. + Returns the default instance. - - The URI of this sink. - + The default instance. - This is the name under which the object is marshaled. - + Gets the for the repository specified + by the argument. + The assembly to use to lookup the repository. - + + Get a logger repository. - Delivers objects to a remote sink. + Returns the default instance. - Internal class used to listen for logging events - and deliver them to the local repository. + Gets the for the repository specified + by the callers assembly (). + The instance for the default repository. - + - Constructor + Returns the default instance. - The repository to log to. + The default instance. - Initializes a new instance of the for the - specified . + Gets the for the repository specified + by the argument. + The repository to lookup in. - + - Logs the events to the repository. + Returns the default instance. - The events to log. + The default instance. - The events passed are logged to the + Gets the for the repository specified + by the argument. + The assembly to use to lookup the repository. - + + Create a domain - Obtains a lifetime service object to control the lifetime - policy for this instance. + Creates a repository with the specified repository type. - null to indicate that this instance should live forever. - Obtains a lifetime service object to control the lifetime - policy for this instance. This object should live forever - therefore this implementation returns null. + CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. + + + The created will be associated with the repository + specified such that a call to will return + the same repository instance. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. - - - The underlying that events should - be logged to. - - - + + Create a logger repository. - Default implementation of + Creates a repository with the specified repository type. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. - This default implementation of the - interface is used to create the default subclass - of the object. + The created will be associated with the repository + specified such that a call to will return + the same repository instance. - Nicko Cadell - Gert Driesen - + - Interface abstracts creation of instances + Creates a repository with the specified name. - This interface is used by the to - create new objects. + CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - The method is called - to create a named . + Creates the default type of which is a + object. - Implement this interface to create new subclasses of . + The name must be unique. Repositories cannot be redefined. + An will be thrown if the repository already exists. - Nicko Cadell - Gert Driesen + The name of the repository, this must be unique amongst repositories. + The created for the repository. + The specified repository already exists. - + - Create a new instance + Creates a repository with the specified name. - The that will own the . - The name of the . - The instance for the specified name. - Create a new instance with the - specified name. - - - Called by the to create - new named instances. + Creates the default type of which is a + object. - If the is null then the root logger - must be returned. + The name must be unique. Repositories cannot be redefined. + An will be thrown if the repository already exists. + The name of the repository, this must be unique amongst repositories. + The created for the repository. + The specified repository already exists. - + - Default constructor - - - - Initializes a new instance of the class. - - - - - - Create a new instance + Creates a repository with the specified name and repository type. - The that will own the . - The name of the . - The instance for the specified name. - Create a new instance with the - specified name. - - - Called by the to create - new named instances. + CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - If the is null then the root logger - must be returned. + The name must be unique. Repositories cannot be redefined. + An will be thrown if the repository already exists. + The name of the repository, this must be unique to the repository. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. + The specified repository already exists. - + - Default internal subclass of + Creates a repository with the specified name and repository type. - This subclass has no additional behavior over the - class but does allow instances - to be created. + The name must be unique. Repositories cannot be redefined. + An will be thrown if the repository already exists. + The name of the repository, this must be unique to the repository. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. + The specified repository already exists. - + - Implementation of used by + Creates a repository for the specified assembly and repository type. - Internal class used to provide implementation of - interface. Applications should use to get - logger instances. - - - This is one of the central classes in the log4net implementation. One of the - distinctive features of log4net are hierarchical loggers and their - evaluation. The organizes the - instances into a rooted tree hierarchy. + CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - The class is abstract. Only concrete subclasses of - can be created. The - is used to create instances of this type for the . + The created will be associated with the repository + specified such that a call to with the + same assembly specified will return the same repository instance. - Nicko Cadell - Gert Driesen - Aspi Havewala - Douglas de la Torre + The assembly to use to get the name of the repository. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. - + - This constructor created a new instance and - sets its name. + Creates a repository for the specified assembly and repository type. - The name of the . - This constructor is protected and designed to be used by - a subclass that is not abstract. - - - Loggers are constructed by - objects. See for the default - logger creator. + The created will be associated with the repository + specified such that a call to with the + same assembly specified will return the same repository instance. + The assembly to use to get the name of the repository. + A that implements + and has a no arg constructor. An instance of this type will be created to act + as the for the repository specified. + The created for the repository. - + - Add to the list of appenders of this - Logger instance. + Gets the list of currently defined repositories. - An appender to add to this logger - Add to the list of appenders of this - Logger instance. - - - If is already in the list of - appenders, then it won't be added again. + Get an array of all the objects that have been created. + An array of all the known objects. - + - Look for the appender named as name + Flushes logging events buffered in all configured appenders in the default repository. - The name of the appender to lookup - The appender with the name specified, or null. - - - Returns the named appender, or null if the appender is not found. - - + The maximum time in milliseconds to wait for logging events from asycnhronous appenders to be flushed. + True if all logging events were flushed successfully, else false. - + - Remove all previously added appenders from this Logger instance. + Looks up the wrapper object for the logger specified. + + The logger to get the wrapper for. + The wrapper for the logger specified. + + + + Looks up the wrapper objects for the loggers specified. + + The loggers to get the wrappers for. + The wrapper objects for the loggers specified. + + + + Create the objects used by + this manager. + + The logger to wrap. + The wrapper for the logger specified. + + + + The wrapper map to use to hold the objects. + + + + + Implementation of Mapped Diagnostic Contexts. + - Remove all previously added appenders from this Logger instance. + The MDC is deprecated and has been replaced by the . + The current MDC implementation forwards to the ThreadContext.Properties. + - This is useful when re-reading configuration information. + The MDC class is similar to the class except that it is + based on a map instead of a stack. It provides mapped + diagnostic contexts. A Mapped Diagnostic Context, or + MDC in short, is an instrument for distinguishing interleaved log + output from different sources. Log output is typically interleaved + when a server handles multiple clients near-simultaneously. + + + The MDC is managed on a per thread basis. + + Nicko Cadell + Gert Driesen - + - Remove the appender passed as parameter form the list of appenders. + Initializes a new instance of the class. - The appender to remove - The appender removed from the list - - Remove the appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. - + Uses a private access modifier to prevent instantiation of this class. - + - Remove the appender passed as parameter form the list of appenders. + Gets the context value identified by the parameter. - The name of the appender to remove - The appender removed from the list + The key to lookup in the MDC. + The string value held for the key, or a null reference if no corresponding value is found. + - Remove the named appender passed as parameter form the list of appenders. - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. + The MDC is deprecated and has been replaced by the . + The current MDC implementation forwards to the ThreadContext.Properties. + + + + If the parameter does not look up to a + previously defined context then null will be returned. - + - This generic form is intended to be used by wrappers. + Add an entry to the MDC - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. + The key to store the value under. + The value to store. + - Generate a logging event for the specified using - the and . + The MDC is deprecated and has been replaced by the . + The current MDC implementation forwards to the ThreadContext.Properties. + - This method must not throw any exception to the caller. + Puts a context value (the parameter) as identified + with the parameter into the current thread's + context map. + + + If a value is already defined for the + specified then the value will be replaced. If the + is specified as null then the key value mapping will be removed. - + - This is the most generic printing method that is intended to be used - by wrappers. + Removes the key value mapping for the key specified. - The event being logged. + The key to remove. + - Logs the specified logging event through this logger. + The MDC is deprecated and has been replaced by the . + The current MDC implementation forwards to the ThreadContext.Properties. + - This method must not throw any exception to the caller. + Remove the specified entry from this thread's MDC - + - Checks if this logger is enabled for a given passed as parameter. + Clear all entries in the MDC - The level to check. - - true if this logger is enabled for level, otherwise false. - + - Test if this logger is going to log events of the specified . + The MDC is deprecated and has been replaced by the . + The current MDC implementation forwards to the ThreadContext.Properties. + - This method must not throw any exception to the caller. + Remove all the entries from this thread's MDC - + - Deliver the to the attached appenders. + Implementation of Nested Diagnostic Contexts. - The event to log. + - Call the appenders in the hierarchy starting at - this. If no appenders could be found, emit a - warning. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + - This method calls all the appenders inherited from the - hierarchy circumventing any evaluation of whether to log or not - to log the particular log request. + A Nested Diagnostic Context, or NDC in short, is an instrument + to distinguish interleaved log output from different sources. Log + output is typically interleaved when a server handles multiple + clients near-simultaneously. - - - - - Closes all attached appenders implementing the interface. - - - Used to ensure that the appenders are correctly shutdown. + Interleaved log output can still be meaningful if each log entry + from different contexts had a distinctive stamp. This is where NDCs + come into play. + + + Note that NDCs are managed on a per thread basis. The NDC class + is made up of static methods that operate on the context of the + calling thread. + How to push a message into the context + + using(NDC.Push("my context message")) + { + ... all log calls will have 'my context message' included ... + + } // at the end of the using block the message is automatically removed + + + + Nicko Cadell + Gert Driesen - + - This is the most generic printing method. This generic form is intended to be used by wrappers + Initializes a new instance of the class. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. - - Generate a logging event for the specified using - the . - + Uses a private access modifier to prevent instantiation of this class. - + - Creates a new logging event and logs the event without further checks. + Gets the current context depth. - The declaring type of the method that is - the stack boundary into the logging system for this call. - The level of the message to be logged. - The message object to log. - The exception to log, including its stack trace. + The current context depth. + - Generates a logging event and delivers it to the attached - appenders. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + The number of context values pushed onto the context stack. + + + Used to record the current depth of the context. This can then + be restored using the method. + - + - Creates a new logging event and logs the event without further checks. + Clears all the contextual information held on the current thread. - The event being logged. + - Delivers the logging event to the attached appenders. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + Clears the stack of NDC data held on the current thread. - - - The fully qualified type of the Logger class. - - - - - The name of this logger. - - - + - The assigned level of this logger. + Creates a clone of the stack of context information. + A clone of the context info for this thread. + - The level variable need not be - assigned a value in which case it is inherited - form the hierarchy. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + The results of this method can be passed to the + method to allow child threads to inherit the context of their + parent thread. - + - The parent of this logger. + Inherits the contextual information from another thread. + The context stack to inherit. + - The parent of this logger. - All loggers have at least one ancestor which is the root logger. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + This thread will use the context information from the stack + supplied. This can be used to initialize child threads with + the same contextual information as their parent threads. These + contexts will NOT be shared. Any further contexts that + are pushed onto the stack will not be visible to the other. + Call to obtain a stack to pass to + this method. - + - Loggers need to know what Hierarchy they are in. + Removes the top context from the stack. + + The message in the context that was removed from the top + of the stack. + + - Loggers need to know what Hierarchy they are in. - The hierarchy that this logger is a member of is stored - here. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + Remove the top context from the stack, and return + it to the caller. If the stack is empty then an + empty string (not null) is returned. - - - Helper implementation of the interface - - - + - Flag indicating if child loggers inherit their parents appenders + Pushes a new context message. + The new context message. + + An that can be used to clean up + the context stack. + + - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + Pushes a new context onto the context stack. An + is returned that can be used to clean up the context stack. This + can be easily combined with the using keyword to scope the + context. + Simple example of using the Push method with the using keyword. + + using(log4net.NDC.Push("NDC_Message")) + { + log.Warn("This should have an NDC message"); + } + + - - - Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - - + - Gets or sets the parent logger in the hierarchy. + Pushes a new context message. - - The parent logger in the hierarchy. - + The new context message string format. + Arguments to be passed into messageFormat. + + An that can be used to clean up + the context stack. + + - Part of the Composite pattern that makes the hierarchy. - The hierarchy is parent linked rather than child linked. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + Pushes a new context onto the context stack. An + is returned that can be used to clean up the context stack. This + can be easily combined with the using keyword to scope the + context. + Simple example of using the Push method with the using keyword. + + var someValue = "ExampleContext" + using(log4net.NDC.PushFormat("NDC_Message {0}", someValue)) + { + log.Warn("This should have an NDC message"); + } + + - + - Gets or sets a value indicating if child loggers inherit their parent's appenders. + Removes the context information for this thread. It is + not required to call this method. - - true if child loggers inherit their parent's appenders. - + - Additivity is set to true by default, that is children inherit - the appenders of their ancestors by default. If this variable is - set to false then the appenders found in the - ancestors of this logger are not used. However, the children - of this logger will inherit its appenders, unless the children - have their additivity flag set to false too. See - the user manual for more details. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + This method is not implemented. - + - Gets the effective level for this logger. + Forces the stack depth to be at most . - The nearest level in the logger hierarchy. + The maximum depth of the stack + - Starting from this logger, searches the logger hierarchy for a - non-null level and returns it. Otherwise, returns the level of the - root logger. + The NDC is deprecated and has been replaced by the . + The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + + + + Forces the stack depth to be at most . + This may truncate the head of the stack. This only affects the + stack in the current thread. Also it does not prevent it from + growing, it only sets the maximum depth at the time of the + call. This can be used to return to a known context depth. - The Logger class is designed so that this method executes as - quickly as possible. - + - Gets or sets the where this - Logger instance is attached to. + The default object Renderer. - The hierarchy that this logger belongs to. - This logger must be attached to a single . + The default renderer supports rendering objects and collections to strings. + + + See the method for details of the output. + Nicko Cadell + Gert Driesen - + - Gets or sets the assigned , if any, for this Logger. + Default constructor - - The of this logger. - - The assigned can be null. + Default constructor - + - Get the appenders contained in this logger as an - . + Render the object to a string - A collection of the appenders in this logger + The map used to lookup renderers + The object to render + The writer to render to - Get the appenders contained in this logger as an - . If no appenders - can be found, then a is returned. + Render the object to a string. + + + The parameter is + provided to lookup and render other objects. This is + very useful where contains + nested objects of unknown type. The + method can be used to render these objects. + + + The default renderer supports rendering objects to strings as follows: + + + Value + Rendered String + + + null + + "(null)" + + + + + + + For a one dimensional array this is the + array type name, an open brace, followed by a comma + separated list of the elements (using the appropriate + renderer), followed by a close brace. + + + For example: int[] {1, 2, 3}. + + + If the array is not one dimensional the + Array.ToString() is returned. + + + + + , & + + + Rendered as an open brace, followed by a comma + separated list of the elements (using the appropriate + renderer), followed by a close brace. + + + For example: {a, b, c}. + + + All collection classes that implement its subclasses, + or generic equivalents all implement the interface. + + + + + + + + Rendered as the key, an equals sign ('='), and the value (using the appropriate + renderer). + + + For example: key=value. + + + + + other + + Object.ToString() + + + - + - Gets the logger name. + Render the array argument into a string - - The name of the logger. - + The map used to lookup renderers + the array to render + The writer to render to - The name of this logger + For a one dimensional array this is the + array type name, an open brace, followed by a comma + separated list of the elements (using the appropriate + renderer), followed by a close brace. For example: + int[] {1, 2, 3}. + + + If the array is not one dimensional the + Array.ToString() is returned. - + - Gets the where this - Logger instance is attached to. + Render the enumerator argument into a string - - The that this logger belongs to. - + The map used to lookup renderers + the enumerator to render + The writer to render to - Gets the where this - Logger instance is attached to. + Rendered as an open brace, followed by a comma + separated list of the elements (using the appropriate + renderer), followed by a close brace. For example: + {a, b, c}. - + - Construct a new Logger + Render the DictionaryEntry argument into a string - the name of the logger + The map used to lookup renderers + the DictionaryEntry to render + The writer to render to - Initializes a new instance of the class - with the specified name. + Render the key, an equals sign ('='), and the value (using the appropriate + renderer). For example: key=value. - + - Delegate used to handle logger creation event notifications. + Implement this interface in order to render objects as strings - The in which the has been created. - The event args that hold the instance that has been created. - Delegate used to handle logger creation event notifications. + Certain types require special case conversion to + string form. This conversion is done by an object renderer. + Object renderers implement the + interface. + Nicko Cadell + Gert Driesen - + - Provides data for the event. + Render the object to a string + The map used to lookup renderers + The object to render + The writer to render to - A event is raised every time a - is created. + Render the object to a + string. + + + The parameter is + provided to lookup and render other objects. This is + very useful where contains + nested objects of unknown type. The + method can be used to render these objects. - + - The created + Map class objects to an . + + + Maintains a mapping between types that require special + rendering and the that + is used to render them. + + + The method is used to render an + object using the appropriate renderers defined in this map. + + + Nicko Cadell + Gert Driesen - + - Constructor + Default Constructor - The that has been created. - Initializes a new instance of the event argument - class,with the specified . + Default constructor. - + - Gets the that has been created. + Render using the appropriate renderer. - - The that has been created. - + the object to render to a string + the object rendered as a string - The that has been created. + This is a convenience method used to render an object to a string. + The alternative method + should be used when streaming output to a . - + - Hierarchical organization of loggers + Render using the appropriate renderer. + the object to render to a string + The writer to render to - The casual user should not have to deal with this class - directly. - - - This class is specialized in retrieving loggers by name and - also maintaining the logger hierarchy. Implements the - interface. - - - The structure of the logger hierarchy is maintained by the - method. The hierarchy is such that children - link to their parent but parents do not have any references to their - children. Moreover, loggers can be instantiated in any order, in - particular descendant before ancestor. - - - In case a descendant is created before a particular ancestor, - then it creates a provision node for the ancestor and adds itself - to the provision node. Other descendants of the same ancestor add - themselves to the previously created provision node. + Find the appropriate renderer for the type of the + parameter. This is accomplished by calling the + method. Once a renderer is found, it is + applied on the object and the result is returned + as a . - Nicko Cadell - Gert Driesen - + - Base implementation of + Gets the renderer for the specified object type + the object to lookup the renderer for + the renderer for - - Default abstract implementation of the interface. - - - Skeleton implementation of the interface. - All types can extend this type. - + + Gets the renderer for the specified object type. + + + Syntactic sugar method that calls + with the type of the object parameter. + - Nicko Cadell - Gert Driesen - + - Interface implemented by logger repositories. + Gets the renderer for the specified type + the type to lookup the renderer for + the renderer for the specified type - This interface is implemented by logger repositories. e.g. - . - - - This interface is used by the - to obtain interfaces. + Returns the renderer for the specified type. + If no specific renderer has been defined the + will be returned. - Nicko Cadell - Gert Driesen - + - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. + Internal function to recursively search interfaces - The name of the logger to lookup - The Logger object with the name specified - - - If the names logger exists it is returned, otherwise - null is returned. - - + the type to lookup the renderer for + the renderer for the specified type - + - Returns all the currently defined loggers as an Array. + Get the default renderer instance - All the defined loggers + the default renderer - Returns all the currently defined loggers as an Array. + Get the default renderer - + - Returns a named logger instance + Clear the map of renderers - The name of the logger to retrieve - The logger object with the name specified - - - Returns a named logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - - - - Shutdown the repository - Shutting down a repository will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. + Clear the custom renderers defined by using + . The + cannot be removed. - + - Reset the repositories configuration to a default state + Register an for . + the type that will be rendered by + the renderer for - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. + Register an object renderer for a specific source type. + This renderer will be returned from a call to + specifying the same as an argument. - + - Log the through this repository. + Interface implemented by logger repository plugins. - the event to log - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. + Plugins define additional behavior that can be associated + with a . + The held by the + property is used to store the plugins for a repository. - - - - - Returns all the Appenders that are configured as an Array. - - All the Appenders - - Returns all the Appenders that are configured as an Array. + The log4net.Config.PluginAttribute can be used to + attach plugins to repositories created using configuration + attributes. + Nicko Cadell + Gert Driesen - + - The name of the repository + Gets the name of the plugin. - The name of the repository + The name of the plugin. - The name of the repository. + Plugins are stored in the + keyed by name. Each plugin instance attached to a + repository must be a unique name. - + - RendererMap accesses the object renderer map for this repository. + Attaches the plugin to the specified . - - RendererMap accesses the object renderer map for this repository. - + The that this plugin should be attached to. - RendererMap accesses the object renderer map for this repository. + A plugin may only be attached to a single repository. - The RendererMap holds a mapping between types and - objects. + This method is called when the plugin is attached to the repository. - + - The plugin map for this repository. + Is called when the plugin is to shutdown. - - The plugin map for this repository. - - The plugin map holds the instances - that have been attached to this repository. + This method is called to notify the plugin that + it should stop operating and should detach from + the repository. - + - Get the level map for the Repository. + Interface used to create plugins. - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. + Interface used to create a plugin. + Nicko Cadell + Gert Driesen - + - The threshold for all events in this repository + Creates the plugin object. - - The threshold for all events in this repository - + the new plugin instance - The threshold for all events in this repository. + Create and return a new plugin instance. - + - Flag indicates if this repository has been configured. + A strongly-typed collection of objects. - - Flag indicates if this repository has been configured. - - - - Flag indicates if this repository has been configured. - - + Nicko Cadell - + - Collection of internal messages captured during the most - recent configuration process. + Supports type-safe iteration over a . + - + - Event to notify that the repository has been shutdown. + Gets the current element in the collection. - - Event to notify that the repository has been shutdown. - - - - Event raised when the repository has been shutdown. - - - + - Event to notify that the repository has had its configuration reset. + Advances the enumerator to the next element in the collection. - - Event to notify that the repository has had its configuration reset. - - - - Event raised when the repository's configuration has been - reset to default. - - + + true if the enumerator was successfully advanced to the next element; + false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + - + - Event to notify that the repository has had its configuration changed. + Sets the enumerator to its initial position, before the first element in the collection. - - Event to notify that the repository has had its configuration changed. - - - - Event raised when the repository's configuration has been changed. - - - + - Repository specific properties + Creates a read-only wrapper for a PluginCollection instance. - - Repository specific properties - - - - These properties can be specified on a repository specific basis. - - + list to create a readonly wrapper arround + + A PluginCollection wrapper that is read-only. + - + - Default Constructor + Initializes a new instance of the PluginCollection class + that is empty and has the default initial capacity. - - - Initializes the repository with default (empty) properties. - - - + - Construct the repository using specific properties + Initializes a new instance of the PluginCollection class + that has the specified initial capacity. - the properties to set for this repository - - - Initializes the repository with specified properties. - - + + The number of elements that the new PluginCollection is initially capable of storing. + - + - Test if logger exists + Initializes a new instance of the PluginCollection class + that contains elements copied from the specified PluginCollection. - The name of the logger to lookup - The Logger object with the name specified - - - Check if the named logger exists in the repository. If so return - its reference, otherwise returns null. - - + The PluginCollection whose elements are copied to the new collection. - + - Returns all the currently defined loggers in the repository + Initializes a new instance of the PluginCollection class + that contains elements copied from the specified array. - All the defined loggers - - - Returns all the currently defined loggers in the repository as an Array. - - + The array whose elements are copied to the new list. - + - Return a new logger instance + Initializes a new instance of the PluginCollection class + that contains elements copied from the specified collection. - The name of the logger to retrieve - The logger object with the name specified - - - Return a new logger instance. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - - + The collection whose elements are copied to the new list. - + - Shutdown the repository + Type visible only to our subclasses + Used to access protected constructor - - - Shutdown the repository. Can be overridden in a subclass. - This base class implementation notifies the - listeners and all attached plugins of the shutdown event. - - + - + - Reset the repositories configuration to a default state + A value - - - Reset all values contained in this instance to their - default state. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. - - - + - Log the logEvent through this repository. + Allow subclasses to avoid our default constructors - the event to log - - - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. - - + + - + - Returns all the Appenders that are configured as an Array. + Gets the number of elements actually contained in the PluginCollection. - All the Appenders - - - Returns all the Appenders that are configured as an Array. - - - + - The fully qualified type of the LoggerRepositorySkeleton class. + Copies the entire PluginCollection to a one-dimensional + array. - - Used by the internal logger to record the Type of the - log message. - + The one-dimensional array to copy to. - + - Adds an object renderer for a specific class. + Copies the entire PluginCollection to a one-dimensional + array, starting at the specified index of the target array. - The type that will be rendered by the renderer supplied. - The object renderer used to render the object. - - - Adds an object renderer for a specific class. - - + The one-dimensional array to copy to. + The zero-based index in at which copying begins. - + - Notify the registered listeners that the repository is shutting down + Gets a value indicating whether access to the collection is synchronized (thread-safe). - Empty EventArgs - - - Notify any listeners that this repository is shutting down. - - + false, because the backing type is an array, which is never thread-safe. - + - Notify the registered listeners that the repository has had its configuration reset + Gets an object that can be used to synchronize access to the collection. - Empty EventArgs - - - Notify any listeners that this repository's configuration has been reset. - - + + An object that can be used to synchronize access to the collection. + - + - Notify the registered listeners that the repository has had its configuration changed + Gets or sets the at the specified index. - Empty EventArgs - - - Notify any listeners that this repository's configuration has changed. - - + + The at the specified index. + + The zero-based index of the element to get or set. + + is less than zero. + -or- + is equal to or greater than . + - + - Raise a configuration changed event on this repository + Adds a to the end of the PluginCollection. - EventArgs.Empty - - - Applications that programmatically change the configuration of the repository should - raise this event notification to notify listeners. - - + The to be added to the end of the PluginCollection. + The index at which the value has been added. - + - Flushes all configured Appenders that implement . + Removes all elements from the PluginCollection. - The maximum time in milliseconds to wait for logging events from asycnhronous appenders to be flushed, - or to wait indefinitely. - True if all logging events were flushed successfully, else false. - + - The name of the repository + Creates a shallow copy of the . + + A new with a shallow copy of the collection data. + + + + Determines whether a given is in the PluginCollection. + + The to check for. + true if is found in the PluginCollection; otherwise, false. + + + + Returns the zero-based index of the first occurrence of a + in the PluginCollection. + + The to locate in the PluginCollection. + + The zero-based index of the first occurrence of + in the entire PluginCollection, if found; otherwise, -1. + + + + + Inserts an element into the PluginCollection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + is less than zero + -or- + is equal to or greater than . + + + + + Removes the first occurrence of a specific from the PluginCollection. + + The to remove from the PluginCollection. + + The specified was not found in the PluginCollection. + + + + + Removes the element at the specified index of the PluginCollection. + + The zero-based index of the element to remove. + + is less than zero. + -or- + is equal to or greater than . + + + + + Gets a value indicating whether the collection has a fixed size. + + true if the collection has a fixed size; otherwise, false. The default is false. + + + + Gets a value indicating whether the IList is read-only. + + true if the collection is read-only; otherwise, false. The default is false. + + + + Returns an enumerator that can iterate through the PluginCollection. + + An for the entire PluginCollection. + + + + Gets or sets the number of elements the PluginCollection can contain. - The string name of the repository + The number of elements the PluginCollection can contain. - - - The name of this repository. The name is - used to store and lookup the repositories - stored by the . - - - + - The threshold for all events in this repository + Adds the elements of another PluginCollection to the current PluginCollection. + + The PluginCollection whose elements should be added to the end of the current PluginCollection. + The new of the PluginCollection. + + + + Adds the elements of a array to the current PluginCollection. + + The array whose elements should be added to the end of the PluginCollection. + The new of the PluginCollection. + + + + Adds the elements of a collection to the current PluginCollection. + + The collection whose elements should be added to the end of the PluginCollection. + The new of the PluginCollection. + + + + Sets the capacity to the actual number of elements. + + + + + is less than zero. + -or- + is equal to or greater than . + + + + + is less than zero. + -or- + is equal to or greater than . + + + + + Supports simple iteration over a . + + + + + + Initializes a new instance of the Enumerator class. + + + + + + Gets the current element in the collection. - The threshold for all events in this repository + The current element in the collection. + + + + Advances the enumerator to the next element in the collection. + + + true if the enumerator was successfully advanced to the next element; + false if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was created. + + + + + Sets the enumerator to its initial position, before the first element in the collection. + + + + + + + + Map of repository plugins. + - The threshold for all events in this repository + This class is a name keyed map of the plugins that are + attached to a repository. + Nicko Cadell + Gert Driesen - + - RendererMap accesses the object renderer map for this repository. + Constructor - - RendererMap accesses the object renderer map for this repository. - + The repository that the plugins should be attached to. - RendererMap accesses the object renderer map for this repository. - - - The RendererMap holds a mapping between types and - objects. + Initialize a new instance of the class with a + repository that the plugins should be attached to. - + - The plugin map for this repository. + Gets a by name. - - The plugin map for this repository. - + The name of the to lookup. + + The from the map with the name specified, or + null if no plugin is found. + - The plugin map holds the instances - that have been attached to this repository. + Lookup a plugin by name. If the plugin is not found null + will be returned. - + - Get the level map for the Repository. + Gets all possible plugins as a list of objects. + All possible plugins as a list of objects. - Get the level map for the Repository. - - - The level map defines the mappings between - level names and objects in - this repository. + Get a collection of all the plugins defined in this map. - + - Flag indicates if this repository has been configured. + Adds a to the map. - - Flag indicates if this repository has been configured. - + The to add to the map. - Flag indicates if this repository has been configured. + The will be attached to the repository when added. + + + If there already exists a plugin with the same name + attached to the repository then the old plugin will + be and replaced with + the new plugin. - - - Contains a list of internal messages captures during the - last configuration. - - - + - Event to notify that the repository has been shutdown. + Removes a from the map. - - Event to notify that the repository has been shutdown. - + The to remove from the map. - Event raised when the repository has been shutdown. + Remove a specific plugin from this map. - + - Event to notify that the repository has had its configuration reset. + Base implementation of - - Event to notify that the repository has had its configuration reset. - - Event raised when the repository's configuration has been - reset to default. + Default abstract implementation of the + interface. This base class can be used by implementors + of the interface. + Nicko Cadell + Gert Driesen - + - Event to notify that the repository has had its configuration changed. + Constructor - - Event to notify that the repository has had its configuration changed. - + the name of the plugin - - Event raised when the repository's configuration has been changed. - + Initializes a new Plugin with the specified name. - + - Repository specific properties + Gets or sets the name of the plugin. - Repository specific properties + The name of the plugin. - These properties can be specified on a repository specific basis + + Plugins are stored in the + keyed by name. Each plugin instance attached to a + repository must be a unique name. + + + The name of the plugin must not change one the + plugin has been attached to a repository. + - + - Basic Configurator interface for repositories + Attaches this plugin to a . + The that this plugin should be attached to. - Interface used by basic configurator to configure a - with a default . + A plugin may only be attached to a single repository. - A should implement this interface to support - configuration by the . + This method is called when the plugin is attached to the repository. - Nicko Cadell - Gert Driesen - + - Initialize the repository using the specified appender + Is called when the plugin is to shutdown. - the appender to use to log all logging events - Configure the repository to route all logging events to the - specified appender. + This method is called to notify the plugin that + it should stop operating and should detach from + the repository. - + - Initialize the repository using the specified appenders + The repository for this plugin - the appenders to use to log all logging events + + The that this plugin is attached to. + - Configure the repository to route all logging events to the - specified appenders. + Gets or sets the that this plugin is + attached to. - + - Configure repository using XML + The name of this plugin. + + + + + The repository this plugin is attached to. + + + + + Plugin that listens for events from the - Interface used by Xml configurator to configure a . + This plugin publishes an instance of + on a specified . This listens for logging events delivered from + a remote . - A should implement this interface to support - configuration by the . + When an event is received it is relogged within the attached repository + as if it had been raised locally. Nicko Cadell Gert Driesen - + - Initialize the repository using the specified config + Default constructor - the element containing the root of the config - The schema for the XML configuration data is defined by - the implementation. + Initializes a new instance of the class. - - - - - Default constructor - - - Initializes a new instance of the class. + The property must be set. - + - Construct with properties + Construct with sink Uri. - The properties to pass to this repository. + The name to publish the sink under in the remoting infrastructure. + See for more details. - Initializes a new instance of the class. + Initializes a new instance of the class + with specified name. - + - Construct with a logger factory + Gets or sets the URI of this sink. - The factory to use to create new logger instances. + + The URI of this sink. + - Initializes a new instance of the class with - the specified . + This is the name under which the object is marshaled. + - + - Construct with properties and a logger factory + Attaches this plugin to a . - The properties to pass to this repository. - The factory to use to create new logger instances. + The that this plugin should be attached to. - Initializes a new instance of the class with - the specified . + A plugin may only be attached to a single repository. - - - - - Test if a logger exists - - The name of the logger to lookup - The Logger object with the name specified - - Check if the named logger exists in the hierarchy. If so return - its reference, otherwise returns null. + This method is called when the plugin is attached to the repository. - + - Returns all the currently defined loggers in the hierarchy as an Array + Is called when the plugin is to shutdown. - All the defined loggers - Returns all the currently defined loggers in the hierarchy as an Array. - The root logger is not included in the returned - enumeration. + When the plugin is shutdown the remote logging + sink is disconnected. - + - Return a new logger instance named as the first parameter using - the default factory. + The fully qualified type of the RemoteLoggingServerPlugin class. - - Return a new logger instance named as the first parameter using - the default factory. - - - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated and - then linked with its existing ancestors as well as children. - + Used by the internal logger to record the Type of the + log message. - The name of the logger to retrieve - The logger object with the name specified - + - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. + Delivers objects to a remote sink. - Shutting down a hierarchy will safely close and remove - all appenders in all loggers including the root logger. - - - Some appenders need to be closed before the - application exists. Otherwise, pending logging events might be - lost. - - - The Shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. + Internal class used to listen for logging events + and deliver them to the local repository. - + - Reset all values contained in this hierarchy instance to their default. + Constructor + The repository to log to. - Reset all values contained in this hierarchy instance to their - default. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set its default "off" value. - - - Existing loggers are not removed. They are just reset. - - - This method should be used sparingly and with care as it will - block all logging until it is completed. + Initializes a new instance of the for the + specified . - + - Log the logEvent through this hierarchy. + Logs the events to the repository. - the event to log + The events to log. - This method should not normally be used to log. - The interface should be used - for routine logging. This interface can be obtained - using the method. - - - The logEvent is delivered to the appropriate logger and - that logger is then responsible for logging the event. + The events passed are logged to the - + - Returns all the Appenders that are currently configured + Obtains a lifetime service object to control the lifetime + policy for this instance. - An array containing all the currently configured appenders + null to indicate that this instance should live forever. - Returns all the instances that are currently configured. - All the loggers are searched for appenders. The appenders may also be containers - for appenders and these are also searched for additional loggers. - - - The list returned is unordered but does not contain duplicates. + Obtains a lifetime service object to control the lifetime + policy for this instance. This object should live forever + therefore this implementation returns null. - + - Collect the appenders from an . - The appender may also be a container. + The underlying that events should + be logged to. - - - + - Collect the appenders from an container + - - - + - Initialize the log4net system using the specified appender + - the appender to use to log all logging events + - + - Initialize the log4net system using the specified appenders + - the appenders to use to log all logging events - + - Initialize the log4net system using the specified appenders + Default implementation of - the appenders to use to log all logging events - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. + This default implementation of the + interface is used to create the default subclass + of the object. + Nicko Cadell + Gert Driesen - - - Initialize the log4net system using the specified config - - the element containing the root of the config - - + - Initialize the log4net system using the specified config + Default constructor - the element containing the root of the config - This method provides the same functionality as the - method implemented - on this object, but it is protected and therefore can be called by subclasses. + Initializes a new instance of the class. - + - Test if this hierarchy is disabled for the specified . + Create a new instance - The level to check against. - - true if the repository is disabled for the level argument, false otherwise. - + The that will own the . + The name of the . + The instance for the specified name. - If this hierarchy has not been configured then this method will - always return true. + Create a new instance with the + specified name. - This method will return true if this repository is - disabled for level object passed as parameter and - false otherwise. + Called by the to create + new named instances. - See also the property. + If the is null then the root logger + must be returned. - + - Clear all logger definitions from the internal hashtable + Default internal subclass of - This call will clear all logger definitions from the internal - hashtable. Invoking this method will irrevocably mess up the - logger hierarchy. + This subclass has no additional behavior over the + class but does allow instances + to be created. + + + + + Construct a new Logger + + the name of the logger + - You should really know what you are doing before - invoking this method. + Initializes a new instance of the class + with the specified name. - + - Return a new logger instance named as the first parameter using - . + Delegate used to handle logger creation event notifications. - The name of the logger to retrieve - The factory that will make the new logger instance - The logger object with the name specified + The in which the has been created. + The event args that hold the instance that has been created. - If a logger of that name already exists, then it will be - returned. Otherwise, a new logger will be instantiated by the - parameter and linked with its existing - ancestors as well as children. + Delegate used to handle logger creation event notifications. - + - Sends a logger creation event to all registered listeners + Provides data for the event. - The newly created logger - Raises the logger creation event. + + A event is raised every time a + is created. + - + - Updates all the parents of the specified logger + The created - The logger to update the parents for + + + + Constructor + + The that has been created. - This method loops through all the potential parents of - . There 3 possible cases: + Initializes a new instance of the event argument + class,with the specified . - - - No entry for the potential parent of exists - - We create a ProvisionNode for this potential - parent and insert in that provision node. - - - - The entry is of type Logger for the potential parent. - - The entry is 's nearest existing parent. We - update 's parent field with this entry. We also break from - he loop because updating our parent's parent is our parent's - responsibility. - - - - The entry is of type ProvisionNode for this potential parent. - - We add to the list of children for this - potential parent. - - - - + - Replace a with a in the hierarchy. + Gets the that has been created. - - + + The that has been created. + - We update the links for all the children that placed themselves - in the provision node 'pn'. The second argument 'log' is a - reference for the newly created Logger, parent of all the - children in 'pn'. + The that has been created. + + + + + Hierarchical organization of loggers + + - We loop on all the children 'c' in 'pn'. + The casual user should not have to deal with this class + directly. - If the child 'c' has been already linked to a child of - 'log' then there is no need to update 'c'. + This class is specialized in retrieving loggers by name and + also maintaining the logger hierarchy. Implements the + interface. - Otherwise, we set log's parent field to c's parent and set - c's parent field to log. + The structure of the logger hierarchy is maintained by the + method. The hierarchy is such that children + link to their parent but parents do not have any references to their + children. Moreover, loggers can be instantiated in any order, in + particular descendant before ancestor. + + + In case a descendant is created before a particular ancestor, + then it creates a provision node for the ancestor and adds itself + to the provision node. Other descendants of the same ancestor add + themselves to the previously created provision node. + Nicko Cadell + Gert Driesen - + - Define or redefine a Level using the values in the argument + Event used to notify that a logger has been created. - the level values - Define or redefine a Level using the values in the argument - - - Supports setting levels via the configuration file. + Event raised when a logger is created. - + - Set a Property using the values in the argument + Default constructor - the property value - Set a Property using the values in the argument. + Initializes a new instance of the class. + + + + + Construct with properties + + The properties to pass to this repository. + - Supports setting property values via the configuration file. + Initializes a new instance of the class. - + - The fully qualified type of the Hierarchy class. + Construct with a logger factory + The factory to use to create new logger instances. - Used by the internal logger to record the Type of the - log message. + + Initializes a new instance of the class with + the specified . + - + - Event used to notify that a logger has been created. + Construct with properties and a logger factory + The properties to pass to this repository. + The factory to use to create new logger instances. - Event raised when a logger is created. + Initializes a new instance of the class with + the specified . @@ -23160,2348 +22538,2416 @@ - Gets or sets the default instance. + Gets or sets the default instance. - The default + The default The logger factory is used to create logger instances. - + - A class to hold the value, name and display name for a level + Test if a logger exists + The name of the logger to lookup + The Logger object with the name specified - A class to hold the value, name and display name for a level + Check if the named logger exists in the hierarchy. If so return + its reference, otherwise returns null. - - - Override Object.ToString to return sensible debug info - - string info about this object - - + - Value of the level + Returns all the currently defined loggers in the hierarchy as an Array + All the defined loggers - If the value is not set (defaults to -1) the value will be looked - up for the current level with the same name. + Returns all the currently defined loggers in the hierarchy as an Array. + The root logger is not included in the returned + enumeration. - + - Name of the level + Return a new logger instance named as the first parameter using + the default factory. - - The name of the level - - The name of the level. + Return a new logger instance named as the first parameter using + the default factory. - - - - - Display name for the level - - - The display name of the level - - - The display name of the level. + If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated and + then linked with its existing ancestors as well as children. + The name of the logger to retrieve + The logger object with the name specified - + - Used internally to accelerate hash table searches. + Shutting down a hierarchy will safely close and remove + all appenders in all loggers including the root logger. - Internal class used to improve performance of - string keyed hashtables. + Shutting down a hierarchy will safely close and remove + all appenders in all loggers including the root logger. - The hashcode of the string is cached for reuse. - The string is stored as an interned value. - When comparing two objects for equality - the reference equality of the interned strings is compared. + Some appenders need to be closed before the + application exists. Otherwise, pending logging events might be + lost. + + + The Shutdown method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - Nicko Cadell - Gert Driesen - + - Construct key with string name + Reset all values contained in this hierarchy instance to their default. - Initializes a new instance of the class - with the specified name. + Reset all values contained in this hierarchy instance to their + default. This removes all appenders from all loggers, sets + the level of all non-root loggers to null, + sets their additivity flag to true and sets the level + of the root logger to . Moreover, + message disabling is set its default "off" value. - Stores the hashcode of the string and interns - the string key to optimize comparisons. + Existing loggers are not removed. They are just reset. - - The Compact Framework 1.0 the - method does not work. On the Compact Framework - the string keys are not interned nor are they - compared by reference. - - - The name of the logger. - - - - Returns a hash code for the current instance. - - A hash code for the current instance. - - Returns the cached hashcode. + This method should be used sparingly and with care as it will + block all logging until it is completed. - + - Determines whether two instances - are equal. + Log the logEvent through this hierarchy. - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - + the event to log - Compares the references of the interned strings. + This method should not normally be used to log. + The interface should be used + for routine logging. This interface can be obtained + using the method. + + + The logEvent is delivered to the appropriate logger and + that logger is then responsible for logging the event. - + - Provision nodes are used where no logger instance has been specified + Returns all the Appenders that are currently configured + An array containing all the currently configured appenders - instances are used in the - when there is no specified - for that node. + Returns all the instances that are currently configured. + All the loggers are searched for appenders. The appenders may also be containers + for appenders and these are also searched for additional loggers. - A provision node holds a list of child loggers on behalf of - a logger that does not exist. + The list returned is unordered but does not contain duplicates. - Nicko Cadell - Gert Driesen - + - Create a new provision node with child node + Collect the appenders from an . + The appender may also be a container. - A child logger to add to this node. - - - Initializes a new instance of the class - with the specified child logger. - - + + - + - The sits at the root of the logger hierarchy tree. + Collect the appenders from an container - - - The is a regular except - that it provides several guarantees. - - - First, it cannot be assigned a null - level. Second, since the root logger cannot have a parent, the - property always returns the value of the - level field without walking the hierarchy. - - - Nicko Cadell - Gert Driesen + + - + - Construct a + Initialize the log4net system using the specified appender - The level to assign to the root logger. - - - Initializes a new instance of the class with - the specified logging level. - - - The root logger names itself as "root". However, the root - logger cannot be retrieved by name. - - + the appender to use to log all logging events - + - The fully qualified type of the RootLogger class. + Initialize the log4net system using the specified appenders - - Used by the internal logger to record the Type of the - log message. - + the appenders to use to log all logging events - + - Gets the assigned level value without walking the logger hierarchy. + Initialize the log4net system using the specified appenders - The assigned level value without walking the logger hierarchy. + the appenders to use to log all logging events - Because the root logger cannot have a parent and its level - must not be null this property just returns the - value of . + This method provides the same functionality as the + method implemented + on this object, but it is protected and therefore can be called by subclasses. - + - Gets or sets the assigned for the root logger. + Initialize the log4net system using the specified config - - The of the root logger. - - - - Setting the level of the root logger to a null reference - may have catastrophic results. We prevent this here. - - + the element containing the root of the config - + - Initializes the log4net environment using an XML DOM. + Initialize the log4net system using the specified config + the element containing the root of the config - Configures a using an XML DOM. + This method provides the same functionality as the + method implemented + on this object, but it is protected and therefore can be called by subclasses. - Nicko Cadell - Gert Driesen - + - Construct the configurator for a hierarchy + Test if this hierarchy is disabled for the specified . - The hierarchy to build. + The level to check against. + + true if the repository is disabled for the level argument, false otherwise. + - Initializes a new instance of the class - with the specified . + If this hierarchy has not been configured then this method will + always return true. + + + This method will return true if this repository is + disabled for level object passed as parameter and + false otherwise. + + + See also the property. - + - Configure the hierarchy by parsing a DOM tree of XML elements. + Clear all logger definitions from the internal hashtable - The root element to parse. - Configure the hierarchy by parsing a DOM tree of XML elements. + This call will clear all logger definitions from the internal + hashtable. Invoking this method will irrevocably mess up the + logger hierarchy. + + + You should really know what you are doing before + invoking this method. - + - Parse appenders by IDREF. + Return a new logger instance named as the first parameter using + . - The appender ref element. - The instance of the appender that the ref refers to. + The name of the logger to retrieve + The factory that will make the new logger instance + The logger object with the name specified - Parse an XML element that represents an appender and return - the appender. + If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated by the + parameter and linked with its existing + ancestors as well as children. - + - Parses an appender element. + Sends a logger creation event to all registered listeners - The appender element. - The appender instance or null when parsing failed. + The newly created logger - - Parse an XML element that represents an appender and return - the appender instance. - + Raises the logger creation event. - + - Parses a logger element. + Updates all the parents of the specified logger - The logger element. + The logger to update the parents for - Parse an XML element that represents a logger. + This method loops through all the potential parents of + . There 3 possible cases: + + + No entry for the potential parent of exists + + We create a ProvisionNode for this potential + parent and insert in that provision node. + + + + The entry is of type Logger for the potential parent. + + The entry is 's nearest existing parent. We + update 's parent field with this entry. We also break from + he loop because updating our parent's parent is our parent's + responsibility. + + + + The entry is of type ProvisionNode for this potential parent. + + We add to the list of children for this + potential parent. + + + - + - Parses the root logger element. + Replace a with a in the hierarchy. - The root element. + + - Parse an XML element that represents the root logger. + We update the links for all the children that placed themselves + in the provision node 'pn'. The second argument 'log' is a + reference for the newly created Logger, parent of all the + children in 'pn'. + + + We loop on all the children 'c' in 'pn'. + + + If the child 'c' has been already linked to a child of + 'log' then there is no need to update 'c'. + + + Otherwise, we set log's parent field to c's parent and set + c's parent field to log. - + - Parses the children of a logger element. + Define or redefine a Level using the values in the argument - The category element. - The logger instance. - Flag to indicate if the logger is the root logger. + the level values - Parse the child elements of a <logger> element. + Define or redefine a Level using the values in the argument + + + Supports setting levels via the configuration file. - + - Parses an object renderer. + A class to hold the value, name and display name for a level - The renderer element. - Parse an XML element that represents a renderer. + A class to hold the value, name and display name for a level - + - Parses a level element. + Value of the level - The level element. - The logger object to set the level on. - Flag to indicate if the logger is the root logger. - Parse an XML element that represents a level. + If the value is not set (defaults to -1) the value will be looked + up for the current level with the same name. - + - Sets a parameter on an object. + Name of the level - The parameter element. - The object to set the parameter on. + + The name of the level + - The parameter name must correspond to a writable property - on the object. The value of the parameter is a string, - therefore this function will attempt to set a string - property first. If unable to set a string property it - will inspect the property and its argument type. It will - attempt to call a static method called Parse on the - type of the property. This method will take a single - string argument and return a value that can be used to - set the property. + + The name of the level. + - - - Test if an element has no attributes or child elements - - the element to inspect - true if the element has any attributes or child elements, false otherwise - - - - Test if a is constructible with Activator.CreateInstance. - - the type to inspect - true if the type is creatable using a default constructor, false otherwise - - + - Look for a method on the that matches the supplied + Display name for the level - the type that has the method - the name of the method - the method info found + + The display name of the level + - The method must be a public instance method on the . - The method must be named or "Add" followed by . - The method must take a single parameter. + The display name of the level. - + - Converts a string value to a target type. + Override Object.ToString to return sensible debug info - The type of object to convert the string to. - The string value to use as the value of the object. - - - An object of type with value or - null when the conversion could not be performed. - - + string info about this object - + - Creates an object as specified in XML. + Set a Property using the values in the argument - The XML element that contains the definition of the object. - The object type to use if not explicitly specified. - The type that the returned object must be or must inherit from. - The object or null + the property value - Parse an XML element and create an object instance based on the configuration - data. + Set a Property using the values in the argument. - The type of the instance may be specified in the XML. If not - specified then the is used - as the type. However the type is specified it must support the - type. + Supports setting property values via the configuration file. - - - key: appenderName, value: appender. - - - - - The Hierarchy being configured. - - - + - The fully qualified type of the XmlHierarchyConfigurator class. + The fully qualified type of the Hierarchy class. Used by the internal logger to record the Type of the log message. - - - - - - - - - - - - - - - - - + - Delegate used to handle logger repository shutdown event notifications + Interface abstracts creation of instances - The that is shutting down. - Empty event args - Delegate used to handle logger repository shutdown event notifications. + This interface is used by the to + create new objects. - - - - - Delegate used to handle logger repository configuration reset event notifications - - The that has had its configuration reset. - Empty event args - - Delegate used to handle logger repository configuration reset event notifications. + The method is called + to create a named . - - - - - Delegate used to handle event notifications for logger repository configuration changes. - - The that has had its configuration changed. - Empty event arguments. - - Delegate used to handle event notifications for logger repository configuration changes. + Implement this interface to create new subclasses of . + Nicko Cadell + Gert Driesen - + - Write the name of the current AppDomain to the output + Create a new instance + The that will own the . + The name of the . + The instance for the specified name. - Write the name of the current AppDomain to the output writer + Create a new instance with the + specified name. - - Nicko Cadell - - - - Write the name of the current AppDomain to the output - - the writer to write to - null, state is not set - - Writes name of the current AppDomain to the output . + Called by the to create + new named instances. + + + If the is null then the root logger + must be returned. - + - AppSetting pattern converter + Implementation of used by - This pattern converter reads appSettings from the application configuration file. + Internal class used to provide implementation of + interface. Applications should use to get + logger instances. - If the is specified then that will be used to - lookup a single appSettings value. If no is specified - then all appSettings will be dumped as a list of key value pairs. + This is one of the central classes in the log4net implementation. One of the + distinctive features of log4net are hierarchical loggers and their + evaluation. The organizes the + instances into a rooted tree hierarchy. - A typical use is to specify a base directory for log files, e.g. - - - - - ... - - - ]]> - + The class is abstract. Only concrete subclasses of + can be created. The + is used to create instances of this type for the . + Nicko Cadell + Gert Driesen + Aspi Havewala + Douglas de la Torre - + - Write the property value to the output + This constructor created a new instance and + sets its name. - that will receive the formatted result. - null, state is not set + The name of the . - Writes out the value of a named property. The property name - should be set in the - property. + This constructor is protected and designed to be used by + a subclass that is not abstract. - If the is set to null - then all the properties are written as key value pairs. + Loggers are constructed by + objects. See for the default + logger creator. - + - Write the current date to the output + Gets or sets the parent logger in the hierarchy. + + The parent logger in the hierarchy. + - Date pattern converter, uses a to format - the current date and time to the writer as a string. - - - The value of the determines - the formatting of the date. The following values are allowed: - - - Option value - Output - - - ISO8601 - - Uses the formatter. - Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. - - - - DATE - - Uses the formatter. - Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". - - - - ABSOLUTE - - Uses the formatter. - Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". - - - - other - - Any other pattern string uses the formatter. - This formatter passes the pattern string to the - method. - For details on valid patterns see - DateTimeFormatInfo Class. - - - - - - The date and time is in the local time zone and is rendered in that zone. - To output the time in Universal time see . + Part of the Composite pattern that makes the hierarchy. + The hierarchy is parent linked rather than child linked. - Nicko Cadell - + - The used to render the date to a string + Gets or sets a value indicating if child loggers inherit their parent's appenders. + + true if child loggers inherit their parent's appenders. + - The used to render the date to a string + Additivity is set to true by default, that is children inherit + the appenders of their ancestors by default. If this variable is + set to false then the appenders found in the + ancestors of this logger are not used. However, the children + of this logger will inherit its appenders, unless the children + have their additivity flag set to false too. See + the user manual for more details. - + - Initialize the converter options + Gets the effective level for this logger. + The nearest level in the logger hierarchy. - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + Starting from this logger, searches the logger hierarchy for a + non-null level and returns it. Otherwise, returns the level of the + root logger. + The Logger class is designed so that this method executes as + quickly as possible. - + - Write the current date to the output + Gets or sets the where this + Logger instance is attached to. - that will receive the formatted result. - null, state is not set + The hierarchy that this logger belongs to. - Pass the current date and time to the - for it to render it to the writer. - - - The date and time passed is in the local time zone. + This logger must be attached to a single . - - - The fully qualified type of the DatePatternConverter class. - - - Used by the internal logger to record the Type of the - log message. - - - + - Write an folder path to the output + Gets or sets the assigned , if any, for this Logger. + + The of this logger. + - Write an special path environment folder path to the output writer. - The value of the determines - the name of the variable to output. - should be a value in the enumeration. + The assigned can be null. - Ron Grabowski - + - Write an special path environment folder path to the output + Add to the list of appenders of this + Logger instance. - the writer to write to - null, state is not set + An appender to add to this logger - Writes the special path environment folder path to the output . - The name of the special path environment folder path to output must be set - using the - property. + Add to the list of appenders of this + Logger instance. + + + If is already in the list of + appenders, then it won't be added again. - + - The fully qualified type of the EnvironmentFolderPathPatternConverter class. + Get the appenders contained in this logger as an + . + A collection of the appenders in this logger - Used by the internal logger to record the Type of the - log message. + + Get the appenders contained in this logger as an + . If no appenders + can be found, then a is returned. + - + - Write an environment variable to the output + Look for the appender named as name + The name of the appender to lookup + The appender with the name specified, or null. - Write an environment variable to the output writer. - The value of the determines - the name of the variable to output. + Returns the named appender, or null if the appender is not found. - Nicko Cadell - + - Write an environment variable to the output + Remove all previously added appenders from this Logger instance. - the writer to write to - null, state is not set - Writes the environment variable to the output . - The name of the environment variable to output must be set - using the - property. + Remove all previously added appenders from this Logger instance. + + + This is useful when re-reading configuration information. - + - The fully qualified type of the EnvironmentPatternConverter class. + Remove the appender passed as parameter form the list of appenders. + The appender to remove + The appender removed from the list - Used by the internal logger to record the Type of the - log message. + + Remove the appender passed as parameter form the list of appenders. + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. + - + - Write the current thread identity to the output + Remove the appender passed as parameter form the list of appenders. + The name of the appender to remove + The appender removed from the list - Write the current thread identity to the output writer + Remove the named appender passed as parameter form the list of appenders. + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. - Nicko Cadell - + - Write the current thread identity to the output + Gets the logger name. - the writer to write to - null, state is not set + + The name of the logger. + - Writes the current thread identity to the output . + The name of this logger - - - The fully qualified type of the IdentityPatternConverter class. - - - Used by the internal logger to record the Type of the - log message. - - - + - Pattern converter for literal string instances in the pattern + This generic form is intended to be used by wrappers. + The declaring type of the method that is + the stack boundary into the logging system for this call. + The level of the message to be logged. + The message object to log. + The exception to log, including its stack trace. - Writes the literal string value specified in the - property to - the output. + Generate a logging event for the specified using + the and . - - Nicko Cadell - - - - Set the next converter in the chain - - The next pattern converter in the chain - The next pattern converter - - Special case the building of the pattern converter chain - for instances. Two adjacent - literals in the pattern can be represented by a single combined - pattern converter. This implementation detects when a - is added to the chain - after this converter and combines its value with this converter's - literal value. + This method must not throw any exception to the caller. - + - Write the literal to the output + This is the most generic printing method that is intended to be used + by wrappers. - the writer to write to - null, not set + The event being logged. - Override the formatting behavior to ignore the FormattingInfo - because we have a literal instead. + Logs the specified logging event through this logger. - Writes the value of - to the output . + This method must not throw any exception to the caller. - + - Convert this pattern into the rendered message + Checks if this logger is enabled for a given passed as parameter. - that will receive the formatted result. - null, not set + The level to check. + + true if this logger is enabled for level, otherwise false. + - This method is not used. + Test if this logger is going to log events of the specified . + + + This method must not throw any exception to the caller. - + - Writes a newline to the output + Gets the where this + Logger instance is attached to. + + The that this logger belongs to. + - Writes the system dependent line terminator to the output. - This behavior can be overridden by setting the : + Gets the where this + Logger instance is attached to. - - - Option Value - Output - - - DOS - DOS or Windows line terminator "\r\n" - - - UNIX - UNIX line terminator "\n" - - - Nicko Cadell - + - Initialize the converter + Deliver the to the attached appenders. + The event to log. - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. + Call the appenders in the hierarchy starting at + this. If no appenders could be found, emit a + warning. - If any of the configuration properties are modified then - must be called again. + This method calls all the appenders inherited from the + hierarchy circumventing any evaluation of whether to log or not + to log the particular log request. - + - Write the current process ID to the output + Closes all attached appenders implementing the interface. - Write the current process ID to the output writer + Used to ensure that the appenders are correctly shutdown. - Nicko Cadell - + - Write the current process ID to the output + This is the most generic printing method. This generic form is intended to be used by wrappers - the writer to write to - null, state is not set + The level of the message to be logged. + The message object to log. + The exception to log, including its stack trace. - Write the current process ID to the output . + Generate a logging event for the specified using + the . - - - The fully qualified type of the ProcessIdPatternConverter class. - - - Used by the internal logger to record the Type of the - log message. - - - + - Property pattern converter + Creates a new logging event and logs the event without further checks. + The declaring type of the method that is + the stack boundary into the logging system for this call. + The level of the message to be logged. + The message object to log. + The exception to log, including its stack trace. - This pattern converter reads the thread and global properties. - The thread properties take priority over global properties. - See for details of the - thread properties. See for - details of the global properties. - - - If the is specified then that will be used to - lookup a single property. If no is specified - then all properties will be dumped as a list of key value pairs. + Generates a logging event and delivers it to the attached + appenders. - Nicko Cadell - + - Write the property value to the output + Creates a new logging event and logs the event without further checks. - that will receive the formatted result. - null, state is not set + The event being logged. - Writes out the value of a named property. The property name - should be set in the - property. - - - If the is set to null - then all the properties are written as key value pairs. + Delivers the logging event to the attached appenders. - + - A Pattern converter that generates a string of random characters + The fully qualified type of the Logger class. - - - The converter generates a string of random characters. By default - the string is length 4. This can be changed by setting the - to the string value of the length required. - - - The random characters in the string are limited to uppercase letters - and numbers only. - - - The random number generator used by this class is not cryptographically secure. - - - Nicko Cadell - + - Shared random number generator + The name of this logger. - + - Length of random string to generate. Default length 4. + The assigned level of this logger. + + + The level variable need not be + assigned a value in which case it is inherited + form the hierarchy. + + - + - Initialize the converter options + The parent of this logger. - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + The parent of this logger. + All loggers have at least one ancestor which is the root logger. - + - Write a randoim string to the output + Loggers need to know what Hierarchy they are in. - the writer to write to - null, state is not set - Write a randoim string to the output . + Loggers need to know what Hierarchy they are in. + The hierarchy that this logger is a member of is stored + here. - + - The fully qualified type of the RandomStringPatternConverter class. + Helper implementation of the interface - - Used by the internal logger to record the Type of the - log message. - - + - Write the current threads username to the output + Flag indicating if child loggers inherit their parents appenders - Write the current threads username to the output writer + Additivity is set to true by default, that is children inherit + the appenders of their ancestors by default. If this variable is + set to false then the appenders found in the + ancestors of this logger are not used. However, the children + of this logger will inherit its appenders, unless the children + have their additivity flag set to false too. See + the user manual for more details. - Nicko Cadell - - - Write the current threads username to the output - - the writer to write to - null, state is not set - - - Write the current threads username to the output . - - - - + - The fully qualified type of the UserNamePatternConverter class. + Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl - - Used by the internal logger to record the Type of the - log message. - - + - Write the UTC date time to the output + Used internally to accelerate hash table searches. - Date pattern converter, uses a to format - the current date and time in Universal time. + Internal class used to improve performance of + string keyed hashtables. - See the for details on the date pattern syntax. + The hashcode of the string is cached for reuse. + The string is stored as an interned value. + When comparing two objects for equality + the reference equality of the interned strings is compared. - Nicko Cadell + Gert Driesen - + - Write the current date and time to the output + Construct key with string name - that will receive the formatted result. - null, state is not set - Pass the current date and time to the - for it to render it to the writer. + Initializes a new instance of the class + with the specified name. - The date is in Universal time when it is rendered. + Stores the hashcode of the string and interns + the string key to optimize comparisons. + + The Compact Framework 1.0 the + method does not work. On the Compact Framework + the string keys are not interned nor are they + compared by reference. + - + The name of the logger. - + - The fully qualified type of the UtcDatePatternConverter class. + Returns a hash code for the current instance. + A hash code for the current instance. - Used by the internal logger to record the Type of the - log message. + + Returns the cached hashcode. + - + - Type converter for Boolean. + Determines whether two instances + are equal. + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + - Supports conversion from string to bool type. + Compares the references of the interned strings. - - - - Nicko Cadell - Gert Driesen - + - Can the source type be converted to the type supported by this object + Provision nodes are used where no logger instance has been specified - the type to convert - true if the conversion is possible - Returns true if the is - the type. + instances are used in the + when there is no specified + for that node. + + + A provision node holds a list of child loggers on behalf of + a logger that does not exist. + Nicko Cadell + Gert Driesen - + - Convert the source object to the type supported by this object + Create a new provision node with child node - the object to convert - the converted object + A child logger to add to this node. - Uses the method to convert the - argument to a . + Initializes a new instance of the class + with the specified child logger. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Exception base type for conversion errors. + The sits at the root of the logger hierarchy tree. - This type extends . It - does not add any new functionality but does differentiate the - type of exception being thrown. + The is a regular except + that it provides several guarantees. + + + First, it cannot be assigned a null + level. Second, since the root logger cannot have a parent, the + property always returns the value of the + level field without walking the hierarchy. Nicko Cadell Gert Driesen - + - Constructor + Construct a + The level to assign to the root logger. - Initializes a new instance of the class. + Initializes a new instance of the class with + the specified logging level. + + + The root logger names itself as "root". However, the root + logger cannot be retrieved by name. - + - Constructor + Gets the assigned level value without walking the logger hierarchy. - A message to include with the exception. + The assigned level value without walking the logger hierarchy. - Initializes a new instance of the class - with the specified message. + Because the root logger cannot have a parent and its level + must not be null this property just returns the + value of . - + - Constructor + Gets or sets the assigned for the root logger. - A message to include with the exception. - A nested exception to include. + + The of the root logger. + - Initializes a new instance of the class - with the specified message and inner exception. + Setting the level of the root logger to a null reference + may have catastrophic results. We prevent this here. - + - Serialization constructor + The fully qualified type of the RootLogger class. - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - Initializes a new instance of the class - with serialized data. - + Used by the internal logger to record the Type of the + log message. - + - Creates a new instance of the class. + Initializes the log4net environment using an XML DOM. - The conversion destination type. - The value to convert. - An instance of the . - Creates a new instance of the class. + Configures a using an XML DOM. + Nicko Cadell + Gert Driesen - + - Creates a new instance of the class. + Construct the configurator for a hierarchy - The conversion destination type. - The value to convert. - A nested exception to include. - An instance of the . + The hierarchy to build. - Creates a new instance of the class. + Initializes a new instance of the class + with the specified . - + - Register of type converters for specific types. + Configure the hierarchy by parsing a DOM tree of XML elements. + The root element to parse. - Maintains a registry of type converters used to convert between - types. - - - Use the and - methods to register new converters. - The and methods - lookup appropriate converters to use. + Configure the hierarchy by parsing a DOM tree of XML elements. - - - Nicko Cadell - Gert Driesen - + - Private constructor + Parse appenders by IDREF. + The appender ref element. + The instance of the appender that the ref refers to. - Initializes a new instance of the class. + + Parse an XML element that represents an appender and return + the appender. + - + - Static constructor. + Parses an appender element. + The appender element. + The appender instance or null when parsing failed. - This constructor defines the intrinsic type converters. + Parse an XML element that represents an appender and return + the appender instance. - + - Adds a converter for a specific type. + Parses a logger element. - The type being converted to. - The type converter to use to convert to the destination type. + The logger element. - Adds a converter instance for a specific type. + Parse an XML element that represents a logger. - + - Adds a converter for a specific type. + Parses the root logger element. - The type being converted to. - The type of the type converter to use to convert to the destination type. + The root element. - Adds a converter for a specific type. + Parse an XML element that represents the root logger. - + - Gets the type converter to use to convert values to the destination type. + Parses the children of a logger element. - The type being converted from. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - + The category element. + The logger instance. + Flag to indicate if the logger is the root logger. - Gets the type converter to use to convert values to the destination type. + Parse the child elements of a <logger> element. - + - Gets the type converter to use to convert values to the destination type. + Parses an object renderer. - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - + The renderer element. - Gets the type converter to use to convert values to the destination type. + Parse an XML element that represents a renderer. - - - Lookups the type converter to use as specified by the attributes on the - destination type. - - The type being converted to. - - The type converter instance to use for type conversions or null - if no type converter is found. - - - + - Creates the instance of the type converter. + Parses a level element. - The type of the type converter. - - The type converter instance to use for type conversions or null - if no type converter is found. - + The level element. + The logger object to set the level on. + Flag to indicate if the logger is the root logger. - The type specified for the type converter must implement - the or interfaces - and must have a public default (no argument) constructor. + Parse an XML element that represents a level. - + - The fully qualified type of the ConverterRegistry class. + Sets a parameter on an object. + The parameter element. + The object to set the parameter on. - Used by the internal logger to record the Type of the - log message. + The parameter name must correspond to a writable property + on the object. The value of the parameter is a string, + therefore this function will attempt to set a string + property first. If unable to set a string property it + will inspect the property and its argument type. It will + attempt to call a static method called Parse on the + type of the property. This method will take a single + string argument and return a value that can be used to + set the property. - + - Mapping from to type converter. + Test if an element has no attributes or child elements + the element to inspect + true if the element has any attributes or child elements, false otherwise - + - Supports conversion from string to type. + Test if a is constructible with Activator.CreateInstance. + + the type to inspect + true if the type is creatable using a default constructor, false otherwise + + + + Look for a method on the that matches the supplied + the type that has the method + the name of the method + the method info found - Supports conversion from string to type. + The method must be a public instance method on the . + The method must be named or "Add" followed by . + The method must take a single parameter. - - - - Nicko Cadell - Gert Driesen - + - Can the source type be converted to the type supported by this object + Converts a string value to a target type. - the type to convert - true if the conversion is possible - + The type of object to convert the string to. + The string value to use as the value of the object. + - Returns true if the is - the type. + An object of type with value or + null when the conversion could not be performed. - + - + - Overrides the ConvertFrom method of IConvertFrom. + Creates an object as specified in XML. - the object to convert to an encoding - the encoding + The XML element that contains the definition of the object. + The object type to use if not explicitly specified. + The type that the returned object must be or must inherit from. + The object or null - Uses the method to - convert the argument to an . + Parse an XML element and create an object instance based on the configuration + data. + + + The type of the instance may be specified in the XML. If not + specified then the is used + as the type. However the type is specified it must support the + type. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Interface supported by type converters + key: appenderName, value: appender. + + + + + The Hierarchy being configured. + + + + + The fully qualified type of the XmlHierarchyConfigurator class. - - This interface supports conversion from a single type to arbitrary types. - See . - + Used by the internal logger to record the Type of the + log message. - Nicko Cadell - + - Returns whether this converter can convert the object to the specified type + Basic Configurator interface for repositories - A Type that represents the type you want to convert to - true if the conversion is possible - Test if the type supported by this converter can be converted to the - . + Interface used by basic configurator to configure a + with a default . + + + A should implement this interface to support + configuration by the . + Nicko Cadell + Gert Driesen - + - Converts the given value object to the specified type, using the arguments + Initialize the repository using the specified appender - the object to convert - The Type to convert the value parameter to - the converted object + the appender to use to log all logging events - Converts the (which must be of the type supported - by this converter) to the specified.. + Configure the repository to route all logging events to the + specified appender. - + - Supports conversion from string to type. + Initialize the repository using the specified appenders + the appenders to use to log all logging events - Supports conversion from string to type. + Configure the repository to route all logging events to the + specified appenders. - - - Nicko Cadell - + - Can the source type be converted to the type supported by this object + Delegate used to handle logger repository shutdown event notifications - the type to convert - true if the conversion is possible + The that is shutting down. + Empty event args - Returns true if the is - the type. + Delegate used to handle logger repository shutdown event notifications. - + - Overrides the ConvertFrom method of IConvertFrom. + Delegate used to handle logger repository configuration reset event notifications - the object to convert to an IPAddress - the IPAddress + The that has had its configuration reset. + Empty event args - Uses the method to convert the - argument to an . - If that fails then the string is resolved as a DNS hostname. + Delegate used to handle logger repository configuration reset event notifications. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) + Delegate used to handle event notifications for logger repository configuration changes. + The that has had its configuration changed. + Empty event arguments. + + + Delegate used to handle event notifications for logger repository configuration changes. + + - + - Supports conversion from string to type. + Interface implemented by logger repositories. - Supports conversion from string to type. + This interface is implemented by logger repositories. e.g. + . - The string is used as the - of the . + This interface is used by the + to obtain interfaces. - - - Nicko Cadell + Gert Driesen - + - Can the source type be converted to the type supported by this object + The name of the repository - the type to convert - true if the conversion is possible + + The name of the repository + - Returns true if the is - the type. + The name of the repository. - + - Overrides the ConvertFrom method of IConvertFrom. + RendererMap accesses the object renderer map for this repository. - the object to convert to a PatternLayout - the PatternLayout + + RendererMap accesses the object renderer map for this repository. + - Creates and returns a new using - the as the - . - - - - The object cannot be converted to the - target type. To check for this condition use the - method. - - - - - Convert between string and - - - - Supports conversion from string to type, - and from a type to a string. + RendererMap accesses the object renderer map for this repository. - The string is used as the - of the . + The RendererMap holds a mapping between types and + objects. - - - - Nicko Cadell - + - Can the target type be converted to the type supported by this object + The plugin map for this repository. - A that represents the type you want to convert to - true if the conversion is possible + + The plugin map for this repository. + - Returns true if the is - assignable from a type. + The plugin map holds the instances + that have been attached to this repository. - + - Converts the given value object to the specified type, using the arguments + Get the level map for the Repository. - the object to convert - The Type to convert the value parameter to - the converted object - Uses the method to convert the - argument to a . + Get the level map for the Repository. + + + The level map defines the mappings between + level names and objects in + this repository. - - The object cannot be converted to the - . To check for this condition use the - method. - - + - Can the source type be converted to the type supported by this object + The threshold for all events in this repository - the type to convert - true if the conversion is possible + + The threshold for all events in this repository + - Returns true if the is - the type. + The threshold for all events in this repository. - + - Overrides the ConvertFrom method of IConvertFrom. + Check if the named logger exists in the repository. If so return + its reference, otherwise returns null. - the object to convert to a PatternString - the PatternString + The name of the logger to lookup + The Logger object with the name specified - Creates and returns a new using - the as the - . + If the names logger exists it is returned, otherwise + null is returned. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Supports conversion from string to type. + Returns all the currently defined loggers as an Array. + All the defined loggers - Supports conversion from string to type. + Returns all the currently defined loggers as an Array. - - - - Nicko Cadell - + - Can the source type be converted to the type supported by this object + Returns a named logger instance - the type to convert - true if the conversion is possible + The name of the logger to retrieve + The logger object with the name specified - Returns true if the is - the type. + Returns a named logger instance. + + + If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated and + then linked with its existing ancestors as well as children. - - - Overrides the ConvertFrom method of IConvertFrom. - - the object to convert to a Type - the Type + + Shutdown the repository - Uses the method to convert the - argument to a . - Additional effort is made to locate partially specified types - by searching the loaded assemblies. + Shutting down a repository will safely close and remove + all appenders in all loggers including the root logger. + + + Some appenders need to be closed before the + application exists. Otherwise, pending logging events might be + lost. + + + The method is careful to close nested + appenders before closing regular appenders. This is allows + configurations where a regular appender is attached to a logger + and again to a nested appender. - - The object cannot be converted to the - target type. To check for this condition use the - method. - - + - Attribute used to associate a type converter + Reset the repositories configuration to a default state - Class and Interface level attribute that specifies a type converter - to use with the associated type. + Reset all values contained in this instance to their + default state. - To associate a type converter with a target type apply a - TypeConverterAttribute to the target type. Specify the - type of the type converter on the attribute. + Existing loggers are not removed. They are just reset. + + + This method should be used sparingly and with care as it will + block all logging until it is completed. - Nicko Cadell - Gert Driesen - - - - The string type name of the type converter - - + - Default constructor + Log the through this repository. + the event to log - Default constructor + This method should not normally be used to log. + The interface should be used + for routine logging. This interface can be obtained + using the method. + + + The logEvent is delivered to the appropriate logger and + that logger is then responsible for logging the event. - + - Create a new type converter attribute for the specified type name + Flag indicates if this repository has been configured. - The string type name of the type converter + + Flag indicates if this repository has been configured. + - The type specified must implement the - or the interfaces. + Flag indicates if this repository has been configured. - + - Create a new type converter attribute for the specified type + Collection of internal messages captured during the most + recent configuration process. - The type of the type converter + + + + Event to notify that the repository has been shutdown. + + + Event to notify that the repository has been shutdown. + - The type specified must implement the - or the interfaces. + Event raised when the repository has been shutdown. - + - The string type name of the type converter + Event to notify that the repository has had its configuration reset. - The string type name of the type converter + Event to notify that the repository has had its configuration reset. - The type specified must implement the - or the interfaces. + Event raised when the repository's configuration has been + reset to default. - + - A straightforward implementation of the interface. + Event to notify that the repository has had its configuration changed. + + Event to notify that the repository has had its configuration changed. + - This is the default implementation of the - interface. Implementors of the interface - should aggregate an instance of this type. + Event raised when the repository's configuration has been changed. - Nicko Cadell - Gert Driesen - + - Constructor + Repository specific properties + + Repository specific properties + - Initializes a new instance of the class. + These properties can be specified on a repository specific basis. - + - Append on on all attached appenders. + Returns all the Appenders that are configured as an Array. - The event being logged. - The number of appenders called. + All the Appenders - Calls the method on all - attached appenders. + Returns all the Appenders that are configured as an Array. - + - Append on on all attached appenders. + Configure repository using XML - The array of events being logged. - The number of appenders called. - Calls the method on all - attached appenders. + Interface used by Xml configurator to configure a . - - - - - Calls the DoAppende method on the with - the objects supplied. - - The appender - The events - - If the supports the - interface then the will be passed - through using that interface. Otherwise the - objects in the array will be passed one at a time. + A should implement this interface to support + configuration by the . + Nicko Cadell + Gert Driesen - + - Attaches an appender. + Initialize the repository using the specified config - The appender to add. + the element containing the root of the config - If the appender is already in the list it won't be added again. + The schema for the XML configuration data is defined by + the implementation. - + - Gets an attached appender with the specified name. + Base implementation of - The name of the appender to get. - - The appender with the name specified, or null if no appender with the - specified name is found. - - Lookup an attached appender by name. + Default abstract implementation of the interface. + + + Skeleton implementation of the interface. + All types can extend this type. + Nicko Cadell + Gert Driesen - + - Removes all attached appenders. + Default Constructor - Removes and closes all attached appenders + Initializes the repository with default (empty) properties. - + - Removes the specified appender from the list of attached appenders. + Construct the repository using specific properties - The appender to remove. - The appender removed from the list + the properties to set for this repository - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. + Initializes the repository with specified properties. - + - Removes the appender with the specified name from the list of appenders. + The name of the repository - The name of the appender to remove. - The appender removed from the list + + The string name of the repository + - The appender removed is not closed. - If you are discarding the appender you must call - on the appender removed. + The name of this repository. The name is + used to store and lookup the repositories + stored by the . - - - List of appenders - - - - - Array of appenders, used to cache the m_appenderList - - - + - The fully qualified type of the AppenderAttachedImpl class. + The threshold for all events in this repository + + The threshold for all events in this repository + - Used by the internal logger to record the Type of the - log message. + + The threshold for all events in this repository + - + - Gets all attached appenders. + RendererMap accesses the object renderer map for this repository. - - A collection of attached appenders, or null if there - are no attached appenders. - + + RendererMap accesses the object renderer map for this repository. + - The read only collection of all currently attached appenders. + RendererMap accesses the object renderer map for this repository. + + + The RendererMap holds a mapping between types and + objects. - + - This class aggregates several PropertiesDictionary collections together. + The plugin map for this repository. + + The plugin map for this repository. + - Provides a dictionary style lookup over an ordered list of - collections. + The plugin map holds the instances + that have been attached to this repository. - Nicko Cadell - + - Constructor + Get the level map for the Repository. - Initializes a new instance of the class. + Get the level map for the Repository. + + + The level map defines the mappings between + level names and objects in + this repository. - + - Add a Properties Dictionary to this composite collection + Test if logger exists - the properties to add + The name of the logger to lookup + The Logger object with the name specified - Properties dictionaries added first take precedence over dictionaries added - later. + Check if the named logger exists in the repository. If so return + its reference, otherwise returns null. - + - Flatten this composite collection into a single properties dictionary + Returns all the currently defined loggers in the repository - the flattened dictionary + All the defined loggers - Reduces the collection of ordered dictionaries to a single dictionary - containing the resultant values for the keys. + Returns all the currently defined loggers in the repository as an Array. - + - Gets the value of a property + Return a new logger instance - - The value for the property with the specified key - + The name of the logger to retrieve + The logger object with the name specified - Looks up the value for the specified. - The collections are searched - in the order in which they were added to this collection. The value - returned is the value held by the first collection that contains - the specified key. + Return a new logger instance. - If none of the collections contain the specified key then - null is returned. + If a logger of that name already exists, then it will be + returned. Otherwise, a new logger will be instantiated and + then linked with its existing ancestors as well as children. - + - Base class for Context Properties implementations + Shutdown the repository - This class defines a basic property get set accessor + Shutdown the repository. Can be overridden in a subclass. + This base class implementation notifies the + listeners and all attached plugins of the shutdown event. - Nicko Cadell - + - Gets or sets the value of a property + Reset the repositories configuration to a default state - - The value for the property with the specified key - - Gets or sets the value of a property + Reset all values contained in this instance to their + default state. + + + Existing loggers are not removed. They are just reset. + + + This method should be used sparingly and with care as it will + block all logging until it is completed. - + - Wrapper class used to map converter names to converter types + Log the logEvent through this repository. + the event to log - Pattern converter info class used during configuration by custom - PatternString and PatternLayer converters. + This method should not normally be used to log. + The interface should be used + for routine logging. This interface can be obtained + using the method. + + + The logEvent is delivered to the appropriate logger and + that logger is then responsible for logging the event. - + - default constructor + Flag indicates if this repository has been configured. + + Flag indicates if this repository has been configured. + + + + Flag indicates if this repository has been configured. + + - + - + Contains a list of internal messages captures during the + last configuration. - - + - Gets or sets the name of the conversion pattern + Event to notify that the repository has been shutdown. + + Event to notify that the repository has been shutdown. + - The name of the pattern in the format string + Event raised when the repository has been shutdown. - + - Gets or sets the type of the converter + Event to notify that the repository has had its configuration reset. + + Event to notify that the repository has had its configuration reset. + - The value specified must extend the - type. + Event raised when the repository's configuration has been + reset to default. - + - - - - - - Subclass of that maintains a count of - the number of bytes written. + Event to notify that the repository has had its configuration changed. + + Event to notify that the repository has had its configuration changed. + - This writer counts the number of bytes written. + Event raised when the repository's configuration has been changed. - Nicko Cadell - Gert Driesen - + - that does not leak exceptions + Repository specific properties + + Repository specific properties + - - does not throw exceptions when things go wrong. - Instead, it delegates error handling to its . - + These properties can be specified on a repository specific basis - Nicko Cadell - Gert Driesen - + - Adapter that extends and forwards all - messages to an instance of . + Returns all the Appenders that are configured as an Array. + All the Appenders - Adapter that extends and forwards all - messages to an instance of . + Returns all the Appenders that are configured as an Array. - Nicko Cadell - + - The writer to forward messages to + The fully qualified type of the LoggerRepositorySkeleton class. + + Used by the internal logger to record the Type of the + log message. + - + - Create an instance of that forwards all - messages to a . + Adds an object renderer for a specific class. - The to forward to + The type that will be rendered by the renderer supplied. + The object renderer used to render the object. - Create an instance of that forwards all - messages to a . + Adds an object renderer for a specific class. - + - Closes the writer and releases any system resources associated with the writer + Notify the registered listeners that the repository is shutting down + Empty EventArgs + Notify any listeners that this repository is shutting down. - + - Dispose this writer + Notify the registered listeners that the repository has had its configuration reset - flag indicating if we are being disposed + Empty EventArgs - Dispose this writer + Notify any listeners that this repository's configuration has been reset. - + - Flushes any buffered output + Notify the registered listeners that the repository has had its configuration changed + Empty EventArgs - Clears all buffers for the writer and causes any buffered data to be written - to the underlying device + Notify any listeners that this repository's configuration has changed. - + - Writes a character to the wrapped TextWriter + Raise a configuration changed event on this repository - the value to write to the TextWriter + EventArgs.Empty - Writes a character to the wrapped TextWriter + Applications that programmatically change the configuration of the repository should + raise this event notification to notify listeners. - + - Writes a character buffer to the wrapped TextWriter + Flushes all configured Appenders that implement . - the data buffer - the start index - the number of characters to write - - - Writes a character buffer to the wrapped TextWriter - - + The maximum time in milliseconds to wait for logging events from asycnhronous appenders to be flushed, + or to wait indefinitely. + True if all logging events were flushed successfully, else false. - + - Writes a string to the wrapped TextWriter + The log4net Thread Context. - the value to write to the TextWriter - Writes a string to the wrapped TextWriter + The ThreadContext provides a location for thread specific debugging + information to be stored. + The ThreadContext properties override any + properties with the same name. + + + The thread context has a properties map and a stack. + The properties and stack can + be included in the output of log messages. The + supports selecting and outputting these properties. + + + The Thread Context provides a diagnostic context for the current thread. + This is an instrument for distinguishing interleaved log + output from different sources. Log output is typically interleaved + when a server handles multiple clients near-simultaneously. + + + The Thread Context is managed on a per thread basis. + Example of using the thread context properties to store a username. + + ThreadContext.Properties["user"] = userName; + log.Info("This log message has a ThreadContext Property called 'user'"); + + + Example of how to push a message into the context stack + + using(ThreadContext.Stacks["NDC"].Push("my context message")) + { + log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); + + } // at the end of the using block the message is automatically popped + + + + Nicko Cadell - + - Gets or sets the underlying . + Private Constructor. - - The underlying . - - Gets or sets the underlying . + Uses a private access modifier to prevent instantiation of this class. - + - The Encoding in which the output is written + The thread properties map - The + The thread properties map - The Encoding in which the output is written + The ThreadContext properties override any + properties with the same name. - + - Gets an object that controls formatting + The thread stacks - The format provider + stack map - Gets an object that controls formatting + The thread local stacks. - + - Gets or sets the line terminator string used by the TextWriter + The thread context properties instance + + + + + The thread context stacks instance + + + + + A straightforward implementation of the interface. - - The line terminator to use - - Gets or sets the line terminator string used by the TextWriter + This is the default implementation of the + interface. Implementors of the interface + should aggregate an instance of this type. + Nicko Cadell + Gert Driesen - + Constructor - the writer to actually write to - the error handler to report error to - Create a new QuietTextWriter using a writer and error handler + Initializes a new instance of the class. - + - Writes a character to the underlying writer + Append on on all attached appenders. - the char to write + The event being logged. + The number of appenders called. - Writes a character to the underlying writer + Calls the method on all + attached appenders. - + - Writes a buffer to the underlying writer + Append on on all attached appenders. - the buffer to write - the start index to write from - the number of characters to write + The array of events being logged. + The number of appenders called. - Writes a buffer to the underlying writer + Calls the method on all + attached appenders. - + - Writes a string to the output. + Calls the DoAppende method on the with + the objects supplied. - The string data to write to the output. + The appender + The events - Writes a string to the output. + If the supports the + interface then the will be passed + through using that interface. Otherwise the + objects in the array will be passed one at a time. - + - Closes the underlying output writer. + Attaches an appender. + The appender to add. - Closes the underlying output writer. + If the appender is already in the list it won't be added again. - + - The error handler instance to pass all errors to + Gets all attached appenders. + + A collection of attached appenders, or null if there + are no attached appenders. + + + + The read only collection of all currently attached appenders. + + - + - Flag to indicate if this writer is closed + Gets an attached appender with the specified name. - - - - Gets or sets the error handler that all errors are passed to. + The name of the appender to get. + + The appender with the name specified, or null if no appender with the + specified name is found. + + + + Lookup an attached appender by name. + + + + + + Removes all attached appenders. + + + + Removes and closes all attached appenders + + + + + + Removes the specified appender from the list of attached appenders. + + The appender to remove. + The appender removed from the list + + + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. + + + + + + Removes the appender with the specified name from the list of appenders. + + The name of the appender to remove. + The appender removed from the list + + + The appender removed is not closed. + If you are discarding the appender you must call + on the appender removed. + + + + + + List of appenders + + + + + Array of appenders, used to cache the m_appenderList + + + + + The fully qualified type of the AppenderAttachedImpl class. + + + Used by the internal logger to record the Type of the + log message. + + + + + This class aggregates several PropertiesDictionary collections together. + + + + Provides a dictionary style lookup over an ordered list of + collections. + + + Nicko Cadell + + + + Constructor + + + + Initializes a new instance of the class. + + + + + + Gets the value of a property - The error handler that all errors are passed to. + The value for the property with the specified key - Gets or sets the error handler that all errors are passed to. + Looks up the value for the specified. + The collections are searched + in the order in which they were added to this collection. The value + returned is the value held by the first collection that contains + the specified key. + + + If none of the collections contain the specified key then + null is returned. - + - Gets a value indicating whether this writer is closed. + Add a Properties Dictionary to this composite collection + + the properties to add + + + Properties dictionaries added first take precedence over dictionaries added + later. + + + + + + Flatten this composite collection into a single properties dictionary + + the flattened dictionary + + + Reduces the collection of ordered dictionaries to a single dictionary + containing the resultant values for the keys. + + + + + + Base class for Context Properties implementations + + + + This class defines a basic property get set accessor + + + Nicko Cadell + + + + Gets or sets the value of a property - true if this writer is closed, otherwise false. + The value for the property with the specified key - Gets a value indicating whether this writer is closed. + Gets or sets the value of a property + + + + + + Wrapper class used to map converter names to converter types + + + + Pattern converter info class used during configuration by custom + PatternString and PatternLayer converters. + + + + + + default constructor + + + + + Gets or sets the name of the conversion pattern + + + + The name of the pattern in the format string + + + + + + Gets or sets the type of the converter + + + + The value specified must extend the + type. + + + + + + + + + + + + + + + + + Subclass of that maintains a count of + the number of bytes written. + + + + This writer counts the number of bytes written. + Nicko Cadell + Gert Driesen Constructor - The to actually write to. - The to report errors to. + The to actually write to. + The to report errors to. - Creates a new instance of the class - with the specified and . + Creates a new instance of the class + with the specified and . @@ -25543,11 +24989,6 @@ - - - Total number of bytes written. - - Gets or sets the total number of bytes written. @@ -25561,6 +25002,11 @@ + + + Total number of bytes written. + + A fixed size rolling buffer of logging events. @@ -25580,7 +25026,7 @@ The maximum number of logging events in the buffer. - Initializes a new instance of the class with + Initializes a new instance of the class with the specified maximum number of buffered logging events. @@ -25683,7 +25129,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -25691,6 +25137,17 @@ + + + Gets the singleton instance of the empty collection. + + The singleton instance of the empty collection. + + + Gets the singleton instance of the empty collection. + + + Copies the elements of the to an @@ -25708,75 +25165,64 @@ - + - Returns an enumerator that can iterate through a collection. + Gets a value indicating if access to the is synchronized (thread-safe). - - An that can be used to - iterate through the collection. - + + true if access to the is synchronized (thread-safe); otherwise, false. + - As the collection is empty a is returned. + For the this property is always true. - - - The singleton instance of the empty collection. - - - + - Gets the singleton instance of the empty collection. + Gets the number of elements contained in the . - The singleton instance of the empty collection. + + The number of elements contained in the . + - Gets the singleton instance of the empty collection. + As the collection is empty the is always 0. - + - Gets a value indicating if access to the is synchronized (thread-safe). + Gets an object that can be used to synchronize access to the . - true if access to the is synchronized (thread-safe); otherwise, false. + An object that can be used to synchronize access to the . - For the this property is always true. + As the collection is empty and thread safe and synchronized this instance is also + the object. - + - Gets the number of elements contained in the . + Returns an enumerator that can iterate through a collection. - - The number of elements contained in the . - + + An that can be used to + iterate through the collection. + - As the collection is empty the is always 0. + As the collection is empty a is returned. - + - Gets an object that can be used to synchronize access to the . + The singleton instance of the empty collection. - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - @@ -25793,7 +25239,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -25801,6 +25247,17 @@ + + + Gets the singleton instance of the . + + The singleton instance of the . + + + Gets the singleton instance of the . + + + Copies the elements of the to an @@ -25818,6 +25275,46 @@ + + + Gets a value indicating if access to the is synchronized (thread-safe). + + + true if access to the is synchronized (thread-safe); otherwise, false. + + + + For the this property is always true. + + + + + + Gets the number of elements contained in the + + + The number of elements contained in the . + + + + As the collection is empty the is always 0. + + + + + + Gets an object that can be used to synchronize access to the . + + + An object that can be used to synchronize access to the . + + + + As the collection is empty and thread safe and synchronized this instance is also + the object. + + + Returns an enumerator that can iterate through a collection. @@ -25835,10 +25332,10 @@ Adds an element with the provided key and value to the - . + . - The to use as the key of the element to add. - The to use as the value of the element to add. + The to use as the key of the element to add. + The to use as the value of the element to add. As the collection is empty no new values can be added. A @@ -25849,7 +25346,7 @@ - Removes all elements from the . + Removes all elements from the . @@ -25861,10 +25358,10 @@ - Determines whether the contains an element + Determines whether the contains an element with the specified key. - The key to locate in the . + The key to locate in the . false @@ -25888,7 +25385,7 @@ - Removes the element with the specified key from the . + Removes the element with the specified key from the . The key of the element to remove. @@ -25899,65 +25396,9 @@ This dictionary is always empty and cannot be modified. - - - The singleton instance of the empty dictionary. - - - - - Gets the singleton instance of the . - - The singleton instance of the . - - - Gets the singleton instance of the . - - - - - - Gets a value indicating if access to the is synchronized (thread-safe). - - - true if access to the is synchronized (thread-safe); otherwise, false. - - - - For the this property is always true. - - - - - - Gets the number of elements contained in the - - - The number of elements contained in the . - - - - As the collection is empty the is always 0. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - As the collection is empty and thread safe and synchronized this instance is also - the object. - - - - Gets a value indicating whether the has a fixed size. + Gets a value indicating whether the has a fixed size. true @@ -25968,7 +25409,7 @@ - Gets a value indicating whether the is read-only. + Gets a value indicating whether the is read-only. true @@ -25979,9 +25420,9 @@ - Gets an containing the keys of the . + Gets an containing the keys of the . - An containing the keys of the . + An containing the keys of the . As the collection is empty a is returned. @@ -25990,9 +25431,9 @@ - Gets an containing the values of the . + Gets an containing the values of the . - An containing the values of the . + An containing the values of the . As the collection is empty a is returned. @@ -26014,6 +25455,11 @@ This dictionary is always empty and cannot be modified. + + + The singleton instance of the empty dictionary. + + Contain the information obtained when parsing formatting modifiers @@ -26035,7 +25481,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -26045,7 +25491,7 @@ - Initializes a new instance of the class + Initializes a new instance of the class with the specified parameters. @@ -26128,7 +25574,22 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. + + + + + + Gets or sets the value of a property + + + The value for the property with the specified key + + + + Reading the value for a key is faster than setting the value. + When the value is written a new read only copy of + the properties is created. @@ -26161,21 +25622,6 @@ - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Reading the value for a key is faster than setting the value. - When the value is written a new read only copy of - the properties is created. - - - The static class ILogExtensions contains a set of widely used @@ -27281,6 +26727,52 @@ + + + An entry in the + + + + This is an abstract base class for types that are stored in the + object. + + + Nicko Cadell + + + + Default protected constructor + + + + Default protected constructor + + + + + + The level that is the key for this mapping + + + The that is the key for this mapping + + + + Get or set the that is the key for this + mapping subclass. + + + + + + Initialize any options defined on this entry + + + + Should be overridden by any classes that need to initialise based on their options + + + Implementation of Properties collection for the @@ -27296,7 +26788,8 @@ For .NET Standard 1.3 this class uses - System.Threading.AsyncLocal rather than . + System.Threading.AsyncLocal rather than . The requires a link time @@ -27319,7 +26812,20 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. + + + + + + Gets or sets the value of a property + + + The value for the property with the specified key + + + + Get or set the property value for the specified. @@ -27389,19 +26895,6 @@ log message. - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Get or set the property value for the specified. - - - Delegate type used for LogicalThreadContextStack's callbacks. @@ -27441,22 +26934,37 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. - + - Clears all the contextual information held in this stack. + The number of messages in the stack + + The current number of messages in the stack + - Clears all the contextual information held in this stack. - Only call this if you think that this thread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, + The current number of messages in the stack. That is + the number of times has been called + minus the number of times has been called. + + + + + + Clears all the contextual information held in this stack. + + + + Clears all the contextual information held in this stack. + Only call this if you think that this thread is being reused after + a previous call execution which may not have completed correctly. + You do not need to use this method if you always guarantee to call + the method of the + returned from even in exceptional circumstances, for example by using the using(log4net.LogicalThreadContext.Stacks["NDC"].Push("Stack_Message")) syntax. @@ -27506,6 +27014,19 @@ The current context information. + + + Gets and sets the internal stack used by this + + The internal storage stack + + + This property is provided only to support backward compatability + of the . Tytpically the internal stack should not + be modified. + + + Gets the current context information for this stack. @@ -27528,34 +27049,6 @@ - - - The number of messages in the stack - - - The current number of messages in the stack - - - - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. - - - - - - Gets and sets the internal stack used by this - - The internal storage stack - - - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. - - - Inner class used to represent a single context frame in the stack. @@ -27574,7 +27067,7 @@ The parent context in the chain. - Initializes a new instance of the class + Initializes a new instance of the class with the specified message and parent context. @@ -27632,7 +27125,7 @@ The depth to return the stack to when this object is disposed. - Initializes a new instance of the class with + Initializes a new instance of the class with the specified stack and return depth. @@ -27664,19 +27157,10 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. - - - The fully qualified type of the ThreadContextStacks class. - - - Used by the internal logger to record the Type of the - log message. - - Gets the named thread context stack @@ -27690,6 +27174,15 @@ + + + The fully qualified type of the ThreadContextStacks class. + + + Used by the internal logger to record the Type of the + log message. + + @@ -27716,6 +27209,49 @@ Nicko Cadell Gert Driesen + + + The event raised when an internal message has been received. + + + + + The Type that generated the internal message. + + + + + The DateTime stamp of when the internal message was received. + + + + + The UTC DateTime stamp of when the internal message was received. + + + + + A string indicating the severity of the internal message. + + + "log4net: ", + "log4net:ERROR ", + "log4net:WARN " + + + + + The internal log message. + + + + + The Exception related to the message. + + + Optional. Will be null if no Exception was passed. + + Formats Prefix, Source, and Message in the same format as the value @@ -27725,7 +27261,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -27751,6 +27287,85 @@ + + + Gets or sets a value indicating whether log4net internal logging + is enabled or disabled. + + + true if log4net internal logging is enabled, otherwise + false. + + + + When set to true, internal debug level logging will be + displayed. + + + This value can be set by setting the application setting + log4net.Internal.Debug in the application configuration + file. + + + The default value is false, i.e. debugging is + disabled. + + + + + The following example enables internal debugging using the + application configuration file : + + + + + + + + + + + + + Gets or sets a value indicating whether log4net should generate no output + from internal logging, not even for errors. + + + true if log4net should generate no output at all from internal + logging, otherwise false. + + + + When set to true will cause internal logging at all levels to be + suppressed. This means that no warning or error reports will be logged. + This option overrides the setting and + disables all debug also. + + This value can be set by setting the application setting + log4net.Internal.Quiet in the application configuration file. + + + The default value is false, i.e. internal logging is not + disabled. + + + + The following example disables internal logging using the + application configuration file : + + + + + + + + + + + + + + Raises the LogReceived event when an internal messages is received. @@ -27760,6 +27375,19 @@ + + + Test if LogLog.Debug is enabled for output. + + + true if Debug is enabled + + + + Test if LogLog.Debug is enabled for output. + + + Writes log4net internal debug messages to the @@ -27789,6 +27417,19 @@ + + + Test if LogLog.Warn is enabled for output. + + + true if Warn is enabled + + + + Test if LogLog.Warn is enabled for output. + + + Writes log4net internal warning messages to the @@ -27818,6 +27459,19 @@ + + + Test if LogLog.Error is enabled for output. + + + true if Error is enabled + + + + Test if LogLog.Error is enabled for output. + + + Writes log4net internal error messages to the @@ -27893,237 +27547,102 @@ In quietMode not even errors generate any output. - + - The event raised when an internal message has been received. + Subscribes to the LogLog.LogReceived event and stores messages + to the supplied IList instance. - + - The Type that generated the internal message. + + - + - The DateTime stamp of when the internal message was received. + - + - The UTC DateTime stamp of when the internal message was received. + - - - A string indicating the severity of the internal message. - - - "log4net: ", - "log4net:ERROR ", - "log4net:WARN " - - - + - The internal log message. + - + - The Exception related to the message. + - - Optional. Will be null if no Exception was passed. - + - + - Gets or sets a value indicating whether log4net internal logging - is enabled or disabled. + - - true if log4net internal logging is enabled, otherwise - false. - - - - When set to true, internal debug level logging will be - displayed. - - - This value can be set by setting the application setting - log4net.Internal.Debug in the application configuration - file. - - - The default value is false, i.e. debugging is - disabled. - - - - - The following example enables internal debugging using the - application configuration file : - - - - - - - - - - + - Gets or sets a value indicating whether log4net should generate no output - from internal logging, not even for errors. + Represents a native error code and message. - - true if log4net should generate no output at all from internal - logging, otherwise false. - - When set to true will cause internal logging at all levels to be - suppressed. This means that no warning or error reports will be logged. - This option overrides the setting and - disables all debug also. - - This value can be set by setting the application setting - log4net.Internal.Quiet in the application configuration file. - - - The default value is false, i.e. internal logging is not - disabled. + Represents a Win32 platform native error. - - The following example disables internal logging using the - application configuration file : - - - - - - - - - - - - - + Nicko Cadell + Gert Driesen - + - Test if LogLog.Debug is enabled for output. + Create an instance of the class with the specified + error number and message. - - true if Debug is enabled - + The number of the native error. + The message of the native error. - Test if LogLog.Debug is enabled for output. + Create an instance of the class with the specified + error number and message. - + - Test if LogLog.Warn is enabled for output. + Gets the number of the native error. - true if Warn is enabled + The number of the native error. - Test if LogLog.Warn is enabled for output. + Gets the number of the native error. - + - Test if LogLog.Error is enabled for output. + Gets the message of the native error. - true if Error is enabled + The message of the native error. - Test if LogLog.Error is enabled for output. - - - - - - Subscribes to the LogLog.LogReceived event and stores messages - to the supplied IList instance. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents a native error code and message. - - - - Represents a Win32 platform native error. - - - Nicko Cadell - Gert Driesen - - - - Create an instance of the class with the specified - error number and message. - - The number of the native error. - The message of the native error. - - - Create an instance of the class with the specified - error number and message. + Gets the message of the native error. - Create a new instance of the class for the last Windows error. + Create a new instance of the class for the last Windows error. - An instance of the class for the last windows error. + An instance of the class for the last windows error. @@ -28134,11 +27653,11 @@ - Create a new instance of the class. + Create a new instance of the class. the error number for the native error - An instance of the class for the specified + An instance of the class for the specified error number. @@ -28210,32 +27729,6 @@ - - - Gets the number of the native error. - - - The number of the native error. - - - - Gets the number of the native error. - - - - - - Gets the message of the native error. - - - The message of the native error. - - - - - Gets the message of the native error. - - An always empty . @@ -28251,7 +27744,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -28259,69 +27752,64 @@ - + - Test if the enumerator can advance, if so advance. + Gets the singleton instance of the . - false as the cannot advance. + The singleton instance of the . - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. + Gets the singleton instance of the . - + - Resets the enumerator back to the start. + Gets the current object from the enumerator. + Throws an because the + never has a current value. + + - As the enumerator is over an empty collection does nothing. + As the enumerator is over an empty collection its + value cannot be moved over a valid position, therefore + will throw an . + The collection is empty and + cannot be positioned over a valid location. - - - The singleton instance of the . - - - + - Gets the singleton instance of the . + Test if the enumerator can advance, if so advance. - The singleton instance of the . + false as the cannot advance. - Gets the singleton instance of the . + As the enumerator is over an empty collection its + value cannot be moved over a valid position, therefore + will always return false. - + - Gets the current object from the enumerator. + Resets the enumerator back to the start. - Throws an because the - never has a current value. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . + As the enumerator is over an empty collection does nothing. - The collection is empty and - cannot be positioned over a valid location. Gets the current key from the enumerator. - Throws an exception because the + Throws an exception because the never has a current value. @@ -28340,8 +27828,8 @@ The current value from the enumerator. - Throws an because the - never has a current value. + Throws an because the + never has a current value. @@ -28358,8 +27846,8 @@ Gets the current entry from the enumerator. - Throws an because the - never has a current entry. + Throws an because the + never has a current entry. @@ -28371,6 +27859,11 @@ The collection is empty and cannot be positioned over a valid location. + + + The singleton instance of the . + + An always empty . @@ -28386,7 +27879,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -28394,62 +27887,62 @@ - + - Test if the enumerator can advance, if so advance + Get the singleton instance of the . - false as the cannot advance. + The singleton instance of the . - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will always return false. + Gets the singleton instance of the . - + - Resets the enumerator back to the start. + Gets the current object from the enumerator. + Throws an because the + never has a current value. + + - As the enumerator is over an empty collection does nothing. + As the enumerator is over an empty collection its + value cannot be moved over a valid position, therefore + will throw an . + The collection is empty and + cannot be positioned over a valid location. - - - The singleton instance of the . - - - + - Get the singleton instance of the . + Test if the enumerator can advance, if so advance - The singleton instance of the . + false as the cannot advance. - Gets the singleton instance of the . + As the enumerator is over an empty collection its + value cannot be moved over a valid position, therefore + will always return false. - + - Gets the current object from the enumerator. + Resets the enumerator back to the start. - Throws an because the - never has a current value. - - - As the enumerator is over an empty collection its - value cannot be moved over a valid position, therefore - will throw an . + As the enumerator is over an empty collection does nothing. - The collection is empty and - cannot be positioned over a valid location. + + + + The singleton instance of the . + @@ -28521,7 +28014,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -28532,7 +28025,7 @@ The prefix to use for each message. - Initializes a new instance of the class + Initializes a new instance of the class with the specified prefix. @@ -28591,45 +28084,6 @@ - - - The UTC date the error was recorded. - - - - - Flag to indicate if it is the first error - - - - - The message recorded during the first error. - - - - - The exception recorded during the first error. - - - - - The error code recorded during the first error. - - - - - String to prefix each message with - - - - - The fully qualified type of the OnlyOnceErrorHandler class. - - - Used by the internal logger to record the Type of the - log message. - - Is error logging enabled @@ -28672,6 +28126,45 @@ Defaults to + + + The UTC date the error was recorded. + + + + + Flag to indicate if it is the first error + + + + + The message recorded during the first error. + + + + + The exception recorded during the first error. + + + + + The error code recorded during the first error. + + + + + String to prefix each message with + + + + + The fully qualified type of the OnlyOnceErrorHandler class. + + + Used by the internal logger to record the Type of the + log message. + + A convenience class to convert property values to specific types. @@ -28686,7 +28179,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the class. @@ -28696,11 +28189,11 @@ - Converts a string to a value. + Converts a string to a value. String to convert. The default value. - The value of . + The value of . If is "true", then true is returned. @@ -28715,7 +28208,7 @@ String to parse. The default value. - The value of . + The value of . Parses a file size of the form: number[KB|MB|GB] into a @@ -28723,7 +28216,7 @@ is returned when - cannot be converted to a value. + cannot be converted to a value. @@ -28853,156 +28346,350 @@ log message. - + - Most of the work of the class - is delegated to the PatternParser class. + Abstract class that provides the formatting functionality that + derived classes need. - The PatternParser processes a pattern string and - returns a chain of objects. + Conversion specifiers in a conversion patterns are parsed to + individual PatternConverters. Each of which is responsible for + converting a logging event in a converter specific manner. Nicko Cadell Gert Driesen - + - Constructor + Protected constructor - The pattern to parse. - Initializes a new instance of the class - with the specified pattern string. + Initializes a new instance of the class. - + - Parses the pattern into a chain of pattern converters. + Get the next pattern converter in the chain - The head of a chain of pattern converters. + + the next pattern converter in the chain + - Parses the pattern into a chain of pattern converters. + Get the next pattern converter in the chain - + - Build the unified cache of converters from the static and instance maps + Gets or sets the formatting info for this converter - the list of all the converter names + + The formatting info for this converter + - Build the unified cache of converters from the static and instance maps + Gets or sets the formatting info for this converter - + - Internal method to parse the specified pattern to find specified matches + Gets or sets the option value for this converter + + + The option for this converter - the pattern to parse - the converter names to match in the pattern - The matches param must be sorted such that longer strings come before shorter ones. + Gets or sets the option value for this converter - - - Process a parsed literal - - the literal text - - - - Process a parsed converter pattern - - the name of the converter - the optional option for the converter - the formatting info for the converter - - - - Resets the internal state of the parser and adds the specified pattern converter - to the chain. - - The pattern converter to add. - - - - The first pattern converter in the chain - - - - - the last pattern converter in the chain - - - - - The pattern - - - + - Internal map of converter identifiers to converter types + Evaluate this pattern converter and write the output to a writer. + that will receive the formatted result. + The state object on which the pattern converter should be executed. - This map overrides the static s_globalRulesRegistry map. + Derived pattern converters must override this method in order to + convert conversion specifiers in the appropriate way. - + - The fully qualified type of the PatternParser class. + Set the next pattern converter in the chains + the pattern converter that should follow this converter in the chain + the next converter - Used by the internal logger to record the Type of the - log message. + + The PatternConverter can merge with its neighbor during this method (or a sub class). + Therefore the return value may or may not be the value of the argument passed in. + - + - Get the converter registry used by this parser + Write the pattern converter to the writer with appropriate formatting - - The converter registry used by this parser - + that will receive the formatted result. + The state object on which the pattern converter should be executed. - Get the converter registry used by this parser + This method calls to allow the subclass to perform + appropriate conversion of the pattern converter. If formatting options have + been specified via the then this method will + apply those formattings before writing the output. - + - Sort strings by length + Fast space padding method. + to which the spaces will be appended. + The number of spaces to be padded. - that orders strings by string length. - The longest strings are placed first + Fast space padding method. - + - This class implements a patterned string. + The option string to the converter - - - This string has embedded patterns that are resolved and expanded - when the string is formatted. - - - This class functions similarly to the + + + + Initial buffer size + + + + + Maximum buffer size before it is recycled + + + + + Write an dictionary to a + + the writer to write to + a to use for object conversion + the value to write to the writer + + + Writes the to a writer in the form: + + + {key1=value1, key2=value2, key3=value3} + + + If the specified + is not null then it is used to render the key and value to text, otherwise + the object's ToString method is called. + + + + + + Write an dictionary to a + + the writer to write to + a to use for object conversion + the value to write to the writer + + + Writes the to a writer in the form: + + + {key1=value1, key2=value2, key3=value3} + + + If the specified + is not null then it is used to render the key and value to text, otherwise + the object's ToString method is called. + + + + + + Write an object to a + + the writer to write to + a to use for object conversion + the value to write to the writer + + + Writes the Object to a writer. If the specified + is not null then it is used to render the object to text, otherwise + the object's ToString method is called. + + + + + + + + + + + Most of the work of the class + is delegated to the PatternParser class. + + + + The PatternParser processes a pattern string and + returns a chain of objects. + + + Nicko Cadell + Gert Driesen + + + + Constructor + + The pattern to parse. + + + Initializes a new instance of the class + with the specified pattern string. + + + + + + Parses the pattern into a chain of pattern converters. + + The head of a chain of pattern converters. + + + Parses the pattern into a chain of pattern converters. + + + + + + Get the converter registry used by this parser + + + The converter registry used by this parser + + + + Get the converter registry used by this parser + + + + + + Build the unified cache of converters from the static and instance maps + + the list of all the converter names + + + Build the unified cache of converters from the static and instance maps + + + + + + Sort strings by length + + + + that orders strings by string length. + The longest strings are placed first + + + + + + Internal method to parse the specified pattern to find specified matches + + the pattern to parse + the converter names to match in the pattern + + + The matches param must be sorted such that longer strings come before shorter ones. + + + + + + Process a parsed literal + + the literal text + + + + Process a parsed converter pattern + + the name of the converter + the optional option for the converter + the formatting info for the converter + + + + Resets the internal state of the parser and adds the specified pattern converter + to the chain. + + The pattern converter to add. + + + + The first pattern converter in the chain + + + + + the last pattern converter in the chain + + + + + The pattern + + + + + Internal map of converter identifiers to converter types + + + + This map overrides the static s_globalRulesRegistry map. + + + + + + The fully qualified type of the PatternParser class. + + + Used by the internal logger to record the Type of the + log message. + + + + + This class implements a patterned string. + + + + This string has embedded patterns that are resolved and expanded + when the string is formatted. + + + This class functions similarly to the in that it accepts a pattern and renders it to a string. Unlike the however the PatternString does not render the properties of a specific but @@ -29212,7 +28899,7 @@ Additional pattern converters may be registered with a specific instance using or - . + . See the for details on the @@ -29256,441 +28943,1245 @@ - + + + Constructs a PatternString + + The pattern to use with this PatternString + + + Initialize a new instance of with the pattern specified. + + + + + + Gets or sets the pattern formatting string + + + The pattern formatting string + + + + The ConversionPattern option. This is the string which + controls formatting and consists of a mix of literal content and + conversion specifiers. + + + + + + Initialize object options + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + + + + Create the used to parse the pattern + + the pattern to parse + The + + + Returns PatternParser used to parse the conversion string. Subclasses + may override this to return a subclass of PatternParser which recognize + custom conversion pattern name. + + + + + + Produces a formatted string as specified by the conversion pattern. + + The TextWriter to write the formatted event to + + + Format the pattern to the . + + + + + + Format the pattern as a string + + the pattern formatted as a string + + + Format the pattern to a string. + + + + + + Add a converter to this PatternString + + the converter info + + + This version of the method is used by the configurator. + Programmatic users should use the alternative method. + + + + + + Add a converter to this PatternString + + the name of the conversion pattern for this converter + the type of the converter + + + Add a converter to this PatternString + + + + + + Write the name of the current AppDomain to the output + + + + Write the name of the current AppDomain to the output writer + + + Nicko Cadell + + + + Write the name of the current AppDomain to the output + + the writer to write to + null, state is not set + + + Writes name of the current AppDomain to the output . + + + + + + AppSetting pattern converter + + + + This pattern converter reads appSettings from the application configuration file. + + + If the is specified then that will be used to + lookup a single appSettings value. If no is specified + then all appSettings will be dumped as a list of key value pairs. + + + A typical use is to specify a base directory for log files, e.g. + + + + + ... + + + ]]> + + + + + + + Write the property value to the output + + that will receive the formatted result. + null, state is not set + + + Writes out the value of a named property. The property name + should be set in the + property. + + + If the is set to null + then all the properties are written as key value pairs. + + + + + + Write the current date to the output + + + + Date pattern converter, uses a to format + the current date and time to the writer as a string. + + + The value of the determines + the formatting of the date. The following values are allowed: + + + Option value + Output + + + ISO8601 + + Uses the formatter. + Formats using the "yyyy-MM-dd HH:mm:ss,fff" pattern. + + + + DATE + + Uses the formatter. + Formats using the "dd MMM yyyy HH:mm:ss,fff" for example, "06 Nov 1994 15:49:37,459". + + + + ABSOLUTE + + Uses the formatter. + Formats using the "HH:mm:ss,fff" for example, "15:49:37,459". + + + + other + + Any other pattern string uses the formatter. + This formatter passes the pattern string to the + method. + For details on valid patterns see + DateTimeFormatInfo Class. + + + + + + The date and time is in the local time zone and is rendered in that zone. + To output the time in Universal time see . + + + Nicko Cadell + + + + The used to render the date to a string + + + + The used to render the date to a string + + + + + + Initialize the converter options + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + + + + Write the current date to the output + + that will receive the formatted result. + null, state is not set + + + Pass the current date and time to the + for it to render it to the writer. + + + The date and time passed is in the local time zone. + + + + + + The fully qualified type of the DatePatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Write an folder path to the output + + + + Write an special path environment folder path to the output writer. + The value of the determines + the name of the variable to output. + should be a value in the enumeration. + + + Ron Grabowski + + + + Write an special path environment folder path to the output + + the writer to write to + null, state is not set + + + Writes the special path environment folder path to the output . + The name of the special path environment folder path to output must be set + using the + property. + + + + + + The fully qualified type of the EnvironmentFolderPathPatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Write an environment variable to the output + + + + Write an environment variable to the output writer. + The value of the determines + the name of the variable to output. + + + Nicko Cadell + + + + Write an environment variable to the output + + the writer to write to + null, state is not set + + + Writes the environment variable to the output . + The name of the environment variable to output must be set + using the + property. + + + + + + The fully qualified type of the EnvironmentPatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Write the current thread identity to the output + + + + Write the current thread identity to the output writer + + + Nicko Cadell + + + + Write the current thread identity to the output + + the writer to write to + null, state is not set + + + Writes the current thread identity to the output . + + + + + + The fully qualified type of the IdentityPatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Pattern converter for literal string instances in the pattern + + + + Writes the literal string value specified in the + property to + the output. + + + Nicko Cadell + + + + Set the next converter in the chain + + The next pattern converter in the chain + The next pattern converter + + + Special case the building of the pattern converter chain + for instances. Two adjacent + literals in the pattern can be represented by a single combined + pattern converter. This implementation detects when a + is added to the chain + after this converter and combines its value with this converter's + literal value. + + + + + + Write the literal to the output + + the writer to write to + null, not set + + + Override the formatting behavior to ignore the FormattingInfo + because we have a literal instead. + + + Writes the value of + to the output . + + + + + + Convert this pattern into the rendered message + + that will receive the formatted result. + null, not set + + + This method is not used. + + + + + + Writes a newline to the output + + + + Writes the system dependent line terminator to the output. + This behavior can be overridden by setting the : + + + + Option Value + Output + + + DOS + DOS or Windows line terminator "\r\n" + + + UNIX + UNIX line terminator "\n" + + + + Nicko Cadell + + + + Initialize the converter + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + + + + Write the current process ID to the output + + + + Write the current process ID to the output writer + + + Nicko Cadell + + + + Write the current process ID to the output + + the writer to write to + null, state is not set + + + Write the current process ID to the output . + + + + + + The fully qualified type of the ProcessIdPatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Property pattern converter + + + + This pattern converter reads the thread and global properties. + The thread properties take priority over global properties. + See for details of the + thread properties. See for + details of the global properties. + + + If the is specified then that will be used to + lookup a single property. If no is specified + then all properties will be dumped as a list of key value pairs. + + + Nicko Cadell + + + + Write the property value to the output + + that will receive the formatted result. + null, state is not set + + + Writes out the value of a named property. The property name + should be set in the + property. + + + If the is set to null + then all the properties are written as key value pairs. + + + + + + A Pattern converter that generates a string of random characters + + + + The converter generates a string of random characters. By default + the string is length 4. This can be changed by setting the + to the string value of the length required. + + + The random characters in the string are limited to uppercase letters + and numbers only. + + + The random number generator used by this class is not cryptographically secure. + + + Nicko Cadell + + + + Shared random number generator + + + + + Length of random string to generate. Default length 4. + + + + + Initialize the converter options + + + + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. + + + If any of the configuration properties are modified then + must be called again. + + + + + + Write a randoim string to the output + + the writer to write to + null, state is not set + + + Write a randoim string to the output . + + + + + + The fully qualified type of the RandomStringPatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Write the current threads username to the output + + + + Write the current threads username to the output writer + + + Nicko Cadell + + + + Write the current threads username to the output + + the writer to write to + null, state is not set + + + Write the current threads username to the output . + + + + + + The fully qualified type of the UserNamePatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + Write the UTC date time to the output + + + + Date pattern converter, uses a to format + the current date and time in Universal time. + + + See the for details on the date pattern syntax. + + + + Nicko Cadell + + + + Write the current date and time to the output + + that will receive the formatted result. + null, state is not set + + + Pass the current date and time to the + for it to render it to the writer. + + + The date is in Universal time when it is rendered. + + + + + + + The fully qualified type of the UtcDatePatternConverter class. + + + Used by the internal logger to record the Type of the + log message. + + + + + String keyed object map. + + + + While this collection is serializable only member + objects that are serializable will + be serialized along with this collection. + + + Nicko Cadell + Gert Driesen + + + + Constructor + + + + Initializes a new instance of the class. + + + + + + Constructor + + properties to copy + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class + with serialized data. + + The that holds the serialized object data. + The that contains contextual information about the source or destination. + + + Because this class is sealed the serialization constructor is private. + + + + - Constructs a PatternString + Gets or sets the value of the property with the specified key. - The pattern to use with this PatternString + + The value of the property with the specified key. + + The key of the property to get or set. - Initialize a new instance of with the pattern specified. + The property value will only be serialized if it is serializable. + If it cannot be serialized it will be silently ignored if + a serialization operation is performed. - + - Initialize object options + Remove the entry with the specified key from this dictionary + the key for the entry to remove - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + Remove the entry with the specified key from this dictionary - + - Create the used to parse the pattern + See - the pattern to parse - The + an enumerator - Returns PatternParser used to parse the conversion string. Subclasses - may override this to return a subclass of PatternParser which recognize - custom conversion pattern name. + Returns a over the contest of this collection. - + - Produces a formatted string as specified by the conversion pattern. + See - The TextWriter to write the formatted event to + the key to remove - Format the pattern to the . + Remove the entry with the specified key from this dictionary - + - Format the pattern as a string + See - the pattern formatted as a string + the key to lookup in the collection + true if the collection contains the specified key - Format the pattern to a string. + Test if this collection contains a specified key. - + - Add a converter to this PatternString + Remove all properties from the properties collection - the converter info - This version of the method is used by the configurator. - Programmatic users should use the alternative method. + Remove all properties from the properties collection - + - Add a converter to this PatternString + See - the name of the conversion pattern for this converter - the type of the converter + the key + the value to store for the key - Add a converter to this PatternString + Store a value for the specified . + Thrown if the is not a string - + - Gets or sets the pattern formatting string + See - The pattern formatting string + false - The ConversionPattern option. This is the string which - controls formatting and consists of a mix of literal content and - conversion specifiers. + This collection is modifiable. This property always + returns false. - + - String keyed object map. + See + + The value for the key specified. + - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. + Get or set a value for the specified . - Nicko Cadell - Gert Driesen + Thrown if the is not a string - + - String keyed object map that is read only. + See - - - This collection is readonly and cannot be modified. - - - While this collection is serializable only member - objects that are serializable will - be serialized along with this collection. - - - Nicko Cadell - Gert Driesen - + - The Hashtable used to store the properties data + See - + - Constructor + See - - - Initializes a new instance of the class. - - - + - Copy Constructor + See - properties to copy - - - Initializes a new instance of the class. - - + + - + - Deserialization constructor + See - The that holds the serialized object data. - The that contains contextual information about the source or destination. - - - Initializes a new instance of the class - with serialized data. - - - + - Gets the key names. + See + + + + + See + + + + + A class to hold the key and data for a property set in the config file - An array of all the keys. - Gets the key names. + A class to hold the key and data for a property set in the config file - + - Test if the dictionary contains a specified key + Property Key - the key to look for - true if the dictionary contains the specified key + + Property Key + - Test if the dictionary contains a specified key + Property Key. - + - Serializes this object into the provided. + Property Value - The to populate with data. - The destination for this serialization. + + Property Value + - Serializes this object into the provided. + Property Value. - + - See + Override Object.ToString to return sensible debug info + string info about this object - + - See + A that ignores the message - + + + This writer is used in special cases where it is necessary + to protect a writer from being closed by a client. + + + Nicko Cadell - + - See + Constructor - - + the writer to actually write to + + + Create a new ProtectCloseTextWriter using a writer + + - + - Remove all properties from the properties collection + Attach this instance to a different underlying + the writer to attach to + + + Attach this instance to a different underlying + + - + - See + Does not close the underlying output writer. - - + + + Does not close the underlying output writer. + This method does nothing. + + - + - See + that does not leak exceptions - - + + + does not throw exceptions when things go wrong. + Instead, it delegates error handling to its . + + + Nicko Cadell + Gert Driesen - + - See + Constructor + the writer to actually write to + the error handler to report error to + + + Create a new QuietTextWriter using a writer and error handler + + - + - Gets or sets the value of the property with the specified key. + Gets or sets the error handler that all errors are passed to. - The value of the property with the specified key. + The error handler that all errors are passed to. - The key of the property to get or set. - The property value will only be serialized if it is serializable. - If it cannot be serialized it will be silently ignored if - a serialization operation is performed. + Gets or sets the error handler that all errors are passed to. - + - The hashtable used to store the properties + Gets a value indicating whether this writer is closed. - The internal collection used to store the properties + true if this writer is closed, otherwise false. - The hashtable used to store the properties + Gets a value indicating whether this writer is closed. - - - See - - - - - See - - - + - See + Writes a character to the underlying writer + the char to write + + + Writes a character to the underlying writer + + - + - See + Writes a buffer to the underlying writer + the buffer to write + the start index to write from + the number of characters to write + + + Writes a buffer to the underlying writer + + - + - See + Writes a string to the output. + The string data to write to the output. + + + Writes a string to the output. + + - + - See + Closes the underlying output writer. + + + Closes the underlying output writer. + + - + - The number of properties in this collection + The error handler instance to pass all errors to - + - See + Flag to indicate if this writer is closed - + - Constructor + Defines a lock that supports single writers and multiple readers - Initializes a new instance of the class. + ReaderWriterLock is used to synchronize access to a resource. + At any given time, it allows either concurrent read access for + multiple threads, or write access for a single thread. In a + situation where a resource is changed infrequently, a + ReaderWriterLock provides better throughput than a simple + one-at-a-time lock, such as . + + + If a platform does not support a System.Threading.ReaderWriterLock + implementation then all readers and writers are serialized. Therefore + the caller must not rely on multiple simultaneous readers. + Nicko Cadell - + Constructor - properties to copy - Initializes a new instance of the class. + Initializes a new instance of the class. - + - Initializes a new instance of the class - with serialized data. + Acquires a reader lock - The that holds the serialized object data. - The that contains contextual information about the source or destination. - Because this class is sealed the serialization constructor is private. + blocks if a different thread has the writer + lock, or if at least one thread is waiting for the writer lock. - + - Remove the entry with the specified key from this dictionary + Decrements the lock count - the key for the entry to remove - Remove the entry with the specified key from this dictionary + decrements the lock count. When the count + reaches zero, the lock is released. - + - See + Acquires the writer lock - an enumerator - Returns a over the contest of this collection. + This method blocks if another thread has a reader lock or writer lock. - + - See + Decrements the lock count on the writer lock - the key to remove - Remove the entry with the specified key from this dictionary + ReleaseWriterLock decrements the writer lock count. + When the count reaches zero, the writer lock is released. - + - See + String keyed object map that is read only. - the key to lookup in the collection - true if the collection contains the specified key - Test if this collection contains a specified key. + This collection is readonly and cannot be modified. + + + While this collection is serializable only member + objects that are serializable will + be serialized along with this collection. + Nicko Cadell + Gert Driesen - + - Remove all properties from the properties collection + The Hashtable used to store the properties data + + + + + Constructor - Remove all properties from the properties collection + Initializes a new instance of the class. - + - See + Copy Constructor - the key - the value to store for the key + properties to copy - Store a value for the specified . + Initializes a new instance of the class. - Thrown if the is not a string - + - See + Deserialization constructor - - + The that holds the serialized object data. + The that contains contextual information about the source or destination. + + + Initializes a new instance of the class + with serialized data. + + - + - See + Gets the key names. + An array of all the keys. + + + Gets the key names. + + - + Gets or sets the value of the property with the specified key. @@ -29706,297 +30197,391 @@ - + - See + Test if the dictionary contains a specified key - - false - + the key to look for + true if the dictionary contains the specified key - This collection is modifiable. This property always - returns false. + Test if the dictionary contains a specified key - + - See + The hashtable used to store the properties - The value for the key specified. + The internal collection used to store the properties - Get or set a value for the specified . + The hashtable used to store the properties - Thrown if the is not a string - + + + Serializes this object into the provided. + + The to populate with data. + The destination for this serialization. + + + Serializes this object into the provided. + + + + + + See + + + + + See + + + + + + See + + + + + + + Remove all properties from the properties collection + + + + + See + + + + + + + See + + + + + See + + + See - + See - + See - + - See + See + + - + - See + See - + - A class to hold the key and data for a property set in the config file + The number of properties in this collection - - - A class to hold the key and data for a property set in the config file - - - + - Override Object.ToString to return sensible debug info + See - string info about this object - + - Property Key + See - - Property Key - - - - Property Key. - - - + - Property Value + A that can be and reused - - Property Value - - Property Value. + A that can be and reused. + This uses a single buffer for string operations. + Nicko Cadell - + - A that ignores the message + Create an instance of + the format provider to use - This writer is used in special cases where it is necessary - to protect a writer from being closed by a client. + Create an instance of - Nicko Cadell - + - Constructor + Override Dispose to prevent closing of writer - the writer to actually write to + flag - Create a new ProtectCloseTextWriter using a writer + Override Dispose to prevent closing of writer - + - Attach this instance to a different underlying + Reset this string writer so that it can be reused. - the writer to attach to + the maximum buffer capacity before it is trimmed + the default size to make the buffer - Attach this instance to a different underlying + Reset this string writer so that it can be reused. + The internal buffers are cleared and reset. - + - Does not close the underlying output writer. + Utility class for system specific information. - Does not close the underlying output writer. - This method does nothing. + Utility class of static methods for system specific information. + Nicko Cadell + Gert Driesen + Alexey Solofnenko - + - Defines a lock that supports single writers and multiple readers + Private constructor to prevent instances. - ReaderWriterLock is used to synchronize access to a resource. - At any given time, it allows either concurrent read access for - multiple threads, or write access for a single thread. In a - situation where a resource is changed infrequently, a - ReaderWriterLock provides better throughput than a simple - one-at-a-time lock, such as . - - - If a platform does not support a System.Threading.ReaderWriterLock - implementation then all readers and writers are serialized. Therefore - the caller must not rely on multiple simultaneous readers. + Only static methods are exposed from this type. - Nicko Cadell - + - Constructor + Initialize default values for private static fields. - Initializes a new instance of the class. + Only static methods are exposed from this type. - + - Acquires a reader lock + Gets the system dependent line terminator. + + The system dependent line terminator. + - blocks if a different thread has the writer - lock, or if at least one thread is waiting for the writer lock. + Gets the system dependent line terminator. - + - Decrements the lock count + Gets the base directory for this . + The base directory path for the current . - decrements the lock count. When the count - reaches zero, the lock is released. + Gets the base directory for this . + + + The value returned may be either a local file path or a URI. - + - Acquires the writer lock + Gets the path to the configuration file for the current . + The path to the configuration file for the current . - This method blocks if another thread has a reader lock or writer lock. + The .NET Compact Framework 1.0 does not have a concept of a configuration + file. For this runtime, we use the entry assembly location as the root for + the configuration file name. + + + The value returned may be either a local file path or a URI. - + - Decrements the lock count on the writer lock + Gets the path to the file that first executed in the current . + The path to the entry assembly. - ReleaseWriterLock decrements the writer lock count. - When the count reaches zero, the writer lock is released. + Gets the path to the file that first executed in the current . - + - A that can be and reused + Gets the ID of the current thread. + The ID of the current thread. - A that can be and reused. - This uses a single buffer for string operations. + On the .NET framework, the AppDomain.GetCurrentThreadId method + is used to obtain the thread ID for the current thread. This is the + operating system ID for the thread. + + + On the .NET Compact Framework 1.0 it is not possible to get the + operating system thread ID for the current thread. The native method + GetCurrentThreadId is implemented inline in a header file + and cannot be called. + + + On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this + gives a stable id unrelated to the operating system thread ID which may + change if the runtime is using fibers. - Nicko Cadell - + - Create an instance of + Get the host name or machine name for the current machine - the format provider to use + + The hostname or machine name + - Create an instance of + Get the host name or machine name for the current machine + + + The host name () or + the machine name (Environment.MachineName) for + the current machine, or if neither of these are available + then NOT AVAILABLE is returned. - + - Override Dispose to prevent closing of writer + Get this application's friendly name - flag + + The friendly name of this application as a string + - Override Dispose to prevent closing of writer + If available the name of the application is retrieved from + the AppDomain using AppDomain.CurrentDomain.FriendlyName. + + + Otherwise the file name of the entry assembly is used. - + - Reset this string writer so that it can be reused. + Get the start time for the current process. - the maximum buffer capacity before it is trimmed - the default size to make the buffer - Reset this string writer so that it can be reused. - The internal buffers are cleared and reset. + This is the time at which the log4net library was loaded into the + AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime + this is not the start time for the current process. + + + The log4net library should be loaded by an application early during its + startup, therefore this start time should be a good approximation for + the actual start time. + + + Note that AppDomains may be loaded and unloaded within the + same process without the process terminating, however this start time + will be set per AppDomain. - + - Utility class for system specific information. + Get the UTC start time for the current process. - Utility class of static methods for system specific information. + This is the UTC time at which the log4net library was loaded into the + AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime + this is not the start time for the current process. + + + The log4net library should be loaded by an application early during its + startup, therefore this start time should be a good approximation for + the actual start time. + + + Note that AppDomains may be loaded and unloaded within the + same process without the process terminating, however this start time + will be set per AppDomain. - Nicko Cadell - Gert Driesen - Alexey Solofnenko - + - Private constructor to prevent instances. + Text to output when a null is encountered. - Only static methods are exposed from this type. + Use this value to indicate a null has been encountered while + outputting a string representation of an item. + + + The default value is (null). This value can be overridden by specifying + a value for the log4net.NullText appSetting in the application's + .config file. - + - Initialize default values for private static fields. + Text to output when an unsupported feature is requested. - Only static methods are exposed from this type. + Use this value when an unsupported feature is requested. + + + The default value is NOT AVAILABLE. This value can be overridden by specifying + a value for the log4net.NotAvailableText appSetting in the application's + .config file. @@ -30016,12 +30601,12 @@ - Gets the fully qualified name of the , including - the name of the assembly from which the was + Gets the fully qualified name of the , including + the name of the assembly from which the was loaded. - The to get the fully qualified name for. - The fully qualified name for the . + The to get the fully qualified name for. + The fully qualified name for the . This is equivalent to the Type.AssemblyQualifiedName property, @@ -30032,13 +30617,13 @@ - Gets the short name of the . + Gets the short name of the . - The to get the name for. - The short name of the . + The to get the name for. + The short name of the . - The short name of the assembly is the + The short name of the assembly is the without the version, culture, or public key. i.e. it is just the assembly's file name without the extension. @@ -30049,20 +30634,20 @@ Because of a FileIOPermission security demand we cannot do the obvious Assembly.GetName().Name. We are allowed to get - the of the assembly so we + the of the assembly so we start from there and strip out just the assembly name. - Gets the file name portion of the , including the extension. + Gets the file name portion of the , including the extension. - The to get the file name for. + The to get the file name for. The file name of the assembly. - Gets the file name portion of the , including the extension. + Gets the file name portion of the , including the extension. @@ -30163,1177 +30748,736 @@ - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Parse a string into an value - - the string to parse - out param where the parsed value is placed - true if the string was able to be parsed into an integer - - - Attempts to parse the string into an integer. If the string cannot - be parsed then this method returns false. The method does not throw an exception. - - - - - - Lookup an application setting - - the application settings key to lookup - the value for the key, or null - - - Configuration APIs are not supported under the Compact Framework - - - - - - Convert a path into a fully qualified local file path. - - The path to convert. - The fully qualified path. - - - Converts the path specified to a fully - qualified path. If the path is relative it is - taken as relative from the application base - directory. - - - The path specified must be a local file path, a URI is not supported. - - - - - - Creates a new case-insensitive instance of the class with the default initial capacity. - - A new case-insensitive instance of the class with the default initial capacity - - - The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - - - - - - Tests two strings for equality, the ignoring case. - - - If the platform permits, culture information is ignored completely (ordinal comparison). - The aim of this method is to provide a fast comparison that deals with null and ignores different casing. - It is not supposed to deal with various, culture-specific habits. - Use it to compare against pure ASCII constants, like keywords etc. - - The one string. - The other string. - true if the strings are equal, false otherwise. - - - - Gets an empty array of types. - - - - The Type.EmptyTypes field is not available on - the .NET Compact Framework 1.0. - - - - - - The fully qualified type of the SystemInfo class. - - - Used by the internal logger to record the Type of the - log message. - - - - - Cache the host name for the current machine - - - - - Cache the application friendly name - - - - - Text to output when a null is encountered. - - - - - Text to output when an unsupported feature is requested. - - - - - Start time for the current process. - - - - - Gets the system dependent line terminator. - - - The system dependent line terminator. - - - - Gets the system dependent line terminator. - - - - - - Gets the base directory for this . - - The base directory path for the current . - - - Gets the base directory for this . - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the configuration file for the current . - - The path to the configuration file for the current . - - - The .NET Compact Framework 1.0 does not have a concept of a configuration - file. For this runtime, we use the entry assembly location as the root for - the configuration file name. - - - The value returned may be either a local file path or a URI. - - - - - - Gets the path to the file that first executed in the current . - - The path to the entry assembly. - - - Gets the path to the file that first executed in the current . - - - - - - Gets the ID of the current thread. - - The ID of the current thread. - - - On the .NET framework, the AppDomain.GetCurrentThreadId method - is used to obtain the thread ID for the current thread. This is the - operating system ID for the thread. - - - On the .NET Compact Framework 1.0 it is not possible to get the - operating system thread ID for the current thread. The native method - GetCurrentThreadId is implemented inline in a header file - and cannot be called. - - - On the .NET Framework 2.0 the Thread.ManagedThreadId is used as this - gives a stable id unrelated to the operating system thread ID which may - change if the runtime is using fibers. - - - - - - Get the host name or machine name for the current machine - - - The hostname or machine name - - - - Get the host name or machine name for the current machine - - - The host name () or - the machine name (Environment.MachineName) for - the current machine, or if neither of these are available - then NOT AVAILABLE is returned. - - - - + - Get this application's friendly name + Parse a string into an value - - The friendly name of this application as a string - + the string to parse + out param where the parsed value is placed + true if the string was able to be parsed into an integer - If available the name of the application is retrieved from - the AppDomain using AppDomain.CurrentDomain.FriendlyName. - - - Otherwise the file name of the entry assembly is used. + Attempts to parse the string into an integer. If the string cannot + be parsed then this method returns false. The method does not throw an exception. - + - Get the start time for the current process. + Parse a string into an value + the string to parse + out param where the parsed value is placed + true if the string was able to be parsed into an integer - This is the time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. + Attempts to parse the string into an integer. If the string cannot + be parsed then this method returns false. The method does not throw an exception. - + - Get the UTC start time for the current process. + Parse a string into an value + the string to parse + out param where the parsed value is placed + true if the string was able to be parsed into an integer - This is the UTC time at which the log4net library was loaded into the - AppDomain. Due to reports of a hang in the call to System.Diagnostics.Process.StartTime - this is not the start time for the current process. - - - The log4net library should be loaded by an application early during its - startup, therefore this start time should be a good approximation for - the actual start time. - - - Note that AppDomains may be loaded and unloaded within the - same process without the process terminating, however this start time - will be set per AppDomain. + Attempts to parse the string into an integer. If the string cannot + be parsed then this method returns false. The method does not throw an exception. - + - Text to output when a null is encountered. + Lookup an application setting + the application settings key to lookup + the value for the key, or null - Use this value to indicate a null has been encountered while - outputting a string representation of an item. - - - The default value is (null). This value can be overridden by specifying - a value for the log4net.NullText appSetting in the application's - .config file. + Configuration APIs are not supported under the Compact Framework - + - Text to output when an unsupported feature is requested. + Convert a path into a fully qualified local file path. + The path to convert. + The fully qualified path. - Use this value when an unsupported feature is requested. + Converts the path specified to a fully + qualified path. If the path is relative it is + taken as relative from the application base + directory. - The default value is NOT AVAILABLE. This value can be overridden by specifying - a value for the log4net.NotAvailableText appSetting in the application's - .config file. + The path specified must be a local file path, a URI is not supported. - + - Utility class that represents a format string. + Creates a new case-insensitive instance of the class with the default initial capacity. + A new case-insensitive instance of the class with the default initial capacity - Utility class that represents a format string. + The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer. - Nicko Cadell - - - - Initialise the - - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - + - Format the string and arguments + Tests two strings for equality, the ignoring case. - the formatted string + + If the platform permits, culture information is ignored completely (ordinal comparison). + The aim of this method is to provide a fast comparison that deals with null and ignores different casing. + It is not supposed to deal with various, culture-specific habits. + Use it to compare against pure ASCII constants, like keywords etc. + + The one string. + The other string. + true if the strings are equal, false otherwise. - + - Replaces the format item in a specified with the text equivalent - of the value of a corresponding instance in a specified array. - A specified parameter supplies culture-specific formatting information. + Gets an empty array of types. - An that supplies culture-specific formatting information. - A containing zero or more format items. - An array containing zero or more objects to format. - - A copy of format in which the format items have been replaced by the - equivalent of the corresponding instances of in args. - - This method does not throw exceptions. If an exception thrown while formatting the result the - exception and arguments are returned in the result string. + The Type.EmptyTypes field is not available on + the .NET Compact Framework 1.0. - - - Process an error during StringFormat - - - - - Dump the contents of an array into a string builder - - - - - Dump an object to a string - - - + - The fully qualified type of the SystemStringFormat class. + The fully qualified type of the SystemInfo class. Used by the internal logger to record the Type of the log message. - + - Implementation of Properties collection for the + Cache the host name for the current machine - - - Class implements a collection of properties that is specific to each thread. - The class is not synchronized as each thread has its own . - - - Nicko Cadell - + - Each thread will automatically have its instance. + Cache the application friendly name - + - Internal constructor + Text to output when a null is encountered. - - - Initializes a new instance of the class. - - - + - Remove a property + Text to output when an unsupported feature is requested. - the key for the entry to remove - - - Remove a property - - - + - Get the keys stored in the properties. + Start time for the current process. - - Gets the keys stored in the properties. - - a set of the defined keys - + - Clear all properties + Utility class that represents a format string. - Clear all properties + Utility class that represents a format string. + Nicko Cadell - + - Get the PropertiesDictionary for this thread. + Initialise the - create the dictionary if it does not exist, otherwise return null if does not exist - the properties for this thread - - - The collection returned is only to be used on the calling thread. If the - caller needs to share the collection between different threads then the - caller must clone the collection before doing so. - - + An that supplies culture-specific formatting information. + A containing zero or more format items. + An array containing zero or more objects to format. - + - Gets or sets the value of a property + Format the string and arguments - - The value for the property with the specified key - - - - Gets or sets the value of a property - - + the formatted string - + - Implementation of Stack for the + Replaces the format item in a specified with the text equivalent + of the value of a corresponding instance in a specified array. + A specified parameter supplies culture-specific formatting information. + An that supplies culture-specific formatting information. + A containing zero or more format items. + An array containing zero or more objects to format. + + A copy of format in which the format items have been replaced by the + equivalent of the corresponding instances of in args. + - Implementation of Stack for the + This method does not throw exceptions. If an exception thrown while formatting the result the + exception and arguments are returned in the result string. - Nicko Cadell - + - The stack store. + Process an error during StringFormat - + - Internal constructor + Dump the contents of an array into a string builder - - - Initializes a new instance of the class. - - - + - Clears all the contextual information held in this stack. + Dump an object to a string - - - Clears all the contextual information held in this stack. - Only call this if you think that this tread is being reused after - a previous call execution which may not have completed correctly. - You do not need to use this method if you always guarantee to call - the method of the - returned from even in exceptional circumstances, - for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - syntax. - - - + - Removes the top context from this stack. + The fully qualified type of the SystemStringFormat class. - The message in the context that was removed from the top of this stack. - - Remove the top context from this stack, and return - it to the caller. If this stack is empty then an - empty string (not ) is returned. - + Used by the internal logger to record the Type of the + log message. - + - Pushes a new context message into this stack. + Adapter that extends and forwards all + messages to an instance of . - The new context message. - - An that can be used to clean up the context stack. - - Pushes a new context onto this stack. An - is returned that can be used to clean up this stack. This - can be easily combined with the using keyword to scope the - context. + Adapter that extends and forwards all + messages to an instance of . - Simple example of using the Push method with the using keyword. - - using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) - { - log.Warn("This should have an ThreadContext Stack message"); - } - - + Nicko Cadell - + - Gets the current context information for this stack. + The writer to forward messages to - The current context information. - + - Gets the current context information for this stack. + Create an instance of that forwards all + messages to a . - Gets the current context information + The to forward to - Gets the current context information for this stack. + Create an instance of that forwards all + messages to a . - + - Get a portable version of this object + Gets or sets the underlying . - the portable instance of this object + + The underlying . + - Get a cross thread portable version of this object + Gets or sets the underlying . - + - The number of messages in the stack + The Encoding in which the output is written - The current number of messages in the stack + The - The current number of messages in the stack. That is - the number of times has been called - minus the number of times has been called. + The Encoding in which the output is written - + - Gets and sets the internal stack used by this + Gets an object that controls formatting - The internal storage stack + + The format provider + - This property is provided only to support backward compatability - of the . Tytpically the internal stack should not - be modified. + Gets an object that controls formatting - + - Inner class used to represent a single context frame in the stack. + Gets or sets the line terminator string used by the TextWriter + + The line terminator to use + - Inner class used to represent a single context frame in the stack. + Gets or sets the line terminator string used by the TextWriter - + - Constructor + Closes the writer and releases any system resources associated with the writer - The message for this context. - The parent context in the chain. - Initializes a new instance of the class - with the specified message and parent context. - + - Get the message. + Dispose this writer - The message. + flag indicating if we are being disposed - Get the message. + Dispose this writer - + - Gets the full text of the context down to the root level. + Flushes any buffered output - - The full text of the context down to the root level. - - Gets the full text of the context down to the root level. + Clears all buffers for the writer and causes any buffered data to be written + to the underlying device - + - Struct returned from the method. + Writes a character to the wrapped TextWriter + the value to write to the TextWriter - This struct implements the and is designed to be used - with the pattern to remove the stack frame at the end of the scope. + Writes a character to the wrapped TextWriter - - - The ThreadContextStack internal stack - - - - - The depth to trim the stack to when this instance is disposed - - - + - Constructor + Writes a character buffer to the wrapped TextWriter - The internal stack used by the ThreadContextStack. - The depth to return the stack to when this object is disposed. + the data buffer + the start index + the number of characters to write - Initializes a new instance of the class with - the specified stack and return depth. + Writes a character buffer to the wrapped TextWriter - + - Returns the stack to the correct depth. + Writes a string to the wrapped TextWriter + the value to write to the TextWriter - Returns the stack to the correct depth. + Writes a string to the wrapped TextWriter - + - Implementation of Stacks collection for the + Implementation of Properties collection for the - Implementation of Stacks collection for the + Class implements a collection of properties that is specific to each thread. + The class is not synchronized as each thread has its own . Nicko Cadell - + - Internal constructor + Each thread will automatically have its instance. - - - Initializes a new instance of the class. - - - + - The fully qualified type of the ThreadContextStacks class. + Internal constructor - Used by the internal logger to record the Type of the - log message. + + Initializes a new instance of the class. + - + - Gets the named thread context stack + Gets or sets the value of a property - The named stack + The value for the property with the specified key - Gets the named thread context stack + Gets or sets the value of a property - + - Utility class for transforming strings. + Remove a property + the key for the entry to remove - Utility class for transforming strings. + Remove a property - Nicko Cadell - Gert Driesen - + - Initializes a new instance of the class. + Get the keys stored in the properties. - - Uses a private access modifier to prevent instantiation of this class. + Gets the keys stored in the properties. - + a set of the defined keys - + - Write a string to an + Clear all properties - the writer to write to - the string to write - The string to replace non XML compliant chars with - The test is escaped either using XML escape entities - or using CDATA sections. + Clear all properties - + - Replace invalid XML characters in text string + Get the PropertiesDictionary for this thread. - the XML text input string - the string to use in place of invalid characters - A string that does not contain invalid XML characters. + create the dictionary if it does not exist, otherwise return null if does not exist + the properties for this thread - Certain Unicode code points are not allowed in the XML InfoSet, for - details see: http://www.w3.org/TR/REC-xml/#charsets. - - - This method replaces any illegal characters in the input string - with the mask string specified. + The collection returned is only to be used on the calling thread. If the + caller needs to share the collection between different threads then the + caller must clone the collection before doing so. - + - Count the number of times that the substring occurs in the text + Implementation of Stack for the - the text to search - the substring to find - the number of times the substring occurs in the text - The substring is assumed to be non repeating within itself. + Implementation of Stack for the + Nicko Cadell - + - Characters illegal in XML 1.0 + The stack store. - + - Impersonate a Windows Account + Internal constructor - This impersonates a Windows account. - - - How the impersonation is done depends on the value of . - This allows the context to either impersonate a set of user credentials specified - using username, domain name and password or to revert to the process credentials. + Initializes a new instance of the class. - + - Default constructor + The number of messages in the stack + + The current number of messages in the stack + - Default constructor + The current number of messages in the stack. That is + the number of times has been called + minus the number of times has been called. - + - Initialize the SecurityContext based on the options set. + Clears all the contextual information held in this stack. - This is part of the delayed object - activation scheme. The method must - be called on this object after the configuration properties have - been set. Until is called this - object is in an undefined state and must not be used. - - - If any of the configuration properties are modified then - must be called again. + Clears all the contextual information held in this stack. + Only call this if you think that this tread is being reused after + a previous call execution which may not have completed correctly. + You do not need to use this method if you always guarantee to call + the method of the + returned from even in exceptional circumstances, + for example by using the using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) + syntax. + + + + + Removes the top context from this stack. + + The message in the context that was removed from the top of this stack. + - The security context will try to Logon the specified user account and - capture a primary token for impersonation. + Remove the top context from this stack, and return + it to the caller. If this stack is empty then an + empty string (not ) is returned. - The required , - or properties were not specified. - + - Impersonate the Windows account specified by the and properties. + Pushes a new context message into this stack. - caller provided state + The new context message. - An instance that will revoke the impersonation of this SecurityContext + An that can be used to clean up the context stack. - Depending on the property either - impersonate a user using credentials supplied or revert - to the process credentials. + Pushes a new context onto this stack. An + is returned that can be used to clean up this stack. This + can be easily combined with the using keyword to scope the + context. + Simple example of using the Push method with the using keyword. + + using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message")) + { + log.Warn("This should have an ThreadContext Stack message"); + } + + - + - Create a given the userName, domainName and password. + Gets the current context information for this stack. - the user name - the domain name - the password - the for the account specified + The current context information. + + + + Gets and sets the internal stack used by this + + The internal storage stack - Uses the Windows API call LogonUser to get a principal token for the account. This - token is used to initialize the WindowsIdentity. + This property is provided only to support backward compatability + of the . Tytpically the internal stack should not + be modified. - + - Gets or sets the impersonation mode for this security context + Gets the current context information for this stack. - - The impersonation mode for this security context - + Gets the current context information - Impersonate either a user with user credentials or - revert this thread to the credentials of the process. - The value is one of the - enum. - - - The default value is - - - When the mode is set to - the user's credentials are established using the - , and - values. + Gets the current context information for this stack. + + + + + Get a portable version of this object + + the portable instance of this object + - When the mode is set to - no other properties need to be set. If the calling thread is - impersonating then it will be reverted back to the process credentials. + Get a cross thread portable version of this object - + - Gets or sets the Windows username for this security context + Inner class used to represent a single context frame in the stack. - - The Windows username for this security context - - This property must be set if - is set to (the default setting). + Inner class used to represent a single context frame in the stack. - + - Gets or sets the Windows domain name for this security context + Constructor - - The Windows domain name for this security context - + The message for this context. + The parent context in the chain. - The default value for is the local machine name - taken from the property. + Initializes a new instance of the class + with the specified message and parent context. + + + + + Get the message. + + The message. + - This property must be set if - is set to (the default setting). + Get the message. - + - Sets the password for the Windows account specified by the and properties. + Gets the full text of the context down to the root level. - The password for the Windows account specified by the and properties. + The full text of the context down to the root level. - This property must be set if - is set to (the default setting). + Gets the full text of the context down to the root level. - + - The impersonation modes for the + Struct returned from the method. - See the property for - details. + This struct implements the and is designed to be used + with the pattern to remove the stack frame at the end of the scope. - - - Impersonate a user using the credentials supplied - - - + - Revert this the thread to the credentials of the process + The ThreadContextStack internal stack - + - Adds to + The depth to trim the stack to when this instance is disposed - - - Helper class to expose the - through the interface. - - - + Constructor - the impersonation context being wrapped + The internal stack used by the ThreadContextStack. + The depth to return the stack to when this object is disposed. - Constructor + Initializes a new instance of the class with + the specified stack and return depth. - + - Revert the impersonation + Returns the stack to the correct depth. - Revert the impersonation + Returns the stack to the correct depth. - + - The log4net Global Context. + Implementation of Stacks collection for the - The GlobalContext provides a location for global debugging - information to be stored. - - - The global context has a properties map and these properties can - be included in the output of log messages. The - supports selecting and outputing these properties. - - - By default the log4net:HostName property is set to the name of - the current machine. + Implementation of Stacks collection for the - - - GlobalContext.Properties["hostname"] = Environment.MachineName; - - - Nicko Cadell - + - Private Constructor. + Internal constructor - Uses a private access modifier to prevent instantiation of this class. + + Initializes a new instance of the class. + - - - The global context properties instance - - - + - The global properties map. + Gets the named thread context stack - The global properties map. + The named stack - The global properties map. + Gets the named thread context stack - - - Provides information about the environment the assembly has - been built for. - - - - Version of the assembly - - - Version of the framework targeted - - - Type of framework targeted - - - Does it target a client profile? - - + - Identifies the version and target for this assembly. + The fully qualified type of the ThreadContextStacks class. + + Used by the internal logger to record the Type of the + log message. + - + - The log4net Logical Thread Context. + Utility class for transforming strings. - The LogicalThreadContext provides a location for specific debugging - information to be stored. - The LogicalThreadContext properties override any or - properties with the same name. - - - For .NET Standard 1.3 this class uses - System.Threading.AsyncLocal rather than . - - - The Logical Thread Context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. - - - The Logical Thread Context provides a diagnostic context for the current call context. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. - - - The Logical Thread Context is managed on a per basis. - - - The requires a link time - for the - . - If the calling code does not have this permission then this context will be disabled. - It will not store any property values set on it. + Utility class for transforming strings. - Example of using the thread context properties to store a username. - - LogicalThreadContext.Properties["user"] = userName; - log.Info("This log message has a LogicalThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(LogicalThreadContext.Stacks["LDC"].Push("my context message")) - { - log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - Nicko Cadell + Gert Driesen - + - Private Constructor. + Initializes a new instance of the class. @@ -31341,1122 +31485,958 @@ - - - The thread context properties instance - - - - - The thread context stacks instance - - - + - The thread properties map + Write a string to an - - The thread properties map - + the writer to write to + the string to write + The string to replace non XML compliant chars with - The LogicalThreadContext properties override any - or properties with the same name. + The test is escaped either using XML escape entities + or using CDATA sections. - + - The thread stacks + Replace invalid XML characters in text string - - stack map - + the XML text input string + the string to use in place of invalid characters + A string that does not contain invalid XML characters. - The logical thread stacks. + Certain Unicode code points are not allowed in the XML InfoSet, for + details see: http://www.w3.org/TR/REC-xml/#charsets. + + + This method replaces any illegal characters in the input string + with the mask string specified. - + - This class is used by client applications to request logger instances. + Count the number of times that the substring occurs in the text + the text to search + the substring to find + the number of times the substring occurs in the text - This class has static methods that are used by a client to request - a logger instance. The method is - used to retrieve a logger. - - - See the interface for more details. + The substring is assumed to be non repeating within itself. - Simple example of logging messages - - ILog log = LogManager.GetLogger("application-log"); - - log.Info("Application Start"); - log.Debug("This is a debug message"); - - if (log.IsDebugEnabled) - { - log.Debug("This is another debug message"); - } - - - - - Nicko Cadell - Gert Driesen - + - Initializes a new instance of the class. + Characters illegal in XML 1.0 - - Uses a private access modifier to prevent instantiation of this class. - - - Returns the named logger if it exists. + - Returns the named logger if it exists. + Type converter for Boolean. - If the named logger exists (in the default repository) then it - returns a reference to the logger, otherwise it returns null. + Supports conversion from string to bool type. - The fully qualified logger name to look for. - The logger found, or null if no logger could be found. + + + + Nicko Cadell + Gert Driesen - - Get the currently defined loggers. + - Returns all the currently defined loggers in the default repository. + Can the source type be converted to the type supported by this object + the type to convert + true if the conversion is possible - The root logger is not included in the returned array. + + Returns true if the is + the type. + - All the defined loggers. - - Get or create a logger. + - Retrieves or creates a named logger. + Convert the source object to the type supported by this object + the object to convert + the converted object - Retrieves a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. + Uses the method to convert the + argument to a . - The name of the logger to retrieve. - The logger with the name specified. + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Returns the named logger if it exists. + Exception base type for conversion errors. - If the named logger exists (in the specified repository) then it - returns a reference to the logger, otherwise it returns - null. + This type extends . It + does not add any new functionality but does differentiate the + type of exception being thrown. - The repository to lookup in. - The fully qualified logger name to look for. - - The logger found, or null if the logger doesn't exist in the specified - repository. - + Nicko Cadell + Gert Driesen - + - Returns the named logger if it exists. + Constructor - If the named logger exists (in the repository for the specified assembly) then it - returns a reference to the logger, otherwise it returns - null. + Initializes a new instance of the class. - The assembly to use to lookup the repository. - The fully qualified logger name to look for. - - The logger, or null if the logger doesn't exist in the specified - assembly's repository. - - + - Returns all the currently defined loggers in the specified repository. + Constructor - The repository to lookup in. + A message to include with the exception. - The root logger is not included in the returned array. + + Initializes a new instance of the class + with the specified message. + - All the defined loggers. - + - Returns all the currently defined loggers in the specified assembly's repository. + Constructor - The assembly to use to lookup the repository. + A message to include with the exception. + A nested exception to include. - The root logger is not included in the returned array. + + Initializes a new instance of the class + with the specified message and inner exception. + - All the defined loggers. - + - Retrieves or creates a named logger. + Serialization constructor + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. + Initializes a new instance of the class + with serialized data. - The repository to lookup in. - The name of the logger to retrieve. - The logger with the name specified. - + - Retrieves or creates a named logger. + Creates a new instance of the class. + The conversion destination type. + The value to convert. + An instance of the . - Retrieve a logger named as the - parameter. If the named logger already exists, then the - existing instance will be returned. Otherwise, a new instance is - created. - - - By default, loggers do not have a set level but inherit - it from the hierarchy. This is one of the central features of - log4net. + Creates a new instance of the class. - The assembly to use to lookup the repository. - The name of the logger to retrieve. - The logger with the name specified. - + - Shorthand for . + Creates a new instance of the class. + The conversion destination type. + The value to convert. + A nested exception to include. + An instance of the . - Get the logger for the fully qualified name of the type specified. + + Creates a new instance of the class. + - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - + - Shorthand for . + Register of type converters for specific types. - Gets the logger for the fully qualified name of the type specified. + + Maintains a registry of type converters used to convert between + types. + + + Use the and + methods to register new converters. + The and methods + lookup appropriate converters to use. + - The repository to lookup in. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. + + + Nicko Cadell + Gert Driesen - + - Shorthand for . + Private constructor - Gets the logger for the fully qualified name of the type specified. + Initializes a new instance of the class. - The assembly to use to lookup the repository. - The full name of will be used as the name of the logger to retrieve. - The logger with the name specified. - + - Shuts down the log4net system. + Static constructor. - Calling this method will safely close and remove all - appenders in all the loggers including root contained in all the - default repositories. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. + This constructor defines the intrinsic type converters. - - Shutdown a logger repository. + - Shuts down the default repository. + Adds a converter for a specific type. + The type being converted to. + The type converter to use to convert to the destination type. - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - default repository. - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. + Adds a converter instance for a specific type. - + - Shuts down the repository for the repository specified. + Adds a converter for a specific type. + The type being converted to. + The type of the type converter to use to convert to the destination type. - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. + Adds a converter for a specific type. - The repository to shutdown. - + - Shuts down the repository specified. + Gets the type converter to use to convert values to the destination type. + The type being converted from. + The type being converted to. + + The type converter instance to use for type conversions or null + if no type converter is found. + - Calling this method will safely close and remove all - appenders in all the loggers including root contained in the - repository. The repository is looked up using - the specified. - - - Some appenders need to be closed before the application exists. - Otherwise, pending logging events might be lost. - - - The shutdown method is careful to close nested - appenders before closing regular appenders. This is allows - configurations where a regular appender is attached to a logger - and again to a nested appender. + Gets the type converter to use to convert values to the destination type. - The assembly to use to lookup the repository. - - Reset the configuration of a repository + - Resets all values contained in this repository instance to their defaults. + Gets the type converter to use to convert values to the destination type. + The type being converted to. + + The type converter instance to use for type conversions or null + if no type converter is found. + - Resets all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - + Gets the type converter to use to convert values to the destination type. + - + - Resets all values contained in this repository instance to their defaults. + Lookups the type converter to use as specified by the attributes on the + destination type. + + The type being converted to. + + The type converter instance to use for type conversions or null + if no type converter is found. + + + + + Creates the instance of the type converter. + The type of the type converter. + + The type converter instance to use for type conversions or null + if no type converter is found. + - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - + The type specified for the type converter must implement + the or interfaces + and must have a public default (no argument) constructor. + - The repository to reset. - + - Resets all values contained in this repository instance to their defaults. + The fully qualified type of the ConverterRegistry class. - - Reset all values contained in the repository instance to their - defaults. This removes all appenders from all loggers, sets - the level of all non-root loggers to null, - sets their additivity flag to true and sets the level - of the root logger to . Moreover, - message disabling is set to its default "off" value. - + Used by the internal logger to record the Type of the + log message. - The assembly to use to lookup the repository to reset. - - Get the logger repository. + - Returns the default instance. + Mapping from to type converter. + + + + + Supports conversion from string to type. - Gets the for the repository specified - by the callers assembly (). + Supports conversion from string to type. - The instance for the default repository. + + + + Nicko Cadell + Gert Driesen - + - Returns the default instance. + Can the source type be converted to the type supported by this object - The default instance. + the type to convert + true if the conversion is possible - Gets the for the repository specified - by the argument. + Returns true if the is + the type. - The repository to lookup in. - + - Returns the default instance. + Overrides the ConvertFrom method of IConvertFrom. - The default instance. + the object to convert to an encoding + the encoding - Gets the for the repository specified - by the argument. + Uses the method to + convert the argument to an . - The assembly to use to lookup the repository. + + The object cannot be converted to the + target type. To check for this condition use the + method. + - - Get a logger repository. + - Returns the default instance. + Interface supported by type converters - Gets the for the repository specified - by the callers assembly (). + This interface supports conversion from arbitrary types + to a single target type. See . - The instance for the default repository. + Nicko Cadell + Gert Driesen - + - Returns the default instance. + Can the source type be converted to the type supported by this object - The default instance. + the type to convert + true if the conversion is possible - Gets the for the repository specified - by the argument. + Test if the can be converted to the + type supported by this converter. - The repository to lookup in. - + - Returns the default instance. + Convert the source object to the type supported by this object - The default instance. + the object to convert + the converted object - Gets the for the repository specified - by the argument. + Converts the to the type supported + by this converter. - The assembly to use to lookup the repository. - - Create a domain + - Creates a repository with the specified repository type. + Interface supported by type converters - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The created will be associated with the repository - specified such that a call to will return - the same repository instance. + This interface supports conversion from a single type to arbitrary types. + See . - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. + Nicko Cadell - - Create a logger repository. + - Creates a repository with the specified repository type. + Returns whether this converter can convert the object to the specified type - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. + A Type that represents the type you want to convert to + true if the conversion is possible - The created will be associated with the repository - specified such that a call to will return - the same repository instance. + Test if the type supported by this converter can be converted to the + . - + - Creates a repository with the specified name. + Converts the given value object to the specified type, using the arguments + the object to convert + The Type to convert the value parameter to + the converted object - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. + Converts the (which must be of the type supported + by this converter) to the specified.. - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. - + - Creates a repository with the specified name. + Supports conversion from string to type. - Creates the default type of which is a - object. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. + Supports conversion from string to type. - The name of the repository, this must be unique amongst repositories. - The created for the repository. - The specified repository already exists. + + + Nicko Cadell - + - Creates a repository with the specified name and repository type. + Can the source type be converted to the type supported by this object + the type to convert + true if the conversion is possible - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. - - - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. + Returns true if the is + the type. - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. - + - Creates a repository with the specified name and repository type. + Overrides the ConvertFrom method of IConvertFrom. + the object to convert to an IPAddress + the IPAddress - The name must be unique. Repositories cannot be redefined. - An will be thrown if the repository already exists. + Uses the method to convert the + argument to an . + If that fails then the string is resolved as a DNS hostname. - The name of the repository, this must be unique to the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - The specified repository already exists. + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Creates a repository for the specified assembly and repository type. + Valid characters in an IPv4 or IPv6 address string. (Does not support subnets) + + + + + Supports conversion from string to type. - CreateDomain is obsolete. Use CreateRepository instead of CreateDomain. + Supports conversion from string to type. - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. + The string is used as the + of the . - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. + + + + Nicko Cadell - + - Creates a repository for the specified assembly and repository type. + Can the source type be converted to the type supported by this object + the type to convert + true if the conversion is possible - The created will be associated with the repository - specified such that a call to with the - same assembly specified will return the same repository instance. + Returns true if the is + the type. - The assembly to use to get the name of the repository. - A that implements - and has a no arg constructor. An instance of this type will be created to act - as the for the repository specified. - The created for the repository. - + - Gets the list of currently defined repositories. + Overrides the ConvertFrom method of IConvertFrom. + the object to convert to a PatternLayout + the PatternLayout - Get an array of all the objects that have been created. + Creates and returns a new using + the as the + . - An array of all the known objects. - - - - Flushes logging events buffered in all configured appenders in the default repository. - - The maximum time in milliseconds to wait for logging events from asycnhronous appenders to be flushed. - True if all logging events were flushed successfully, else false. - - - - Looks up the wrapper object for the logger specified. - - The logger to get the wrapper for. - The wrapper for the logger specified. - - - - Looks up the wrapper objects for the loggers specified. - - The loggers to get the wrappers for. - The wrapper objects for the loggers specified. - - - - Create the objects used by - this manager. - - The logger to wrap. - The wrapper for the logger specified. - - - - The wrapper map to use to hold the objects. - + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Implementation of Mapped Diagnostic Contexts. + Convert between string and - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - The MDC class is similar to the class except that it is - based on a map instead of a stack. It provides mapped - diagnostic contexts. A Mapped Diagnostic Context, or - MDC in short, is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. + Supports conversion from string to type, + and from a type to a string. - The MDC is managed on a per thread basis. + The string is used as the + of the . - + + + Nicko Cadell - Gert Driesen - + - Initializes a new instance of the class. + Can the target type be converted to the type supported by this object + A that represents the type you want to convert to + true if the conversion is possible - Uses a private access modifier to prevent instantiation of this class. + + Returns true if the is + assignable from a type. + - + - Gets the context value identified by the parameter. + Converts the given value object to the specified type, using the arguments - The key to lookup in the MDC. - The string value held for the key, or a null reference if no corresponding value is found. + the object to convert + The Type to convert the value parameter to + the converted object - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - If the parameter does not look up to a - previously defined context then null will be returned. + Uses the method to convert the + argument to a . + + The object cannot be converted to the + . To check for this condition use the + method. + - + - Add an entry to the MDC + Can the source type be converted to the type supported by this object - The key to store the value under. - The value to store. + the type to convert + true if the conversion is possible - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - - Puts a context value (the parameter) as identified - with the parameter into the current thread's - context map. - - If a value is already defined for the - specified then the value will be replaced. If the - is specified as null then the key value mapping will be removed. + Returns true if the is + the type. - + - Removes the key value mapping for the key specified. + Overrides the ConvertFrom method of IConvertFrom. - The key to remove. + the object to convert to a PatternString + the PatternString - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - Remove the specified entry from this thread's MDC + Creates and returns a new using + the as the + . + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Clear all entries in the MDC + Supports conversion from string to type. - - - The MDC is deprecated and has been replaced by the . - The current MDC implementation forwards to the ThreadContext.Properties. - - - Remove all the entries from this thread's MDC + Supports conversion from string to type. + + + + Nicko Cadell - + - Implementation of Nested Diagnostic Contexts. + Can the source type be converted to the type supported by this object + the type to convert + true if the conversion is possible - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - - A Nested Diagnostic Context, or NDC in short, is an instrument - to distinguish interleaved log output from different sources. Log - output is typically interleaved when a server handles multiple - clients near-simultaneously. - - - Interleaved log output can still be meaningful if each log entry - from different contexts had a distinctive stamp. This is where NDCs - come into play. - - Note that NDCs are managed on a per thread basis. The NDC class - is made up of static methods that operate on the context of the - calling thread. + Returns true if the is + the type. - How to push a message into the context - - using(NDC.Push("my context message")) - { - ... all log calls will have 'my context message' included ... - - } // at the end of the using block the message is automatically removed - - - - Nicko Cadell - Gert Driesen - + - Initializes a new instance of the class. + Overrides the ConvertFrom method of IConvertFrom. + the object to convert to a Type + the Type - Uses a private access modifier to prevent instantiation of this class. + + Uses the method to convert the + argument to a . + Additional effort is made to locate partially specified types + by searching the loaded assemblies. + + + The object cannot be converted to the + target type. To check for this condition use the + method. + - + - Clears all the contextual information held on the current thread. + Attribute used to associate a type converter - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + Class and Interface level attribute that specifies a type converter + to use with the associated type. - - Clears the stack of NDC data held on the current thread. + To associate a type converter with a target type apply a + TypeConverterAttribute to the target type. Specify the + type of the type converter on the attribute. + Nicko Cadell + Gert Driesen - + - Creates a clone of the stack of context information. + The string type name of the type converter + + + + + Default constructor - A clone of the context info for this thread. - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - The results of this method can be passed to the - method to allow child threads to inherit the context of their - parent thread. + Default constructor - + - Inherits the contextual information from another thread. + Create a new type converter attribute for the specified type name - The context stack to inherit. + The string type name of the type converter - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - This thread will use the context information from the stack - supplied. This can be used to initialize child threads with - the same contextual information as their parent threads. These - contexts will NOT be shared. Any further contexts that - are pushed onto the stack will not be visible to the other. - Call to obtain a stack to pass to - this method. + The type specified must implement the + or the interfaces. - + - Removes the top context from the stack. + Create a new type converter attribute for the specified type - - The message in the context that was removed from the top - of the stack. - + The type of the type converter - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - Remove the top context from the stack, and return - it to the caller. If the stack is empty then an - empty string (not null) is returned. + The type specified must implement the + or the interfaces. - + - Pushes a new context message. + The string type name of the type converter - The new context message. - - An that can be used to clean up - the context stack. - + + The string type name of the type converter + - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. - - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. + The type specified must implement the + or the interfaces. - Simple example of using the Push method with the using keyword. - - using(log4net.NDC.Push("NDC_Message")) - { - log.Warn("This should have an NDC message"); - } - - - + - Pushes a new context message. + Impersonate a Windows Account - The new context message string format. - Arguments to be passed into messageFormat. - - An that can be used to clean up - the context stack. - - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + This impersonates a Windows account. - - Pushes a new context onto the context stack. An - is returned that can be used to clean up the context stack. This - can be easily combined with the using keyword to scope the - context. + How the impersonation is done depends on the value of . + This allows the context to either impersonate a set of user credentials specified + using username, domain name and password or to revert to the process credentials. - Simple example of using the Push method with the using keyword. - - var someValue = "ExampleContext" - using(log4net.NDC.PushFormat("NDC_Message {0}", someValue)) - { - log.Warn("This should have an NDC message"); - } - - - + - Removes the context information for this thread. It is - not required to call this method. + The impersonation modes for the - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + See the property for + details. - + + + + + Impersonate a user using the credentials supplied + + + + + Revert this the thread to the credentials of the process + + + + + Default constructor + + - This method is not implemented. + Default constructor - + - Forces the stack depth to be at most . + Gets or sets the impersonation mode for this security context - The maximum depth of the stack + + The impersonation mode for this security context + - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + Impersonate either a user with user credentials or + revert this thread to the credentials of the process. + The value is one of the + enum. - - Forces the stack depth to be at most . - This may truncate the head of the stack. This only affects the - stack in the current thread. Also it does not prevent it from - growing, it only sets the maximum depth at the time of the - call. This can be used to return to a known context depth. + The default value is + + + When the mode is set to + the user's credentials are established using the + , and + values. + + + When the mode is set to + no other properties need to be set. If the calling thread is + impersonating then it will be reverted back to the process credentials. - + - Gets the current context depth. + Gets or sets the Windows username for this security context - The current context depth. + + The Windows username for this security context + - - The NDC is deprecated and has been replaced by the . - The current NDC implementation forwards to the ThreadContext.Stacks["NDC"]. + This property must be set if + is set to (the default setting). - + + + + + Gets or sets the Windows domain name for this security context + + + The Windows domain name for this security context + + - The number of context values pushed onto the context stack. + The default value for is the local machine name + taken from the property. - Used to record the current depth of the context. This can then - be restored using the method. + This property must be set if + is set to (the default setting). - - + - The log4net Thread Context. + Sets the password for the Windows account specified by the and properties. + + The password for the Windows account specified by the and properties. + - The ThreadContext provides a location for thread specific debugging - information to be stored. - The ThreadContext properties override any - properties with the same name. + This property must be set if + is set to (the default setting). + + + + + Initialize the SecurityContext based on the options set. + + - The thread context has a properties map and a stack. - The properties and stack can - be included in the output of log messages. The - supports selecting and outputting these properties. + This is part of the delayed object + activation scheme. The method must + be called on this object after the configuration properties have + been set. Until is called this + object is in an undefined state and must not be used. - The Thread Context provides a diagnostic context for the current thread. - This is an instrument for distinguishing interleaved log - output from different sources. Log output is typically interleaved - when a server handles multiple clients near-simultaneously. + If any of the configuration properties are modified then + must be called again. - The Thread Context is managed on a per thread basis. + The security context will try to Logon the specified user account and + capture a primary token for impersonation. - Example of using the thread context properties to store a username. - - ThreadContext.Properties["user"] = userName; - log.Info("This log message has a ThreadContext Property called 'user'"); - - - Example of how to push a message into the context stack - - using(ThreadContext.Stacks["NDC"].Push("my context message")) - { - log.Info("This log message has a ThreadContext Stack message that includes 'my context message'"); - - } // at the end of the using block the message is automatically popped - - - - Nicko Cadell + The required , + or properties were not specified. - + - Private Constructor. + Impersonate the Windows account specified by the and properties. + caller provided state + + An instance that will revoke the impersonation of this SecurityContext + - Uses a private access modifier to prevent instantiation of this class. + Depending on the property either + impersonate a user using credentials supplied or revert + to the process credentials. - + - The thread context properties instance + Create a given the userName, domainName and password. + the user name + the domain name + the password + the for the account specified + + + Uses the Windows API call LogonUser to get a principal token for the account. This + token is used to initialize the WindowsIdentity. + + - + - The thread context stacks instance + Adds to + + + Helper class to expose the + through the interface. + + - + - The thread properties map + Constructor - - The thread properties map - + the impersonation context being wrapped - The ThreadContext properties override any - properties with the same name. + Constructor - + - The thread stacks + Revert the impersonation - - stack map - - The thread local stacks. + Revert the impersonation

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 hQ-Bi7!I$3>p^%triuKrQ=Gu3~po>Ws;GrQ)Z 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 H+b!@fQS~U} diff --git a/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.V2.pdb b/src/OutlookGoogleCalendarSync/lib/Google.Cloud.Logging.V2.pdb index 80d3ba91904c48dd1726bb6b6a4c471276a0a91a..8995e69603c8084af316f53c696b6b906389d989 100644 GIT binary patch literal 67772 zcmdps1Ph7<3pPYh z#9mM=D56+UELacN4tk$w%}n;2736rn``v%8=RDc-n|IBcS?}s=&EE7KGq`Vn5n%AY z8qmo8eN$GnO>3i07*69F98e8L&Ys0{zw%ER_*xv}GY^+G7?YPXf63fjnij1$j39hA z7&pdPhU4Bm&KNhSKR)+^YpenHU9^;umDLP8_*?mJ!#Cu#e)s3xx8L@maw%>s=hnGWOK%s}JQK@Q{BL4n3YgB`|;g9DAZV;si1 zF@Z+-WQWmUav&a}#1UX@gx-P%1qK)+p$X7*XfCu2S`E3OVrV0DGjtntH}oL%1oRB_ z67(kYKJ*Fn74#$Y8x#-}V1z-@P;Dp`N`pE<>C84f%Saqggl1Sg568=(RTjH&Tn=r6 z4njwvSD+KnDd;ok8|Y`~4=6A=z^D$zLUo`9Pz$I%)E(*v4S~i$Q=lwpA(RWPg}hKH zv>DnC?Sb||4?_o`qtGkR3Fs8`8T1YGGxP@(=*0b@Sf~!v0BQlXhq^=kpdrv0XbO}C zErfERwU8Gog*HRmp*_$(=wav}bQF38Isu)6K7+o2eun;l0z+_rC>E*%HGo<`?V;{a zKWGRv2ATq8K?|W=Xf5Q0N})JX9UNf{x<&73c(X3i=HC14^iYIG`p_Yp4g*AIgKaLA#+Bq3@u$ zaEH+s8U;;)Wve>&|K(F=oAzc8E9leBO@Kg zw8#Ks4zvWvE1+wk0%$#SC-f}zGV~Vo0rVyGJyb8sVGMwVLAlV)&|&C&RFKg&I>_h( z4S_~Olb{(;5p)R(jtMftp+u-Y)Eepx4T45NS$o`dIow4dJ{Sah1Cr*qM_PQV<-*k4)udZLKC4)&N|NM(g^4M(6s$Mt^8BGz(e) z0o@MW3q1in1N{gkGz~WDK?9(L(8i`tV^}k%F|HZ% z5n2T0LDxV&Xe;zEbPzfU9fwXrXQA^@Qgb{5G!k+_`=EEBpccVKI1~>hL5-lE&}3*9 zv;fM1u7e7p$Dq^DS*UtTlMhz$qstYxP+Cnp- zLTCeY06GN)v~e1(q0ViBjb3dq;=w3q7(Qo0^P#Ju)zEh6E9gh)H^|x6VMIW6paxJI zs0%az8U{^L#Ls$&@a$m&<*X-*0x7q0euW*cW@X< z9RrQepl>>2qy-tB97ZS<1=WHYK|P@U&`@X+G!rU>_CouiH=&=P*v<~4Gt?W(ghoOW zp#_i|Duy;fJE1$FSE2LJ1*m2hTnkO?5@=il`Ea}u+6L{0?tvbHo`cRp=b;ObqpQQH z1|>lCpq5YvXbH3j+6R3N)$4|Sxm%#I3)+k01JKjZ^U&+iyU;l(qC1`iN`_iM?V;XK zCNvJ31}%Vcphuw#&?RU{4~J0#o$e86wC{;_t|zX6MnRLHnb3S_Ewl;R2JMC(fF6TR zLw`cfbmR||3C&LrG|HhZINlBIgC2$sLPw#Gp~zlHJ5ΥY(_K!c$1&{fbvC>L@; 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 z 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 E0 A deep clone of this object. + +