@@ -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>
|
||||
Reference in New Issue
Block a user