Mercurial Hosting > luan
comparison website/src/goodjava.html.luan @ 1779:96dbbdf1e368
minor
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 15 Aug 2023 23:52:20 -0600 |
parents | 3a61451f8130 |
children | 50e570b598b2 |
comparison
equal
deleted
inserted
replaced
1778:1725fdb6c4f5 | 1779:96dbbdf1e368 |
---|---|
24 title = "goodjava.logger" | 24 title = "goodjava.logger" |
25 content = function() | 25 content = function() |
26 %> | 26 %> |
27 <p>This includes <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger">goodjava.logger</a> which replaces <a href="https://logging.apache.org/log4j/1.2/">log4j</a>, and <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logging">goodjava.logging</a> which replaces <a href="http://www.slf4j.org/">slf4j</a>. You can see <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger/examples">some examples</a> of how to use my logger. Configuration is in Java, where it should be.</p> | 27 <p>This includes <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger">goodjava.logger</a> which replaces <a href="https://logging.apache.org/log4j/1.2/">log4j</a>, and <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logging">goodjava.logging</a> which replaces <a href="http://www.slf4j.org/">slf4j</a>. You can see <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger/examples">some examples</a> of how to use my logger. Configuration is in Java, where it should be.</p> |
28 | 28 |
29 <p>slf4j is a typical modern mess. Just look at <a href="http://www.slf4j.org/apidocs/org/slf4j/Logger.html">slf4j's logger</a> and compare to the interface of <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logging/Logger.java">my logger</a>. log4j isn't horrible but has significant problems. This project was abandoned by its author so that he could create a horrible depraved logger called <a href="http://logback.qos.ch/">Logback</a> to fit with his depraved culture. log4j biggest problem is that it doesn't handle logging separation properly. It's <a href="https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/RepositorySelector.html">RepositorySelector</a> is a hack. goodjava.logger's <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger/ThreadLocalAppender.java">ThreadLocalAppender</a> solves the problem properly.</p> | 29 <p>slf4j is a typical modern mess. Just look at <a href="http://www.slf4j.org/apidocs/org/slf4j/Logger.html">slf4j's logger</a> and compare to the interface of <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logging/Logger.java">my logger</a>. log4j isn't horrible but has significant problems. This project was abandoned by its author so that he could create a horrible depraved logger called <a href="http://logback.qos.ch/">Logback</a> to fit with his depraved culture. log4j's biggest problem is that it doesn't handle logging separation properly. Its <a href="https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/spi/RepositorySelector.html">RepositorySelector</a> is a hack. goodjava.logger's <a href="https://hg.reactionary.software/repo/luan/file/default/src/goodjava/logger/ThreadLocalAppender.java">ThreadLocalAppender</a> solves the problem properly.</p> |
30 | 30 |
31 <p>I implemented full bridging with slf4j, both slf4j to goodjava.logging and goodjava.logging to slf4j. This way my code is completely compatible with depraved modern code.</p> | 31 <p>I implemented full bridging with slf4j, both slf4j to goodjava.logging and goodjava.logging to slf4j. This way my code is completely compatible with depraved modern code.</p> |
32 <% | 32 <% |
33 end | 33 end |
34 } | 34 } |