Skip to content

Commit

Permalink
Fixing log4j2 yaml and DB connections
Browse files Browse the repository at this point in the history
  • Loading branch information
sriram-ponangi committed Dec 31, 2021
1 parent 27aa09d commit f9e2c10
Show file tree
Hide file tree
Showing 18 changed files with 163 additions and 35 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
.idea/
*/target
logs/
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,11 @@ A POC application to create:
- Maven Multi-Modules with Springboot
- Chain of Responsibility pattern with apache commons-chain library
- File Monitoring with apache commons-io


# Command To Start The Temporary DB:
docker pull mysql
docker run --name mysql-locl -e MYSQL_ROOT_PASSWORD=default -v $HOME/mysql/data:/var/lib/mysql -p 33060:3306 -d mysql

docker pull ibmcom/db2
docker run -itd --name db2-locl --privileged=true -p 50000:50000 -e LICENSE=accept -e DB2INST1_PASSWORD=default -e DBNAME=testdb -v $HOME/db2/data:/database ibmcom/db2
19 changes: 5 additions & 14 deletions application/src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,8 @@ chain:
yml:
path: chain/chain-config.yml

logging:
file:
name: ${application.name}.log
max-size: 1MB
path: logs
pattern:
console: '%d{yyyy-MM-dd HH:mm:ss} - %msg%n'
file: '%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n'
level:
root: INFO
com:
springframework: INFO
file:
monitoring: DEBUG
spring:
datasource:
url: jdbc:mysql://127.0.0.1:33060/TEMP_DB_1
username: TEMP_DB_1_ADMIN
password: TEMP_DB_1_ADMIN
31 changes: 21 additions & 10 deletions application/src/main/resources/log4j2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,46 +3,57 @@ Configutation:

Properties:
Property:
name: log-path
value: "logs"
- name: log-path
value: ${sys:file.monitoring.app.logs.path:-logs}
- name: log-level
value: ${sys:file.monitoring.app.logs.level:-debug}


Appenders:

Console:
- name: Console_Appender
target: SYSTEM_OUT
PatternLayout:
pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%t] %c{1} - %msg%n"
pattern: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%-5level] %logger{36} - %msg%n"

RollingFile:
- name: RollingFile_Appender
fileName: ${log-path}/file_monitor_app.log
filePattern: "${log-path}/archive/file_monitor_app.log.%d{yyyy-MM-dd-hh-mm}.zip"
filePattern: ${log-path}/archive/file_monitor_app.log.%d{yyyy-MM-dd-hh-mm}.zip
PatternLayout:
pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"
Policies:
SizeBasedTriggeringPolicy:
size: 1 KB
size: 1 MB
DefaultRollOverStrategy:
max: 30


Loggers:

Root:
level: debug
level: info
AppenderRef:
- ref: Console_Appender
- ref: RollingFile_Appender


Logger:

- name: com.file.monitoring
level: debug
additivity: false
level: ${log-level}
AppenderRef:
- ref: File_Appender
level: info
- ref: Console_Appender
- ref: RollingFile_Appender
level: debug

