HobbyProject/doc/LowLevel/UserManagement/LogToFile_Sequence.svg
Im_Alpha 27dc15577e moved designs
svgs
2021-12-08 00:53:21 -08:00

1 line
32 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1352" height="1368"><desc>title%20Log%20Event%20to%20File%20%0A%0Aparticipant%20Controller.cs%20%23lightgreen%0Aparticipant%20LoggingManager%20%23ffffe0%0Aparticipant%20LogEntry%20%23cbc3e3%0Aparticipant%20FileLoggerFactory%20%23ff8b3d%0Aparticipant%20FileLogger%20%23D3D3D3%0A%0A%0A%0A%0A%5B-%3EController.cs%3Arequest%20to%20log%20event%20to%20file%0Aactivate%20Controller.cs%20%23lightgreen%0A%0AController.cs-%3ELoggingManager%3Amanager%20%3D%20new%20LoggingManager()%0A%0Aactivate%20LoggingManager%20%23ffffe0%0A%0ALoggingManager-%3ELoggingManager%3AConstructor()%0A%0ALoggingManager-%3ELogEntry%3A_logEntry%20%3D%20new%20LogEntry(int%20userID%2C%5CnDateTime%20timestamp%2C%20string%20level%2C%20%5Cnstring%20category%2C%20string%20message)%0A%0Aactivate%20LogEntry%20%23cbc3e3%0A%0A%0ALogEntry-%3ELogEntry%3AConstuctor(int%20userID%2C%5Cnstring%20level%2C%20%5CnDateTime%20timestamp%2C%5Cnstring%20category%2C%5Cnstring%20description)%0ALoggingManager%3C--LogEntry%3Areturn%20new%20LogEntry()%0A%0Adeactivate%20LogEntry%0ALoggingManager-%3EFileLoggerFactory%3A_loggerFactory%20%3D%20new%20FileLoggerFactory()%0Aactivate%20FileLoggerFactory%20%23ff8b3d%0A%0AFileLoggerFactory-%3EFileLoggerFactory%3A%20Constructor()%0A%0ALoggingManager%3C--FileLoggerFactory%3Areturn%20new%20FileLoggerFactory%0ALoggingManager-%3EFileLoggerFactory%3A_logger%20%3D%20_loggerFactory.CreateLogger()%0AFileLoggerFactory-%3EFileLogger%3A%20new%20FileLogger()%0A%0A%0Aactivate%20FileLogger%20%23D3D3D3%0AFileLogger-%3EFileLogger%3AConstructor()%0A%0ALoggingManager%3C--FileLogger%3Areturn%20new%20FileLogger()%0Adeactivate%20FileLoggerFactory%0A%0ALoggingManager-%3EFileLogger%3A_logger.Log(_logEntry)%0A%0Adeactivate%20LoggingManager%0AFileLogger-%3EFileLogger%3AAppendFile(LogEntry)%0A%0A%0Aalt%20%23red%20file%20not%20found%20%0AFileLogger-%3EFileLogger%3ACreateFile()%0A%0Aend%0A%0Aalt%20%23red%20insufficient%20storage%20capacity%20%0AFileLogger-%3EFileLogger%3A%20new%20IOException()%0A%0AController.cs%3C--FileLogger%3Areturn%20new%20IOException()%0Aend%20%0A</desc><defs/><g><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g><rect fill="white" stroke="none" x="0" y="0" width="1352" height="1368"/></g><g><text fill="black" stroke="none" font-family="sans-serif" font-size="16.5pt" font-style="normal" font-weight="normal" text-decoration="normal" x="590.5700278381184" y="24.50280495" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Log Event to File </text></g><g><rect fill="rgb(255,204,204)" stroke="none" x="1114.4548396082032" y="1018.8266298209995" width="172.67590820670557" height="111.0793824399999"/><rect fill="rgb(255,204,204)" stroke="none" x="162.43603574895832" y="1154.4088172109996" width="1167.8944190972004" height="156.81795167999985"/></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 227.7768489489583 95.887643371 L 227.7768489489583 1368.3999804409993" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 513.0053733129557 95.887643371 L 513.0053733129557 1368.3999804409993" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 812.8723864464844 95.887643371 L 812.8723864464844 1368.3999804409993" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1001.732351501237 95.887643371 L 1001.732351501237 1368.3999804409993" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1171.628051158203 95.887643371 L 1171.628051158203 1368.3999804409993" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/></g><g><path fill="none" stroke="none"/><g><path fill="lightgreen" stroke="black" paint-order="fill stroke markers" d=" M 169.31588682793097 51.782594461 L 286.2378110699857 51.782594461 L 286.2378110699857 95.887643371 L 169.31588682793097 95.887643371 L 169.31588682793097 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="187.03958240843096" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Controller.cs</text></g><path fill="none" stroke="none"/><g><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 440.263802061069 51.782594461 L 585.7469445648425 51.782594461 L 585.7469445648425 95.887643371 L 440.263802061069 95.887643371 L 440.263802061069 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="457.987497641569" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">LoggingManager</text></g><path fill="none" stroke="none"/><g><path fill="#cbc3e3" stroke="black" paint-order="fill stroke markers" d=" M 765.810838387957 51.782594461 L 859.9339345050117 51.782594461 L 859.9339345050117 95.887643371 L 765.810838387957 95.887643371 L 765.810838387957 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="783.534533968457" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">LogEntry</text></g><path fill="none" stroke="none"/><g><path fill="#ff8b3d" stroke="black" paint-order="fill stroke markers" d=" M 924.9356655032565 51.782594461 L 1078.5290374992173 51.782594461 L 1078.5290374992173 95.887643371 L 924.9356655032565 95.887643371 L 924.9356655032565 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="942.6593610837565" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">FileLoggerFactory</text></g><path fill="none" stroke="none"/><g><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1119.2694373648126 51.782594461 L 1223.9866649515939 51.782594461 L 1223.9866649515939 95.887643371 L 1119.2694373648126 95.887643371 L 1119.2694373648126 51.782594461 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1136.9931329453125" y="79.55244007099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">FileLogger</text></g></g><g><path fill="lightgreen" stroke="black" paint-order="fill stroke markers" d=" M 219.6092472989583 149.793814261 L 235.9444505989583 149.793814261 L 235.9444505989583 1352.0647771409992 L 219.6092472989583 1352.0647771409992 L 219.6092472989583 149.793814261" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 504.83777166295573 195.532383501 L 521.1729749629558 195.532383501 L 521.1729749629558 927.3494913409995 L 504.83777166295573 927.3494913409995 L 504.83777166295573 195.532383501" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="#cbc3e3" stroke="black" paint-order="fill stroke markers" d=" M 804.7047847964843 340.915692871 L 821.0399880964844 340.915692871 L 821.0399880964844 518.9694088409999 L 804.7047847964843 518.9694088409999 L 804.7047847964843 340.915692871" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="#ff8b3d" stroke="black" paint-order="fill stroke markers" d=" M 993.5647498512369 564.7079780809999 L 1009.899953151237 564.7079780809999 L 1009.899953151237 881.6109221009996 L 993.5647498512369 881.6109221009996 L 993.5647498512369 564.7079780809999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1163.460449508203 768.8980193309997 L 1179.7956528082032 768.8980193309997 L 1179.7956528082032 1352.0647771409992 L 1163.460449508203 1352.0647771409992 L 1163.460449508203 768.8980193309997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g><g><rect fill="white" stroke="none" x="27.49759222166665" y="128.558049971" width="172.781664505625" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="29.94787271666665" y="143.259732941" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">request to log event to file</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 8.16760165 149.793814261 L 206.15992991529163 149.793814261" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(219.6092472989583,149.793814261) translate(-219.6092472989583,-149.793814261)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 205.99657788229163 142.98747955266666 L 219.6092472989583 149.793814261 L 205.99657788229163 156.60014896933333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="255.274441170625" y="174.296619211" width="230.23333992066406" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="257.724721665625" y="188.99830218099999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">manager = new LoggingManager()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 235.9444505989583 195.532383501 L 491.3884542792891 195.532383501" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(504.83777166295573,195.532383501) translate(-504.83777166295573,-195.532383501)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 491.22510224628905 188.72604879266666 L 504.83777166295573 195.532383501 L 491.22510224628905 202.33871820933334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="540.5029655346225" y="220.035188451" width="90.43379463257813" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="542.9532460296225" y="234.736871421" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 521.1729749629558 241.270952741 L 586.5137881629557 241.270952741 L 586.5137881629557 262.506717031 L 534.6222923466224 262.506717031" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(521.1729749629558,262.506717031) translate(-521.1729749629558,-262.506717031)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 534.7856443796225 255.70038232266666 L 521.1729749629558 262.506717031 L 534.7856443796225 269.31305173933333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="540.5029655346224" y="287.009521981" width="244.87182869019531" height="21.23576429"/></g><g><rect fill="white" stroke="none" x="540.5029655346224" y="303.34472528099997" width="225.9527307898047" height="21.23576429"/></g><g><rect fill="white" stroke="none" x="540.5029655346224" y="319.67992858099996" width="212.3950678259375" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="542.9532460296224" y="301.71120495099996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">_logEntry = new LogEntry(int userID,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="542.9532460296224" y="318.04640825099995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">DateTime timestamp, string level, </text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="542.9532460296224" y="334.38161155099993" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">string category, string message)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 521.1729749629558 340.915692871 L 791.2554674128177 340.915692871" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(804.7047847964843,340.915692871) translate(-804.7047847964843,-340.915692871)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 791.0921153798176 334.10935816266664 L 804.7047847964843 340.915692871 L 791.0921153798176 347.7220275793333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="840.3699786681511" y="365.41849782099996" width="147.47745002808594" height="21.23576429"/></g><g><rect fill="white" stroke="none" x="840.3699786681511" y="381.75370112099995" width="83.11812080445313" height="21.23576429"/></g><g><rect fill="white" stroke="none" x="840.3699786681511" y="398.08890442099994" width="143.6621576696875" height="21.23576429"/></g><g><rect fill="white" stroke="none" x="840.3699786681511" y="414.4241077209999" width="104.0343500525" height="21.23576429"/></g><g><rect fill="white" stroke="none" x="840.3699786681511" y="430.7593110209999" width="120.59840644898438" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="842.8202591631511" y="380.12018079099994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constuctor(int userID,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="842.8202591631511" y="396.4553840909999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">string level, </text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="842.8202591631511" y="412.7905873909999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">DateTime timestamp,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="842.8202591631511" y="429.1257906909999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">string category,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="842.8202591631511" y="445.4609939909999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">string description)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 821.0399880964844 451.99507531099994 L 886.3808012964844 451.99507531099994 L 886.3808012964844 473.23083960099996 L 834.4893054801511 473.23083960099996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(821.0399880964844,473.23083960099996) translate(-821.0399880964844,-473.23083960099996)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 834.6526575131511 466.4245048926666 L 821.0399880964844 473.23083960099996 L 834.6526575131511 480.0371743093333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="589.601018513138" y="497.7336445509999" width="146.67572273316406" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="592.051299008138" y="512.4353275209999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return new LogEntry()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 804.7047847964843 518.9694088409999 L 534.6222923466224 518.9694088409999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(521.1729749629558,518.9694088409999) translate(-521.1729749629558,-518.9694088409999)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 534.7856443796225 512.1630741326666 L 521.1729749629558 518.9694088409999 L 534.7856443796225 525.7757435493332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="618.2364530058463" y="543.4722137909998" width="278.2648188025" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="620.6867335008463" y="558.1738967609998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">_loggerFactory = new FileLoggerFactory()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 521.1729749629558 564.7079780809999 L 980.1154324675703 564.7079780809999" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(993.5647498512369,564.7079780809999) translate(-993.5647498512369,-564.7079780809999)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 979.9520804345702 557.9016433726665 L 993.5647498512369 564.7079780809999 L 979.9520804345702 571.5143127893332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1029.2299437229037" y="589.2107830309998" width="90.43379463257813" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1031.6802242179037" y="603.9124660009998" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1009.899953151237 610.4465473209998 L 1075.240766351237 610.4465473209998 L 1075.240766351237 631.6823116109998 L 1023.3492705349037 631.6823116109998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1009.899953151237,631.6823116109998) translate(-1009.899953151237,-631.6823116109998)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1023.5126225679037 624.8759769026665 L 1009.899953151237 631.6823116109998 L 1023.5126225679037 638.4886463193332 Z"/></g></g><g><g><rect fill="white" stroke="none" x="659.1777448149284" y="656.1851165609997" width="196.38223518433594" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="661.6280253099284" y="670.8867995309997" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return new FileLoggerFactory</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 993.5647498512369 677.4208808509998 L 534.6222923466224 677.4208808509998" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(521.1729749629558,677.4208808509998) translate(-521.1729749629558,-677.4208808509998)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 534.7856443796225 670.6145461426664 L 521.1729749629558 677.4208808509998 L 534.7856443796225 684.2272155593331 Z"/></g></g><g><g><rect fill="white" stroke="none" x="622.0231656523307" y="701.9236858009997" width="270.6913935095312" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="624.4734461473307" y="716.6253687709997" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">_logger = _loggerFactory.CreateLogger()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 521.1729749629558 723.1594500909997 L 980.1154324675703 723.1594500909997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(993.5647498512369,723.1594500909997) translate(-993.5647498512369,-723.1594500909997)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 979.9520804345702 716.3531153826664 L 993.5647498512369 723.1594500909997 L 979.9520804345702 729.965784799333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1029.2299437229037" y="747.6622550409996" width="114.90051521363281" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1031.6802242179037" y="762.3639380109996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">new FileLogger()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1009.899953151237 768.8980193309997 L 1150.0111321245363 768.8980193309997" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1163.460449508203,768.8980193309997) translate(-1163.460449508203,-768.8980193309997)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1149.8477800915364 762.0916846226663 L 1163.460449508203 768.8980193309997 L 1149.8477800915364 775.704354039333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1199.1256433798699" y="793.4008242809996" width="90.43379463257813" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1201.5759238748699" y="808.1025072509996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1179.7956528082032 814.6365885709996 L 1245.1364660082031 814.6365885709996 L 1245.1364660082031 835.8723528609996 L 1193.24497019187 835.8723528609996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1179.7956528082032,835.8723528609996) translate(-1179.7956528082032,-835.8723528609996)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1193.4083222248698 829.0660181526663 L 1179.7956528082032 835.8723528609996 L 1193.4083222248698 842.678687569333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="763.6817851341341" y="860.3751578109996" width="157.26985420289063" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="766.1320656291341" y="875.0768407809995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return new FileLogger()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1163.460449508203 881.6109221009996 L 534.6222923466224 881.6109221009996" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(521.1729749629558,881.6109221009996) translate(-521.1729749629558,-881.6109221009996)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 534.7856443796225 874.8045873926662 L 521.1729749629558 881.6109221009996 L 534.7856443796225 888.4172568093329 Z"/></g></g><g><g><rect fill="white" stroke="none" x="765.70398667222" y="906.1137270509995" width="153.22545112671875" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="768.15426716722" y="920.8154100209995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">_logger.Log(_logEntry)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 521.1729749629558 927.3494913409995 L 1150.0111321245363 927.3494913409995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1163.460449508203,927.3494913409995) translate(-1163.460449508203,-927.3494913409995)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1149.8477800915364 920.5431566326662 L 1163.460449508203 927.3494913409995 L 1149.8477800915364 934.1558260493329 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1199.1256433798699" y="951.8522962909994" width="147.5060755163672" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1201.5759238748699" y="966.5539792609994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">AppendFile(LogEntry)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1179.7956528082032 973.0880605809995 L 1245.1364660082031 973.0880605809995 L 1245.1364660082031 994.3238248709995 L 1193.24497019187 994.3238248709995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1179.7956528082032,994.3238248709995) translate(-1179.7956528082032,-994.3238248709995)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1193.4083222248698 987.5174901626661 L 1179.7956528082032 994.3238248709995 L 1193.4083222248698 1001.1301595793328 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1199.1256433798699" y="1062.9316787309995" width="82.28778328003906" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1201.5759238748699" y="1077.6333617009996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">CreateFile()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1179.7956528082032 1084.1674430209996 L 1245.1364660082031 1084.1674430209996 L 1245.1364660082031 1105.4032073109995 L 1193.24497019187 1105.4032073109995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1179.7956528082032,1105.4032073109995) translate(-1179.7956528082032,-1105.4032073109995)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1193.4083222248698 1098.5968726026663 L 1179.7956528082032 1105.4032073109995 L 1193.4083222248698 1112.2095420193327 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1199.1256433798699" y="1198.5138661209994" width="125.48749031128906" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1201.5759238748699" y="1213.2155490909995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">new IOException()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1179.7956528082032 1219.7496304109995 L 1245.1364660082031 1219.7496304109995 L 1245.1364660082031 1240.9853947009994 L 1193.24497019187 1240.9853947009994" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><g transform="translate(1179.7956528082032,1240.9853947009994) translate(-1179.7956528082032,-1240.9853947009994)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1193.4083222248698 1234.1790599926662 L 1179.7956528082032 1240.9853947009994 L 1193.4083222248698 1247.7917294093327 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="615.7740354033073" y="1265.4881996509996" width="167.85682930054688" height="21.23576429"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="618.2243158983073" y="1280.1898826209997" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return new IOException()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1163.460449508203 1286.7239639409995 L 249.39376798262498 1286.7239639409995" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(235.9444505989583,1286.7239639409995) translate(-235.9444505989583,-1286.7239639409995)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 249.55712001562497 1279.9176292326663 L 235.9444505989583 1286.7239639409995 L 249.55712001562497 1293.5302986493327 Z"/></g></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1114.4548396082032 1018.8266298209995 L 1287.1307478149088 1018.8266298209995 L 1287.1307478149088 1129.9060122609994 L 1114.4548396082032 1129.9060122609994 L 1114.4548396082032 1018.8266298209995 Z" stroke-miterlimit="10" stroke-width="2.3336004714285714" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 1114.4548396082032 1018.8266298209995 L 1114.4548396082032 1038.4288737809995 L 1160.8140432052735 1038.4288737809995 L 1170.6151651852736 1028.6277518009995 L 1170.6151651852736 1018.8266298209995 L 1114.4548396082032 1018.8266298209995" stroke-miterlimit="10" stroke-width="2.3336004714285714" stroke-dasharray=""/><text fill="black" stroke="none" font-family="sans-serif" font-size="8.8pt" font-style="normal" font-weight="bold" text-decoration="normal" x="1130.7900429082033" y="1031.8947924609995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">alt</text><text fill="black" stroke="none" font-family="sans-serif" font-size="8.8pt" font-style="normal" font-weight="bold" text-decoration="normal" x="1186.9503684852737" y="1031.8947924609995" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">[file not found ]</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 162.43603574895832 1154.4088172109996 L 1330.3304548461588 1154.4088172109996 L 1330.3304548461588 1311.2267688909994 L 162.43603574895832 1311.2267688909994 L 162.43603574895832 1154.4088172109996 Z" stroke-miterlimit="10" stroke-width="2.3336004714285714" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 162.43603574895832 1154.4088172109996 L 162.43603574895832 1174.0110611709995 L 208.79523934602864 1174.0110611709995 L 218.59636132602864 1164.2099391909996 L 218.59636132602864 1154.4088172109996 L 162.43603574895832 1154.4088172109996" stroke-miterlimit="10" stroke-width="2.3336004714285714" stroke-dasharray=""/><text fill="black" stroke="none" font-family="sans-serif" font-size="8.8pt" font-style="normal" font-weight="bold" text-decoration="normal" x="178.7712390489583" y="1167.4769798509994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">alt</text><text fill="black" stroke="none" font-family="sans-serif" font-size="8.8pt" font-style="normal" font-weight="bold" text-decoration="normal" x="234.93156462602863" y="1167.4769798509994" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">[insufficient storage capacity ]</text></g></g><g/><g/><g/><g/><g/></g></svg>