• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<svg width="22cm" height="23cm" viewBox="1 1 439 446" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2  <!-- Invert color in dark mode -->
3  <style type="text/css">
4    svg {
5      background-color: transparent !important;
6    }
7    line {
8      stroke: #000000;
9      fill: none;
10      stroke-opacity: 1;
11    }
12    polygon, rect {
13      fill: none;
14      stroke: #000000;
15      fill-opacity: 1;
16      stroke-opacity: 1;
17    }
18    polygon.filled {
19      fill: #000000;
20    }
21    polyline {
22      fill: none;
23      stroke-opacity: 1;
24      stroke: #000000;
25    }
26    text {
27      fill: #000000;
28      fill-opacity: 1;
29      stroke: none;
30      font-family: sans-serif;
31      font-style: normal;
32      font-weight: normal;
33      text-anchor: start;
34    }
35    @media (prefers-color-scheme: dark) {
36      polygon, rect, polyline, line {
37        stroke: #ffffff;
38      }
39      polygon.filled {
40        fill: #ffffff;
41      }
42      text {
43        fill: #ffffff;
44      }
45      image {
46        filter: invert(100%) hue-rotate(180deg) saturate(1.25);
47      }
48    }
49    /* These rules are for when the theme selector is used, perhaps in contrast to the browser theme. */
50    body.dark-theme polygon, body.dark-theme rect, body.dark-theme polyline, body.dark-theme line {
51      stroke: #ffffff;
52    }
53    body.dark-theme polygon.filled {
54      fill: #ffffff;
55    }
56    body.dark-theme text {
57      fill: #ffffff;
58    }
59    body.light-theme polygon, body.light-theme rect, body.light-theme polyline, body.light-theme line {
60      stroke: #000000;
61    }
62    body.light-theme polygon.filled {
63      fill: #000000;
64    }
65    body.light-theme text {
66      fill: #000000;
67    }
68  </style>
69
70  <defs />
71  <g id="Background">
72    <rect style="stroke-width: 1.8; stroke-dasharray: 3;" x="227.504" y="1.91011" width="211.607" height="207.375" rx="0" ry="0" />
73    <rect style="stroke-width: 1.2;" x="230.966" y="5.62454" width="68.4216" height="21.9166" rx="0" ry="0" />
74    <rect style="stroke-width: 1.2;" x="5.27912" y="5.70399" width="68.4216" height="21.9166" rx="0" ry="0" />
75    <text font-size="6.77333" style="font-weight: 700;" x="17.0649" y="19.0071">
76      <tspan x="17.0649" y="19.0071">Logger flow</tspan>
77    </text>
78    <g>
79      <rect x="81.5533" y="106.469" width="44.45" height="25.9333" rx="0" ry="0" />
80      <text font-size="6.77333" style="text-anchor: middle;" x="103.778" y="117.256">
81        <tspan x="103.778" y="117.256">Create</tspan>
82        <tspan x="103.778" y="125.723" style="font-family: monospace">LogRecord</tspan>
83      </text>
84    </g>
85    <g>
86      <line x1="103.778" y1="82.8734" x2="103.778" y2="102.351" />
87      <polygon fill-rule="evenodd" points="103.778,105.351 101.778,101.351 103.778,102.351 105.778,101.351 " />
88    </g>
89    <g>
90      <line x1="103.774" y1="3.65583" x2="103.778" y2="30.3755" />
91      <polygon fill-rule="evenodd" points="103.778,33.3755 101.778,29.3758 103.778,30.3755 105.778,29.3752 " />
92    </g>
93    <text font-size="6.77333" style="text-anchor: middle;" x="144.365" y="10.4604">
94      <tspan x="143.798" y="10.4604">Logging call in user</tspan>
95      <tspan x="143.798" y="18.927">code, e.g.</tspan>
96    </text>
97    <text font-size="6.77333" style="font-family: monospace;" x="110.837" y="27.4696">
98      <tspan x="111.893" y="27.4696">logger.info(...)</tspan>
99    </text>
100    <g>
101      <line x1="155.62" y1="58.6834" x2="183.943" y2="58.6924" />
102      <polygon fill-rule="evenodd" points="186.943,58.6933 182.942,60.6921 183.943,58.6924 182.943,56.6921 " />
103    </g>
104    <g>
105      <rect x="188.061" y="49.9604" width="24.4" height="17.4667" rx="6" ry="6" />
106      <text font-size="6.77333" style="text-anchor: middle;" x="200.261" y="60.7475">
107        <tspan x="200.261" y="60.7475">Stop</tspan>
108      </text>
109    </g>
110    <g>
111      <polygon fill-rule="evenodd" points="103.778,162.482 169.307,193.042 103.778,223.603 38.2493,193.042 " />
112      <text font-size="6.77333" style="text-anchor: middle;" x="103.778" y="186.629">
113        <tspan x="103.778" y="188.741">Does a filter attached</tspan>
114        <tspan x="103.778" y="197.208">to logger reject the</tspan>
115        <tspan x="103.778" y="205.675">record?</tspan>
116      </text>
117    </g>
118    <g>
119      <line x1="103.778" y1="132.402" x2="103.778" y2="158.364" />
120      <polygon class="filled" fill-rule="evenodd" points="103.778,161.364 101.778,157.364 103.778,158.364 105.778,157.364 " />
121    </g>
122    <g>
123      <rect x="75.2033" y="249.478" width="57.15" height="34.4" rx="0" ry="0" />
124      <text font-size="6.77333" style="text-anchor: middle;" x="103.778" y="260.265">
125        <tspan x="103.778" y="260.265">Pass record to</tspan>
126        <tspan x="103.778" y="268.732">handlers of</tspan>
127        <tspan x="103.778" y="277.198">current logger</tspan>
128      </text>
129    </g>
130    <g>
131      <polygon fill-rule="evenodd" points="103.778,326.569 158.193,352.399 103.778,378.229 49.3637,352.399 " />
132      <text font-size="6.77333" style="text-anchor: middle;" x="103.778" y="350.22">
133        <tspan x="103.778" y="351.276">Is propagate true for</tspan>
134        <tspan x="103.778" y="359.742">current logger?</tspan>
135      </text>
136    </g>
137    <g>
138      <polygon fill-rule="evenodd" points="103.778,399.9 150.573,422.994 103.778,446.087 56.984,422.994 " />
139      <text font-size="6.77333" style="text-anchor: middle;" x="103.778" y="420.814">
140        <tspan x="103.778" y="422.926">Is there a parent</tspan>
141        <tspan x="103.778" y="431.393">logger?</tspan>
142      </text>
143    </g>
144    <g>
145      <rect x="2.43852" y="295.984" width="63.9" height="26.5909" rx="0" ry="0" />
146      <text font-size="6.77333" style="text-anchor: middle;" x="34.3885" y="307.1">
147        <tspan x="34.3885" y="307.1">Set current</tspan>
148        <tspan x="34.3885" y="315.566">logger to parent</tspan>
149      </text>
150    </g>
151    <g>
152      <polygon fill-rule="evenodd" points="278.422,240.202 330.96,266.686 278.422,293.169 225.885,266.686 " />
153      <text font-size="6.77333" style="text-anchor: middle;" x="278.422" y="264.506">
154        <tspan x="278.422" y="266.618">At least one handler</tspan>
155        <tspan x="278.422" y="275.085">in hierarchy?</tspan>
156      </text>
157    </g>
158    <g>
159      <rect x="298.963" y="312.257" width="57.75" height="25.9333" rx="0" ry="0" />
160      <text font-size="6.77333" x="327.838" y="323.044">
161        <tspan x="301" y="324.100">Use</tspan>
162        <tspan x="315" y="324.100" style="font-family: monospace">lastResort</tspan>
163        <tspan x="316" y="332.567">handler</tspan>
164      </text>
165    </g>
166    <g>
167      <polygon fill-rule="evenodd" points="320.041,35.7307 373.377,60.8536 320.041,85.9765 266.704,60.8536 " />
168      <text font-size="6.77333" style="text-anchor: middle;" x="320.041" y="58.6741">
169        <tspan x="320.041" y="58.6741">Handler enabled for</tspan>
170        <tspan x="320.041" y="67.1407">level of record?</tspan>
171      </text>
172    </g>
173    <g>
174      <polygon fill-rule="evenodd" points="320.041,105.448 386.002,135.748 320.041,166.047 254.08,135.748 " />
175      <text font-size="6.77333" style="text-anchor: middle;" x="320.041" y="129.335">
176        <tspan x="320.041" y="132.508">Does a filter attached</tspan>
177        <tspan x="320.041" y="140.970">to handler reject the</tspan>
178        <tspan x="320.041" y="149.436">record?</tspan>
179      </text>
180    </g>
181    <g>
182      <rect x="409.532" y="52.4436" width="24.4" height="17.4667" rx="6" ry="6" />
183      <text font-size="6.77333" style="text-anchor: middle;" x="421.732" y="63.2307">
184        <tspan x="421.732" y="63.2307">Stop</tspan>
185      </text>
186    </g>
187    <g>
188      <rect x="271.091" y="185.519" width="97.9" height="17.4667" rx="6" ry="6" />
189      <text font-size="6.77333" style="text-anchor: middle;" x="320.041" y="196.306">
190        <tspan x="320.041" y="196.306">Emit (includes formatting)</tspan>
191      </text>
192    </g>
193    <text font-size="6.77333" style="font-weight: 700;" x="241.002" y="18.9277">
194      <tspan x="241.002" y="18.9277">Handler flow</tspan>
195    </text>
196    <g>
197      <polygon fill-rule="evenodd" points="103.778,34.4935 155.62,58.6834 103.778,82.8734 51.9368,58.6834 " />
198      <text font-size="6.77333" style="text-anchor: middle;" x="103.778" y="56.5039">
199        <tspan x="103.778" y="57.560">Logger enabled for</tspan>
200        <tspan x="103.778" y="66.026">level of call?</tspan>
201      </text>
202    </g>
203    <g>
204      <line x1="103.778" y1="223.603" x2="103.778" y2="245.36" />
205      <polygon class="filled" fill-rule="evenodd" points="103.778,248.36 101.778,244.36 103.778,245.36 105.778,244.36 " />
206    </g>
207    <g>
208      <line x1="103.778" y1="283.878" x2="103.778" y2="322.451" />
209      <polygon class="filled" fill-rule="evenodd" points="103.778,325.451 101.778,321.451 103.778,322.451 105.778,321.451 " />
210    </g>
211    <g>
212      <line x1="103.778" y1="378.229" x2="103.778" y2="395.782" />
213      <polygon class="filled" fill-rule="evenodd" points="103.778,398.782 101.778,394.782 103.778,395.782 105.778,394.782 " />
214    </g>
215    <g>
216      <polyline points="56.984,422.994 34.3885,422.994 34.3885,326.693 " />
217      <polygon class="filled" fill-rule="evenodd" points="34.3885,323.693 36.3885,327.693 34.3885,326.693 32.3885,327.693 " />
218    </g>
219    <g>
220      <polyline points="34.3885,295.984 34.3885,266.678 71.0853,266.678 " />
221      <polygon class="filled" fill-rule="evenodd" points="74.0853,266.678 70.0853,268.678 71.0853,266.678 70.0853,264.678 " />
222    </g>
223    <g>
224      <polyline points="150.573,422.994 200.261,422.994 200.261,71.5451 " />
225      <polygon class="filled" fill-rule="evenodd" points="200.261,68.5451 202.261,72.5451 200.261,71.5451 198.261,72.5451 " />
226    </g>
227    <g>
228      <line style="stroke-dasharray: 5" x1="132.353" y1="266.678" x2="221.767" y2="266.685" />
229      <polygon class="filled" fill-rule="evenodd" points="224.767,266.686 220.766,268.685 221.767,266.685 220.767,264.685 " />
230    </g>
231    <g>
232      <polyline style="stroke-dasharray: 5" points="278.422,293.169 278.422,325.224 294.845,325.224 " />
233      <polygon class="filled" fill-rule="evenodd" points="297.845,325.224 293.845,327.224 294.845,325.224 293.845,323.224 " />
234    </g>
235    <g>
236      <polyline points="169.307,193.042 200.261,193.042 200.261,71.5451 " />
237      <polygon class="filled" fill-rule="evenodd" points="200.261,68.5451 202.261,72.5451 200.261,71.5451 198.261,72.5451 " />
238    </g>
239    <g>
240      <polyline points="158.193,352.399 200.261,352.399 200.261,71.5451 " />
241      <polygon class="filled" fill-rule="evenodd" points="200.261,68.5451 202.261,72.5451 200.261,71.5451 198.261,72.5451 " />
242    </g>
243    <g>
244      <line x1="319.981" y1="4.27261" x2="320.033" y2="31.6127" />
245      <polygon class="filled" fill-rule="evenodd" points="320.039,34.6127 318.031,30.6165 320.033,31.6127 322.031,30.6089 " />
246    </g>
247    <g>
248      <line x1="320.041" y1="85.9765" x2="320.041" y2="101.33" />
249      <polygon class="filled" fill-rule="evenodd" points="320.041,104.33 318.041,100.33 320.041,101.33 322.041,100.33 " />
250    </g>
251    <g>
252      <line x1="320.041" y1="166.047" x2="320.041" y2="181.401" />
253      <polygon class="filled" fill-rule="evenodd" points="320.041,184.401 318.041,180.401 320.041,181.401 322.041,180.401 " />
254    </g>
255    <g>
256      <polyline points="386.002,135.748 421.732,135.748 421.732,74.0283 " />
257      <polygon class="filled" fill-rule="evenodd" points="421.732,71.0283 423.732,75.0283 421.732,74.0283 419.732,75.0283 " />
258    </g>
259    <g>
260      <line x1="373.377" y1="60.8536" x2="405.415" y2="61.1401" />
261      <polygon class="filled" fill-rule="evenodd" points="408.414,61.1669 404.397,63.1311 405.415,61.1401 404.433,59.1312 " />
262    </g>
263    <text font-size="6.77333" x="164.96" y="55.5649">
264      <tspan x="164.96" y="55.5649">No</tspan>
265    </text>
266    <text font-size="6.77333" x="106.571" y="97.8453">
267      <tspan x="106.571" y="97.8453">Yes</tspan>
268    </text>
269    <text font-size="6.77333" x="173.856" y="188.452">
270      <tspan x="173.856" y="188.452">Yes</tspan>
271    </text>
272    <text font-size="6.77333" x="107.446" y="239.221">
273      <tspan x="107.446" y="239.221">No</tspan>
274    </text>
275    <text font-size="6.77333" x="174.731" y="349.418">
276      <tspan x="174.731" y="349.418">No</tspan>
277    </text>
278    <text font-size="6.77333" x="106.571" y="390.507">
279      <tspan x="106.571" y="390.507">Yes</tspan>
280    </text>
281    <text font-size="6.77333" x="39.4722" y="417.667">
282      <tspan x="39.4722" y="417.667">Yes</tspan>
283    </text>
284    <text font-size="6.77333" x="174.731" y="417.667">
285      <tspan x="174.731" y="417.667">No</tspan>
286    </text>
287    <text font-size="6.77333" x="281.451" y="313.406">
288      <tspan x="281.451" y="313.406">No</tspan>
289    </text>
290    <text font-size="6.77333" x="333.909" y="263.96">
291      <tspan x="333.909" y="263.96">Yes</tspan>
292    </text>
293    <text font-size="6.77333" x="333.307" y="105.598">
294      <tspan x="333.307" y="105.598"></tspan>
295    </text>
296    <text font-size="6.77333" x="385.766" y="56.9098">
297      <tspan x="385.766" y="56.9098">No</tspan>
298    </text>
299    <text font-size="6.77333" x="333.307" y="105.598">
300      <tspan x="333.307" y="105.598"></tspan>
301    </text>
302    <text font-size="6.77333" x="333.307" y="105.598">
303      <tspan x="333.307" y="105.598"></tspan>
304    </text>
305    <text font-size="6.77333" x="397.102" y="130.471">
306      <tspan x="397.102" y="130.471">Yes</tspan>
307    </text>
308    <text font-size="6.77333" x="323.563" y="178.785">
309      <tspan x="323.563" y="178.785">No</tspan>
310    </text>
311    <text font-size="6.77333" x="333.307" y="105.598">
312      <tspan x="333.307" y="105.598"></tspan>
313    </text>
314    <text font-size="6.77333" x="323.75" y="99.0042">
315      <tspan x="323.75" y="99.0042">Yes</tspan>
316    </text>
317    <text font-size="6.77323" style="text-anchor: middle;" x="355.762" y="18.2449">
318      <tspan x="355.762" y="18.2449">Record passed</tspan>
319      <tspan x="355.762" y="26.7116">to handler</tspan>
320    </text>
321    <line style="stroke-dasharray: 5" x1="330.96" y1="266.686" x2="377.733" y2="267.908" />
322    <g>
323      <polyline style="fill: none; stroke-opacity: 1; stroke-dasharray: 5" points="356.713,325.224 377.733,325.224 377.733,214.711 " />
324      <polygon class="filled" fill-rule="evenodd" points="377.733,211.711 379.733,215.711 377.733,214.711 375.733,215.711 " />
325    </g>
326  </g>
327</svg>
328