# - name: org.springframework
# additivity: false
# level: info
# AppenderRef:
# - ref: Console_Appender
# - ref: RollingFile_Appender



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,12 @@ public class ChainYAMLCatalog {

@Bean("ChainYMLCatalog")
private Catalog parseConfigFile() {
System.out.println(chainConfigXMLPath);
Yaml yaml = new Yaml(new Constructor(CatalogBean.class));
InputStream inputStream = this.getClass()
.getClassLoader()
.getResourceAsStream(chainConfigXMLPath);
CatalogBean catalogBean = yaml.load(inputStream);

System.out.println(catalogBean);

CatalogBase catalogBase = new CatalogBase();

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.file.monitoring.generic.commands.dao;

import com.file.monitoring.generic.commands.dto.Names;

import java.util.List;
import java.util.Optional;

public interface NamesDAO {
int count();
List<Names> findAll();
Optional<Names> getNameById(long id);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.file.monitoring.generic.commands.dao.mysql;

import com.file.monitoring.generic.commands.dao.NamesDAO;
import com.file.monitoring.generic.commands.dto.Names;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

@Primary
@Repository
public class NamesDAOImpl implements NamesDAO {
@Autowired
private JdbcTemplate jdbcTemplate;

@Override
public int count() {
return jdbcTemplate
.queryForObject("SELECT COUNT(*) FROM Names", Integer.class);
}

@Override
public List<Names> findAll() {
return jdbcTemplate.query(
"SELECT * FROM Names",
(rs, rowNum) ->
new Names(
rs.getLong("id"),
rs.getString("FName"),
rs.getString("LName")
)
);
}

@Override
public Optional<Names> getNameById(long id) {
return jdbcTemplate.queryForObject("SELECT * FROM Names WHERE id = ?", (rs, rowNum) ->
Optional.of(new Names(
rs.getLong("id"),
rs.getString("FName"),
rs.getString("LName")
)), id);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.file.monitoring.generic.commands.dto;

import lombok.Data;

@Data
public class Names {
private long id;
private String fName;
private String lName;

public Names(long id, String fName, String lName) {
this.id = id;
this.fName = fName;
this.lName = lName;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
import org.apache.commons.chain.Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import java.time.LocalTime;

@Component("GenericProcessor1_1")
public class GenericProcessor1_1 implements GenericProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(GenericProcessor1_1.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import org.apache.commons.chain.Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.time.LocalTime;

@Component("GenericProcessor1_2")
public class GenericProcessor1_2 implements GenericProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(GenericProcessor1_2.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import org.apache.commons.chain.Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.time.LocalTime;

@Component("GenericProcessor2_1")
public class GenericProcessor2_1 implements GenericProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(GenericProcessor2_1.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import org.apache.commons.chain.Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.time.LocalTime;

@Component("GenericProcessor3_1")
public class GenericProcessor3_1 implements GenericProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(GenericProcessor3_1.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import org.apache.commons.chain.Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.time.LocalTime;

@Component("GenericProcessor3_2")
public class GenericProcessor3_2 implements GenericProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(GenericProcessor3_2.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import org.apache.commons.chain.Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.time.LocalTime;

@Component("GenericProcessor4_1")
public class GenericProcessor4_1 implements GenericProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(GenericProcessor4_1.class);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
package com.file.monitoring.generic.commands.processors;

import com.file.monitoring.generic.commands.dao.NamesDAO;
import org.apache.commons.chain.Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.time.LocalTime;

@Component("GenericProcessor5_1")
public class GenericProcessor5_1 implements GenericProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(GenericProcessor5_1.class);

@Autowired
NamesDAO namesDAO;

@Override
public void process(Context context) throws Exception {
LOGGER.info("{} - CURRENT CHAIN CONTEXT :: {}",
this.getClass().getSimpleName(), context);

context.put(this.getClass().getSimpleName(), LocalTime.now());
context.put(this.getClass().getSimpleName(), namesDAO.findAll());

LOGGER.info("{} - UPDATING CHAIN CONTEXT :: {}",
this.getClass().getSimpleName(), context);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import org.apache.commons.chain.Context;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import java.time.LocalTime;

@Component("GenericProcessor5_2")
public class GenericProcessor5_2 implements GenericProcessor {
private static final Logger LOGGER = LoggerFactory.getLogger(GenericProcessor5_2.class);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,47 +1,52 @@
package com.file.monitoring.generic.commands.processors.factory;

import com.file.monitoring.generic.commands.processors.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class GenericProcessorsFactoryImpl implements GenericProcessorsFactory {
@Autowired
private BeanFactory beanFactory;

@Override
public GenericProcessor createGenericProcessor1_1() {
return new GenericProcessor1_1();
return beanFactory.getBean(GenericProcessor1_1.class.getSimpleName(), GenericProcessor.class);
}

@Override
public GenericProcessor createGenericProcessor1_2() {
return new GenericProcessor1_2();
return beanFactory.getBean(GenericProcessor1_2.class.getSimpleName(), GenericProcessor.class);
}

@Override
public GenericProcessor createGenericProcessor2_1() {
return new GenericProcessor2_1();
return beanFactory.getBean(GenericProcessor2_1.class.getSimpleName(), GenericProcessor.class);
}

@Override
public GenericProcessor createGenericProcessor3_1() {
return new GenericProcessor3_1();
return beanFactory.getBean(GenericProcessor3_1.class.getSimpleName(), GenericProcessor.class);
}

@Override
public GenericProcessor createGenericProcessor3_2() {
return new GenericProcessor3_2();
return beanFactory.getBean(GenericProcessor3_2.class.getSimpleName(), GenericProcessor.class);
}

@Override
public GenericProcessor createGenericProcessor4_1() {
return new GenericProcessor4_1();
return beanFactory.getBean(GenericProcessor4_1.class.getSimpleName(), GenericProcessor.class);
}

@Override
public GenericProcessor createGenericProcessor5_1() {
return new GenericProcessor5_1();
return beanFactory.getBean(GenericProcessor5_1.class.getSimpleName(), GenericProcessor.class);
}

@Override
public GenericProcessor createGenericProcessor5_2() {
return new GenericProcessor5_2();
return beanFactory.getBean(GenericProcessor5_2.class.getSimpleName(), GenericProcessor.class);
}
}
17 changes: 17 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,23 @@
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

<dependencyManagement>
Expand Down

0 comments on commit f9e2c10

Please sign in to comment.