Merge pull request #8125 from eugenp/revert-8119-BAEL-3275-2

Revert "BAEL-3275: Using blocking queue for pub-sub"
This commit is contained in:
Eric Martin
2019-10-31 20:43:47 -05:00
committed by GitHub
parent db85c8f275
commit 3225470df5
20543 changed files with 1642750 additions and 0 deletions
@@ -0,0 +1,43 @@
package com.stackify.models;
import java.time.LocalDate;
public class User {
private String name;
private String email;
private LocalDate dateOfBirth;
public User() {
}
public User(String name, String email) {
super();
this.name = name;
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public LocalDate getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(LocalDate dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
}
@@ -0,0 +1,14 @@
package com.stackify.services;
import java.time.LocalDate;
import java.time.Period;
import com.stackify.models.User;
public class MyService {
public int calculateUserAge(User user) {
return Period.between(user.getDateOfBirth(), LocalDate.now()).getYears();
}
}
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<CustomLevels>
<CustomLevel name="NEW_XML_LEVEL" intLevel="350" />
</CustomLevels>
<Filters>
<BurstFilter level="INFO" rate="10" maxBurst="100" />
</Filters>
<Appenders>
<Console name="ColoredConsole" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue, NEW_LEVEL=black, NEW_XML_LEVEL=black} - %msg%n" />
</Console>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %level - %msg%n" />
</Console>
<RollingFile name="RollingFileAppender" fileName="logs/app.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<JSONLayout complete="true" compact="false" />
<Policies>
<OnStartupTriggeringPolicy />
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="50 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingFile>
<!--
<JDBC name="JDBCAppender" tableName="logs">
<DataSource jndiName="java:/comp/env/jdbc/LoggingDataSource" />
<Column name="date" isEventTimestamp="true" />
<Column name="logger" pattern="%logger" />
<Column name="level" pattern="%level" />
<Column name="message" pattern="%message" />
<Column name="exception" pattern="%ex{full}" />
</JDBC>
<Failover name="FailoverAppender" primary="JDBCAppender">
<Failovers>
<AppenderRef ref="RollingFileAppender" />
<AppenderRef ref="Console" />
</Failovers>
</Failover>
-->
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="ColoredConsole" />
</Root>
<Logger name="ConsoleLogger">
<AppenderRef ref="Console" />
</Logger>
<Logger name="RollingFileLogger">
<AppenderRef ref="RollingFileAppender" />
</Logger>
<!--
<Logger name="JDBCLogger">
<AppenderRef ref="JDBCAppender" />
<RegexFilter regex="*jdbc*" onMatch="ACCEPT" onMismatch="DENY" />
</Logger>
-->
</Loggers>
</Configuration>
@@ -0,0 +1,81 @@
package com.stackify.services;
import java.time.LocalDate;
import java.time.Month;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.appender.FileAppender;
import org.apache.logging.log4j.core.config.AppenderRef;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.LoggerConfig;
import org.apache.logging.log4j.core.layout.PatternLayout;
import org.junit.Test;
import com.stackify.models.User;
import com.stackify.services.MyService;
public class MyServiceUnitTest {
private static final Logger logger = LogManager.getLogger(MyServiceUnitTest.class);
@Test
public void testService() {
MyService myService = new MyService();
User user = new User("John", "john@yahoo.com");
user.setDateOfBirth(LocalDate.of(1980, Month.APRIL, 20));
logger.info("Age of user {} is {}", () -> user.getName(), () -> myService.calculateUserAge(user));
}
@Test
public void testColoredLogger() {
logger.fatal("Fatal level message");
logger.error("Error level message");
logger.warn("Warn level message");
logger.info("Info level message");
logger.debug("Debug level message");
}
@Test
public void testRollingFileAppender() {
Logger rfLogger = LogManager.getLogger("RollingFileLogger");
rfLogger.info("Json Message 1");
rfLogger.info("Json Message 2");
}
@Test
public void testProgrammaticConfig() {
LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
Configuration config = ctx.getConfiguration();
PatternLayout layout = PatternLayout.newBuilder().withConfiguration(config).withPattern("%d{HH:mm:ss.SSS} %level %msg%n").build();
Appender appender = FileAppender.newBuilder().setConfiguration(config).withName("programmaticFileAppender").withLayout(layout).withFileName("java.log").build();
appender.start();
config.addAppender(appender);
AppenderRef ref = AppenderRef.createAppenderRef("programmaticFileAppender", null, null);
AppenderRef[] refs = new AppenderRef[] { ref };
LoggerConfig loggerConfig = LoggerConfig.createLogger(false, Level.INFO, "programmaticLogger", "true", refs, null, config, null);
loggerConfig.addAppender(appender, null, null);
config.addLogger("programmaticLogger", loggerConfig);
ctx.updateLoggers();
Logger pLogger = LogManager.getLogger("programmaticLogger");
pLogger.info("Programmatic Logger Message");
}
@Test
public void testCustomLevel() {
Level myLevel = Level.forName("NEW_LEVEL", 350);
logger.log(myLevel, "Custom Level Message");
logger.log(Level.getLevel("NEW_XML_LEVEL"), "Custom XML Level Message");
}
}