forked from jhannes/logevents
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsequence-simple.puml
43 lines (32 loc) · 1.07 KB
/
sequence-simple.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
@startuml
title Simple Sequence Diagram
participant MyLogger
participant CompositeObserver
participant ConditionalObserver
participant file
participant console
participant ConsoleObserver
participant FileObserver
[-> MyLogger: error("Something went wrong")
activate MyLogger
MyLogger -> MyLogger: create LogEvent
MyLogger -> CompositeObserver ++: logEvent(event)
loop observer in observers
CompositeObserver -> ConditionalObserver ++: logEvent(event)
alt event.level >= threshold
ConditionalObserver -> console ++: logEvent(event)
console -> console: text := formatEvent(event)
console -> ConsoleObserver ++: writeLine(text)
console <-- ConsoleObserver --
ConditionalObserver <-- console --
end
CompositeObserver <-- ConditionalObserver --
CompositeObserver -> file ++: logEvent(event)
file -> file: text := formatEvent(event)
file -> FileObserver ++: writeLine(text)
file <-- FileObserver --
CompositeObserver <-- file --
end loop
MyLogger <-- CompositeObserver --
deactivate MyLogger
@enduml