This is an automated email from the ASF dual-hosted git repository. grobmeier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/logging-chainsaw.git
commit 9a7aaa0b8262d79bda071a2c2886e9181633b704 Author: Christian Grobmeier <[email protected]> AuthorDate: Sun Dec 17 20:23:16 2023 +0100 added random word generator for examples, tidy up --- .../chainsaw/components/tutorial/Generator.java | 52 +++++++++----------- .../components/tutorial/RandomWordGenerator.java | 56 ++++++++++++++++++++++ 2 files changed, 79 insertions(+), 29 deletions(-) diff --git a/src/main/java/org/apache/log4j/chainsaw/components/tutorial/Generator.java b/src/main/java/org/apache/log4j/chainsaw/components/tutorial/Generator.java index 8e3f4e5..64ea0de 100644 --- a/src/main/java/org/apache/log4j/chainsaw/components/tutorial/Generator.java +++ b/src/main/java/org/apache/log4j/chainsaw/components/tutorial/Generator.java @@ -18,6 +18,8 @@ package org.apache.log4j.chainsaw.components.tutorial; import java.time.Instant; +import java.util.Random; + import org.apache.log4j.chainsaw.logevents.ChainsawLoggingEvent; import org.apache.log4j.chainsaw.logevents.ChainsawLoggingEventBuilder; import org.apache.log4j.chainsaw.logevents.Level; @@ -32,75 +34,67 @@ import org.apache.log4j.chainsaw.receiver.ChainsawReceiverSkeleton; * @author Scott Deboy <[email protected]> */ public class Generator extends ChainsawReceiverSkeleton implements Runnable { - private static final String logger1 = - "com.mycompany.mycomponentA"; - private static final String logger2 = - "com.mycompany.mycomponentB"; - private static final String logger3 = - "com.someothercompany.corecomponent"; - private final String baseString_; - private Thread thread; + private static final String logger1 ="com.mycompany.mycomponentA"; + private static final String logger2 = "com.mycompany.mycomponentB"; + private static final String logger3 = "com.someothercompany.corecomponent"; + private final String baseString; + private final RandomWordGenerator randomWordGenerator; private boolean shutdown; - private ChainsawLoggingEventBuilder m_builder; + private ChainsawLoggingEventBuilder builder; public Generator(String name) { setName(name); - baseString_ = name; - m_builder = new ChainsawLoggingEventBuilder(); + baseString = name; + builder = new ChainsawLoggingEventBuilder(); + + randomWordGenerator = new RandomWordGenerator(); } private ChainsawLoggingEvent createEvent( Level level, String logger, String msg, Throwable t) { - m_builder.clear(); - m_builder.setLogger( logger ) + builder.clear(); + builder.setLogger(logger) .setTimestamp(Instant.now()) .setLevel(level) .setMessage(msg) .setLocationInfo(new LocationInfo("file", logger, "method", 123)) .setNDC("NDC Value"); - return m_builder.create(); + return builder.create(); } public void run() { -// NDC.push(baseString_); -// MDC.put("some string", "some value" + baseString_); - int i = 0; while (!shutdown) { append(createEvent(Level.TRACE, logger1, "tracemsg" + i++, null)); append( createEvent( - Level.DEBUG, logger1, - "debugmsg " + i++ - + " g dg sdfa sadf sdf safd fsda asfd sdfa sdaf asfd asdf fasd fasd adfs fasd adfs fads afds afds afsd afsd afsd afsd afsd fasd asfd asfd afsd fasd afsd", - null)); + Level.DEBUG, logger1, "debugmsg " + i++ + randomWordGenerator.generateSentence(), null)); + append(createEvent(Level.INFO, logger1, "infomsg " + i++, null)); append(createEvent(Level.WARN, logger1, "warnmsg " + i++, null)); append(createEvent(Level.ERROR, logger1, "errormsg " + i++, null)); - append(createEvent(Level.FATAL, logger1, "fatalmsg " + i++, new Exception("someexception-" + baseString_))); + append(createEvent(Level.FATAL, logger1, "fatalmsg " + i++, new Exception("someexception-" + baseString))); append(createEvent(Level.TRACE, logger2, "tracemsg" + i++, null)); append( createEvent( Level.DEBUG, logger2, - "debugmsg " + i++ - + " g dg sdfa sadf sdf safd fsda asfd sdfa sdaf asfd asdf fasd fasd adfs fasd adfs fads afds afds afsd afsd afsd afsd afsd fasd asfd asfd afsd fasd afsd", + "debugmsg " + i++ + randomWordGenerator.generateSentence(), null)); append(createEvent(Level.INFO, logger2, "infomsg " + i++, null)); append(createEvent(Level.WARN, logger2, "warnmsg " + i++, null)); append(createEvent(Level.ERROR, logger2, "errormsg " + i++, null)); - append(createEvent(Level.FATAL, logger2, "fatalmsg " + i++, new Exception("someexception-" + baseString_))); + append(createEvent(Level.FATAL, logger2, "fatalmsg " + i++, new Exception("someexception-" + baseString))); append(createEvent(Level.TRACE, logger3, "tracemsg" + i++, null)); append( createEvent( Level.DEBUG, logger3, - "debugmsg " + i++ - + " g dg sdfa sadf sdf safd fsda asfd sdfa sdaf asfd asdf fasd fasd adfs fasd adfs fads afds afds afsd afsd afsd afsd afsd fasd asfd asfd afsd fasd afsd", + "debugmsg " + i++ + randomWordGenerator.generateSentence(), null)); append(createEvent(Level.INFO, logger3, "infomsg " + i++, null)); append(createEvent(Level.WARN, logger3, "warnmsg " + i++, null)); append(createEvent(Level.ERROR, logger3, "errormsg " + i++, null)); - append(createEvent(Level.FATAL, logger3, "fatalmsg " + i++, new Exception("someexception-" + baseString_))); + append(createEvent(Level.FATAL, logger3, "fatalmsg " + i++, new Exception("someexception-" + baseString))); try { Thread.sleep(1000); @@ -118,7 +112,7 @@ public class Generator extends ChainsawReceiverSkeleton implements Runnable { @Override public void start() { - thread = new Thread(this); + Thread thread = new Thread(this); thread.setPriority(Thread.MIN_PRIORITY); thread.start(); } diff --git a/src/main/java/org/apache/log4j/chainsaw/components/tutorial/RandomWordGenerator.java b/src/main/java/org/apache/log4j/chainsaw/components/tutorial/RandomWordGenerator.java new file mode 100644 index 0000000..cce3b20 --- /dev/null +++ b/src/main/java/org/apache/log4j/chainsaw/components/tutorial/RandomWordGenerator.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.log4j.chainsaw.components.tutorial; + +import java.util.Random; + +public class RandomWordGenerator { + Random random = new Random(); + private final String[] SYLLABLES = { + "can", "cen", "cin", "con", "cun", + "na", "ne", "ni", "no", "nu", + "ta", "te", "ti", "to", "tu", + "la", "le", "li", "lo", "lu", + "ma", "me", "mi", "mo", "mu", + "ra", "re", "ri", "ro", "ru", + "da", "de", "di", "do", "du", + "fa", "fe", "fi", "fo", "fu", + "sa", "se", "fi", "so", "su" + }; + + public String generateWord(int length) { + StringBuilder word = new StringBuilder(length); + for (int i = 0; i < length; i++) { + word.append(SYLLABLES[random.nextInt(SYLLABLES.length)]); + } + return word.toString(); + } + + public String generateSentence(int words) { + StringBuilder sentence = new StringBuilder(words); + for (int i = 0; i < words; i++) { + int randomSyllables = random.nextInt(6) + 2; // 2-7 syllabiles + sentence.append(generateWord(randomSyllables) + " "); + } + return sentence.toString().trim(); + } + + public String generateSentence() { + int words = random.nextInt(12) + 4; + return generateSentence(words); + } +}
