You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by vy...@apache.org on 2024/06/25 13:43:11 UTC

(logging-log4j2) branch 2.x updated: Replace Ditaa with PlantUML

This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/2.x by this push:
     new 07b715d7fc Replace Ditaa with PlantUML
07b715d7fc is described below

commit 07b715d7fcbe457cbe807b140d576f944ef70b8f
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Tue Jun 25 15:43:06 2024 +0200

    Replace Ditaa with PlantUML
    
    Editing a Ditaa source requires significant Ascii art
    skills, which makes it difficult to modify. This contradicts
    with our initial motivation to move away from images.
    Switching to PlantUML instead, which is a no-brainer to
    use and adapt.
---
 .../antora/modules/ROOT/partials/concepts.adoc     | 101 +++++++++++----------
 1 file changed, 55 insertions(+), 46 deletions(-)

diff --git a/src/site/antora/modules/ROOT/partials/concepts.adoc b/src/site/antora/modules/ROOT/partials/concepts.adoc
index 04ef812bab..57c3c4b42b 100644
--- a/src/site/antora/modules/ROOT/partials/concepts.adoc
+++ b/src/site/antora/modules/ROOT/partials/concepts.adoc
@@ -79,53 +79,62 @@ In this case, you need to install `log4j-core` and `log4j-slf4j2-impl`.
 
 To make things a little bit more tangible, consider the following visualization of a typical Log4j Core installation with bridges for an application:
 
-.Visualization of a typical Log4j Core installation with SLF4J, JUL, and JPL bridges.
-[ditaa]
+.Visualization of a typical Log4j Core installation with SLF4J, JUL, and JPL bridges
+[plantuml]
 ....
-/-----------------------------------------------------------------------------------\
-|                                                                                   |
-|       +------------+                       +----------+          +----------+     |
-|       |            |                       |          |          |          |     |
-|       |            v                       |          v          |          v     |
-| +-----+-----+ +---------+ +---------+ +----+----+ +-------+ +----+----+ +-------+ |
-| |           | |{d}c1FF  | |         | |         | |{d}c1FF| |         | |{d}c1FF| |
-| |Application| |Log4j API| |Library 1| |Library 2| | SLF4J | |Library 3| |  JUL  | |
-| |           | |         | |         | |         | |       | |         | |       | |
-| +-----------+ +--+------+ +----+----+ +---------+ +---+---+ +---------+ +---+---+ |
-|                  :   ^         |                      :                     :     |
-|                  |   |         |                      |                     |     |
-| Compile time     |   |         |                      |                     |     |
-\------------------|---|---------|----------------------|---------------------|-----/
-                   |   |         |                      |                     |
-                   |   |         |                /-----/         /-----------/
-                   |   |         |                |               |
-        /----------/   \------+--|----------+-----|---------\     |
-        |                     |  |          |     |         |     |
-/-------|---------------------|--|----------|-----|---------|-----|-----------------\
-|       |                     |  |          |     |         |     |         Runtime |
-|       v                     :  |          :     v         :     v                 |
-| +----------+          +-----+------+ +----+---------+ +---+--------+              |
-| |cGRE      |          |cYEL        | |cYEL          | |cYEL        |              |
-| |Log4j Core|          |JPL to Log4j| |SLF4J to Log4j| |JUL to Log4j|              |
-| |          |          |            | |              | |            |              |
-| +----------+          +------------+ +--------------+ +------------+              |
-| |log4j2.xml|                ^  |                                                  |
-| +----------+                |  |                                                  |
-|                             |  |                                                  |
-|                             |  |                                                  |
-|            /-------------+--|--/                                                  |
-|            |             |  |                                                     |
-| +----------+-------------|--|---------------------------------------------------+ |
-| |JRE                     v  :                                                   | |
-| |                      +----+--+                                                | |
-| |                      |{d}c1FF|                                                | |
-| |                      |  JPL  |                                                | |
-| |                      |       |                                                | |
-| |                      +-------+                                                | |
-| |                                                                               | |
-| +-------------------------------------------------------------------------------+ |
-|                                                                                   |
-\-----------------------------------------------------------------------------------/
+@startuml
+
+frame "Compile time" {
+  [Application] --> [Log4j API] : logs to
+
+  [Log4j API] #Cyan
+
+  [SLF4J] #Cyan
+
+  [Library 1] --> [SLF4J] : logs to
+  [Application] --> [Library 1] : uses
+  [Application] --> [Library 2] : uses
+  [Application] --> [Library 3] : uses
+}
+
+frame Runtime {
+
+  [Log4j Core] <.. [Log4j API] : is implemented by
+  [Log4j Core] <.. (log4j2.xml) : is provided to
+  [Log4j Core] #LightGreen
+
+  [JPL-to-Log4j] ..> [Log4j Core] : forwards to
+  [JPL-to-Log4j] #Yellow
+
+  [SLF4J-to-Log4j] ..> [Log4j Core] : forwards to
+  [SLF4J-to-Log4j] #Yellow
+
+  [JUL-to-Log4j] ..> [Log4j Core] : forwards to
+  [JUL-to-Log4j] #Yellow
+
+  frame JRE {
+    [JPL] #Cyan
+    [JUL] #Cyan
+  }
+
+}
+
+[Library 2] --> [JUL] : logs to
+[Library 3] --> [JPL] : logs to
+
+[JPL] ..> [JPL-to-Log4j] : is implemented by
+[JUL] ..> [JUL-to-Log4j] : is implemented by
+[SLF4J] ..> [SLF4J-to-Log4j] : is implemented by
+
+legend top right
+  | <#LightGreen> | Logging implementation |
+  | <#Yellow> | Logging bridge |
+  | <#Cyan> | Logging API |
+  | <size:18><U+2192></size> | Compile-time usage |
+  | <size:18><U+21E2></size> | Runtime usage |
+endlegend
+
+@enduml
 ....
 
 // end::visual[]