Skip to content

Commit ab95f21

Browse files
committed
add logs
1 parent 76479d2 commit ab95f21

File tree

15 files changed

+124
-92
lines changed

15 files changed

+124
-92
lines changed

1.txt

-7
This file was deleted.

2.txt

-1
This file was deleted.

Document.txt

Whitespace-only changes.

pom.xml

+53
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,16 @@
3030
<artifactId>GSON</artifactId>
3131
<version>6.0.6</version>
3232
</dependency>
33+
<dependency>
34+
<groupId>org.apache.logging.log4j</groupId>
35+
<artifactId>log4j-api</artifactId>
36+
<version>2.14.0</version>
37+
</dependency>
38+
<dependency>
39+
<groupId>org.apache.logging.log4j</groupId>
40+
<artifactId>log4j-core</artifactId>
41+
<version>2.14.0</version>
42+
</dependency>
3343
</dependencies>
3444

3545
<build>
@@ -63,5 +73,48 @@
6373
</plugin>
6474

6575
</plugins>
76+
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
77+
<plugins>
78+
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
79+
<plugin>
80+
<artifactId>maven-clean-plugin</artifactId>
81+
<version>3.1.0</version>
82+
</plugin>
83+
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
84+
<plugin>
85+
<artifactId>maven-resources-plugin</artifactId>
86+
<version>3.0.2</version>
87+
</plugin>
88+
<plugin>
89+
<artifactId>maven-compiler-plugin</artifactId>
90+
<version>3.8.0</version>
91+
</plugin>
92+
<plugin>
93+
<artifactId>maven-surefire-plugin</artifactId>
94+
<version>2.22.1</version>
95+
</plugin>
96+
<plugin>
97+
<artifactId>maven-jar-plugin</artifactId>
98+
<version>3.0.2</version>
99+
</plugin>
100+
<plugin>
101+
<artifactId>maven-install-plugin</artifactId>
102+
<version>2.5.2</version>
103+
</plugin>
104+
<plugin>
105+
<artifactId>maven-deploy-plugin</artifactId>
106+
<version>2.8.2</version>
107+
</plugin>
108+
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
109+
<plugin>
110+
<artifactId>maven-site-plugin</artifactId>
111+
<version>3.7.1</version>
112+
</plugin>
113+
<plugin>
114+
<artifactId>maven-project-info-reports-plugin</artifactId>
115+
<version>3.0.0</version>
116+
</plugin>
117+
</plugins>
118+
</pluginManagement>
66119
</build>
67120
</project>

src/main/java/com/epam/kaliada/App.java

+17-5
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,44 @@
33
import com.google.gson.Gson;
44
import com.google.gson.GsonBuilder;
55
import com.google.gson.stream.JsonReader;
6+
import org.apache.logging.log4j.Level;
7+
import org.apache.logging.log4j.LogManager;
8+
import org.apache.logging.log4j.Logger;
69

710
import java.io.*;
811

912

10-
public class App
11-
{
13+
public class App {
14+
private static Logger logger = LogManager.getLogger();
1215
public static void main(String[] args) {
16+
logger.log(Level.INFO, "Application started");
17+
String name = new String();
1318
try{
1419
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
15-
String name = reader.readLine();
20+
name = reader.readLine();
21+
logger.log(Level.INFO, "read config file name: " + name);
1622

1723
GsonBuilder gsonBuilder = new GsonBuilder();
1824
gsonBuilder.registerTypeAdapter(ConfigInfo.class, new ConfigInfoConverter());
1925
Gson gson = gsonBuilder.create();
2026

2127
JsonReader jsonReader = new JsonReader(new FileReader(name));
28+
logger.log(Level.INFO, "start reading file " + name);
2229
ConfigInfo configInfo = gson.fromJson(jsonReader, ConfigInfo.class);
30+
logger.log(Level.INFO, "finish reading file " + name);
2331

2432
if (configInfo != null){
2533
Renamer renamer = new Renamer();
34+
logger.log(Level.INFO, "start renaming files");
2635
renamer.renameFiles(configInfo.getFiles(), configInfo.getSuffix());
36+
logger.log(Level.INFO, "application finished working");
2737
}else {
28-
System.out.println("File " + name + " is empty");
38+
logger.log(Level.WARN, "File " + name + " is empty");
2939
}
40+
}catch (FileNotFoundException e){
41+
logger.log(Level.ERROR, "file " + name + " not found", e);
3042
}catch (IOException e){
31-
e.printStackTrace();
43+
logger.log(Level.ERROR, "problem with read config file name or renaming", e);
3244
}
3345
}
3446
}

src/main/java/com/epam/kaliada/ConfigInfo.java

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.nio.file.Path;
44

55
public class ConfigInfo {
6+
67
private Path[] files;
78
private String suffix;
89

src/main/java/com/epam/kaliada/ConfigInfoConverter.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
11
package com.epam.kaliada;
22

33
import com.google.gson.*;
4+
import org.apache.logging.log4j.Level;
5+
import org.apache.logging.log4j.LogManager;
6+
import org.apache.logging.log4j.Logger;
47

58
import java.lang.reflect.Type;
69
import java.nio.file.Path;
710
import java.nio.file.Paths;
811

912
public class ConfigInfoConverter implements JsonSerializer<ConfigInfo>, JsonDeserializer<ConfigInfo> {
13+
private static Logger logger = LogManager.getLogger();
14+
1015
@Override
11-
public ConfigInfo deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
16+
public ConfigInfo deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) {
17+
logger.log(Level.INFO, "start parsing from json file");
1218
JsonObject jsonObject = jsonElement.getAsJsonObject();
1319
JsonArray jsonArray = jsonObject.get("files").getAsJsonArray();
1420
Path[] files = new Path[jsonArray.size()];
1521
for (int i = 0; i < jsonArray.size(); i++) {
1622
files[i] = Paths.get(jsonArray.get(i).getAsString());
1723
}
1824
String suffix = jsonObject.get("suffix").getAsString();
25+
logger.log(Level.INFO, "finish parsing from json file");
1926
return new ConfigInfo(files, suffix);
2027
}
2128

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
package com.epam.kaliada;
22

3+
import org.apache.logging.log4j.Level;
4+
import org.apache.logging.log4j.LogManager;
5+
import org.apache.logging.log4j.Logger;
6+
37
import java.io.IOException;
48
import java.nio.file.Files;
59
import java.nio.file.Path;
610
import java.nio.file.Paths;
711

812
public class Renamer {
13+
private static Logger logger = LogManager.getLogger();
14+
915
public void renameFiles(Path[] files, String suffix) throws IOException {
1016
for (int i = 0; i < files.length; i++) {
1117
if (checkFiles(files[i])){
@@ -14,15 +20,16 @@ public void renameFiles(Path[] files, String suffix) throws IOException {
1420
StringBuilder builder = new StringBuilder(fileName);
1521
builder = builder.insert(dot, suffix);
1622
String newFileName = builder.toString();
23+
logger.log(Level.INFO, "start renaming file " + fileName);
1724
Files.move(files[i], files[i].resolveSibling(newFileName));
18-
System.out.println(fileName + "->" + newFileName);
25+
logger.log(Level.INFO, fileName + "->" + newFileName);
1926
}else {
20-
System.out.println("File " + files[i] + " doesn't exist");
27+
logger.log(Level.WARN, "File " + files[i] + " doesn't exist");
2128
}
2229
}
2330
}
2431

2532
private boolean checkFiles(Path file){
26-
return Files.exists(file);
33+
return file != null && Files.exists(file);
2734
}
2835
}

src/main/resources/log4j2.properties

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
status = error
2+
dest = err
3+
name = PropertiesConfig
4+
property.filename = logs
5+
6+
appenders = file, rolling
7+
8+
appender.file.type = File
9+
appender.file.name = File
10+
appender.file.filename = ${filename}/mainlogs.log
11+
appender.file.layout.type = PatternLayout
12+
appender.file.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{5} - %msg%n
13+
appender.file.filter.threshold.type = ThresholdFilter
14+
appender.file.filter.threshold.level = warn
15+
16+
appender.rolling.type = RollingFile
17+
appender.rolling.name = RollingFile
18+
appender.rolling.filename = ${filename}/fulllogs.log
19+
appender.rolling.filePattern = ${filename}/full-logs%d{yy-MM-dd-HH-mm-ss}-%i.log
20+
appender.rolling.layout.type = PatternLayout
21+
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{5}:%L - %msg%n
22+
appender.rolling.policies.type = Policies
23+
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
24+
appender.rolling.policies.size.size = 5KB
25+
appender.rolling.strategy.type = DefaultRolloverStrategy
26+
appender.rolling.strategy.max = 10
27+
appender.rolling.filter.threshold.type = ThresholdFilter
28+
appender.rolling.filter.threshold.level = all
29+
30+
rootLogger.level = all
31+
rootLogger.appenderRefs = file, rolling
32+
rootLogger.appenderRef.file.ref = File
33+
rootLogger.appenderRef.rolling.ref = RollingFile

target/maven-archiver/pom.properties

-5
This file was deleted.

target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst

-1
This file was deleted.

target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

-1
This file was deleted.

target/surefire-reports/TEST-com.epam.kaliada.AppTest.xml

-64
This file was deleted.

target/surefire-reports/com.epam.kaliada.AppTest.txt

-4
This file was deleted.

upskill-lab-maven.iml

+2
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,7 @@
2424
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
2525
<orderEntry type="library" name="Maven: javax.xml.soap:javax.xml.soap-api:1.4.0" level="project" />
2626
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
27+
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.14.0" level="project" />
28+
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.14.0" level="project" />
2729
</component>
2830
</module>

0 commit comments

Comments
 (0)