Skip to content

Commit f7ae7f5

Browse files
Merge pull request #203 from xenit-eu/tomcat-7-json-logging
add json logging to tomcat 7 with java 8
2 parents b18167c + 8e733d9 commit f7ae7f5

File tree

8 files changed

+52
-61
lines changed

8 files changed

+52
-61
lines changed

tomcat-base/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ subprojects {
4242
implementation "org.apache.tomcat:tomcat-jasper:${tomcatVersion}"
4343
implementation "org.apache.tomcat:tomcat-jasper-el:${tomcatVersion}"
4444
implementation "org.apache.tomcat:tomcat-jsp-api:${tomcatVersion}"
45-
// implementation "eu.xenit.logging:json-logging:${jsonLoggingVersion}"
45+
implementation "eu.xenit.logging:json-logging-java-8:${jsonLoggingVersion}"
4646
implementation "com.fasterxml.jackson.core:jackson-databind:2.15.2"
4747
testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.0"
4848
testImplementation("org.junit-pioneer:junit-pioneer:1.9.1")
4949
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.0"
50-
// sharedLibs("eu.xenit.logging:json-logging:${jsonLoggingVersion}") {
51-
// transitive = false
52-
// }
50+
sharedLibs("eu.xenit.logging:json-logging-java-8:${jsonLoggingVersion}") {
51+
transitive = false
52+
}
5353
}
5454

5555
boolean isRelease = ci.branch?.equals("master")
Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
#!/bin/bash
22

33
currentDate=$(date +%s)
4-
if [ -z "${BUILD_DATE}" ]
5-
then
6-
1>&2 echo "$(tput -Txterm setaf 3)"'{ "timestamp" : '"$(date -d @$currentDate +"%s")"' ,"severity" : "WARN", "type" : "application","component" : "docker-entrypoint" ,"fullMessage" : "Unable to determine image age: BUILD_DATE is not set"}'"$(tput -Txterm sgr0)"
4+
if [ -z "${BUILD_DATE}" ]; then
5+
echo '{ "timestamp" : '"$(date -d @$currentDate +"%s")"' ,"severity" : "WARN", "type" : "application","component" : "docker-entrypoint" ,"fullMessage" : "Unable to determine image age: BUILD_DATE is not set"}'
76
else
8-
printf -v buildDate "%.0f\n" "$BUILD_DATE"
9-
timeelapsed=`expr ${currentDate} - ${buildDate}`
10-
if [ $timeelapsed -ge 2592000 ] # 30 days
11-
then
12-
1>&2 echo "$(tput -Txterm setaf 3)"'{ "timestamp" : '"$(date -d @$currentDate +"%s")"' ,"severity" : "WARN", "type" : "application","component" : "docker-entrypoint" , "fullMessage" : "This is an old image: BUILD_DATE='"$(date -d @$BUILD_DATE +"%Y-%m-%d %H:%M:%S")"' and currentDate='"$(date -d @$currentDate +"%Y-%m-%d %H:%M:%S")"'"}'"$(tput -Txterm sgr0)"
13-
fi
7+
printf -v buildDate "%.0f\n" "$BUILD_DATE"
8+
timeelapsed=$(expr ${currentDate} - ${buildDate})
9+
if [ $timeelapsed -ge 2592000 ]; then # 30 days
10+
echo '{ "timestamp" : '"$(date -d @$currentDate +"%s")"' ,"severity" : "WARN", "type" : "application","component" : "docker-entrypoint" , "fullMessage" : "This is an old image: BUILD_DATE='"$(date -d @$BUILD_DATE +"%Y-%m-%d %H:%M:%S")"' and currentDate='"$(date -d @$currentDate +"%Y-%m-%d %H:%M:%S")"'"}'
11+
fi
1412
fi

tomcat-base/src/shared/main/java/eu/xenit/alfresco/tomcat/embedded/Main.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package eu.xenit.alfresco.tomcat.embedded;
22

33
import eu.xenit.alfresco.tomcat.embedded.alfresco.tomcat.AlfrescoTomcatCustomizer;
4-
import eu.xenit.alfresco.tomcat.embedded.config.TomcatConfiguration;
54
import eu.xenit.alfresco.tomcat.embedded.config.DefaultConfigurationProvider;
65
import eu.xenit.alfresco.tomcat.embedded.config.EnvironmentVariableConfigurationProvider;
6+
import eu.xenit.alfresco.tomcat.embedded.config.TomcatConfiguration;
77
import eu.xenit.alfresco.tomcat.embedded.share.tomcat.ShareTomcatCustomizer;
88
import eu.xenit.alfresco.tomcat.embedded.tomcat.TomcatFactory;
9-
//import eu.xenit.logging.json.jul.JsonFormatter;
9+
import eu.xenit.logging.json.jul.JsonFormatter;
1010
import org.apache.catalina.startup.Tomcat;
1111

1212
import java.nio.file.Files;
@@ -67,14 +67,14 @@ public static void configureLoggerToJSONStdOut(Logger logger, String component,
6767
}
6868
};
6969

70-
// if (json) {
71-
// JsonFormatter formatter = new JsonFormatter();
72-
// formatter.setType("application");
73-
// formatter.setComponent(component);
74-
// formatter.setExtractStackTrace("true");
75-
// formatter.setFilterStackTrace(true);
76-
// customHandler.setFormatter(formatter);
77-
// }
70+
if (json) {
71+
JsonFormatter formatter = new JsonFormatter();
72+
formatter.setType("application");
73+
formatter.setComponent(component);
74+
formatter.setExtractStackTrace("true");
75+
formatter.setFilterStackTrace(true);
76+
customHandler.setFormatter(formatter);
77+
}
7878

7979
logger.addHandler(customHandler);
8080
}

tomcat-base/src/shared/main/java/eu/xenit/alfresco/tomcat/embedded/healthcheck/HealthCheck.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
11
package eu.xenit.alfresco.tomcat.embedded.healthcheck;
22

3-
import eu.xenit.alfresco.tomcat.embedded.config.TomcatConfiguration;
43
import eu.xenit.alfresco.tomcat.embedded.config.DefaultConfigurationProvider;
54
import eu.xenit.alfresco.tomcat.embedded.config.EnvironmentVariableConfigurationProvider;
5+
import eu.xenit.alfresco.tomcat.embedded.config.TomcatConfiguration;
66

77
import java.io.IOException;
88
import java.net.ConnectException;
99
import java.net.HttpURLConnection;
10-
import java.net.URI;
1110
import java.net.URL;
12-
import java.net.http.HttpClient;
13-
import java.net.http.HttpClient.Version;
14-
import java.net.http.HttpConnectTimeoutException;
15-
import java.net.http.HttpRequest;
16-
import java.net.http.HttpResponse.BodyHandlers;
17-
import java.time.Duration;
18-
import java.util.Objects;
1911

2012
public class HealthCheck {
2113
public static final String ALFRESCO_DEFAULT_LIVE_PROBE = "http://localhost:8080/alfresco";
@@ -44,7 +36,7 @@ public static void main(String[] args) throws IOException, InterruptedException
4436
private static int healthCheck(String endpoint, int statusCode, String[] args) throws IOException, InterruptedException {
4537
HealthCheckSpec spec = HealthCheck.setupHealthCheck(endpoint, statusCode, args);
4638
int exitCode = doHealthCheck(spec);
47-
if(exitCode != 0) {
39+
if (exitCode != 0) {
4840
System.exit(exitCode);
4941
}
5042
return exitCode;

tomcat-base/src/shared/main/java/eu/xenit/alfresco/tomcat/embedded/tomcat/TomcatFactory.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,7 @@
11
package eu.xenit.alfresco.tomcat.embedded.tomcat;
22

3-
import static eu.xenit.alfresco.tomcat.embedded.utils.Utils.redirectLog4j;
4-
53
import eu.xenit.alfresco.tomcat.embedded.config.TomcatConfiguration;
6-
//import eu.xenit.logging.json.valve.JsonAccessLogValve;
7-
import java.io.IOException;
8-
import java.nio.charset.StandardCharsets;
9-
import java.nio.file.DirectoryStream;
10-
import java.nio.file.Files;
11-
import java.nio.file.Path;
12-
import java.nio.file.Paths;
13-
import java.util.stream.Stream;
4+
import eu.xenit.logging.json.valve.JsonAccessLogValve;
145
import org.apache.catalina.Host;
156
import org.apache.catalina.LifecycleException;
167
import org.apache.catalina.LifecycleListener;
@@ -19,10 +10,19 @@
1910
import org.apache.catalina.core.StandardContext;
2011
import org.apache.catalina.loader.WebappLoader;
2112
import org.apache.catalina.startup.Tomcat;
22-
import org.apache.coyote.http11.Http11NioProtocol;
2313
import org.apache.coyote.http11.Http11Protocol;
2414
import org.apache.naming.resources.VirtualDirContext;
2515

16+
import java.io.IOException;
17+
import java.nio.charset.StandardCharsets;
18+
import java.nio.file.DirectoryStream;
19+
import java.nio.file.Files;
20+
import java.nio.file.Path;
21+
import java.nio.file.Paths;
22+
import java.util.stream.Stream;
23+
24+
import static eu.xenit.alfresco.tomcat.embedded.utils.Utils.redirectLog4j;
25+
2626
public class TomcatFactory {
2727

2828
private final TomcatConfiguration configuration;
@@ -118,11 +118,11 @@ private void addWebapp(Tomcat tomcat, Path path) {
118118
};
119119
ctx.addLifecycleListener(lifecycleListener);
120120

121-
// if (getConfiguration().isAccessLogging()) {
122-
// JsonAccessLogValve valve = new JsonAccessLogValve();
123-
// ctx.addValve(valve);
124-
// ctx.getAccessLog();
125-
// }
121+
if (getConfiguration().isAccessLogging()) {
122+
JsonAccessLogValve valve = new JsonAccessLogValve();
123+
ctx.addValve(valve);
124+
ctx.getAccessLog();
125+
}
126126
}
127127
}
128128

tomcat-base/src/shared/test/java/eu/xenit/alfresco/tomcat/embedded/alfresco/tomcat/AlfrescoTomcatFactoryHelperTest.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
package eu.xenit.alfresco.tomcat.embedded.alfresco.tomcat;
22

3-
import static org.junit.jupiter.api.Assertions.assertEquals;
4-
53
import eu.xenit.alfresco.tomcat.embedded.alfresco.config.AlfrescoConfiguration;
64
import eu.xenit.alfresco.tomcat.embedded.alfresco.config.DefaultAlfrescoConfigurationProvider;
7-
import eu.xenit.alfresco.tomcat.embedded.config.ConfigurationProvider;
85
import eu.xenit.alfresco.tomcat.embedded.config.DefaultConfigurationProvider;
96
import eu.xenit.alfresco.tomcat.embedded.config.TomcatConfiguration;
7+
import org.junit.jupiter.api.Test;
8+
109
import java.io.File;
1110
import java.io.IOException;
1211
import java.net.URISyntaxException;
1312
import java.net.URL;
14-
import java.nio.charset.Charset;
1513
import java.nio.charset.StandardCharsets;
1614
import java.nio.file.Files;
1715
import java.nio.file.Path;
1816
import java.nio.file.Paths;
19-
import org.junit.jupiter.api.Test;
17+
18+
import static org.junit.jupiter.api.Assertions.assertEquals;
2019

2120

2221
class AlfrescoTomcatFactoryHelperTest {

tomcat-base/src/shared/test/java/eu/xenit/alfresco/tomcat/embedded/share/tomcat/ShareTomcatFactoryHelperTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package eu.xenit.alfresco.tomcat.embedded.share.tomcat;
22

3-
import static org.junit.jupiter.api.Assertions.assertEquals;
4-
import static org.junit.jupiter.api.Assertions.assertFalse;
5-
63
import eu.xenit.alfresco.tomcat.embedded.config.DefaultConfigurationProvider;
74
import eu.xenit.alfresco.tomcat.embedded.config.TomcatConfiguration;
85
import eu.xenit.alfresco.tomcat.embedded.share.config.DefaultShareConfigurationProvider;
96
import eu.xenit.alfresco.tomcat.embedded.share.config.ShareConfiguration;
7+
import org.junit.jupiter.api.Test;
8+
import org.junitpioneer.jupiter.SetEnvironmentVariable;
9+
1010
import java.io.File;
1111
import java.io.IOException;
1212
import java.net.URISyntaxException;
@@ -15,8 +15,9 @@
1515
import java.nio.file.Files;
1616
import java.nio.file.Path;
1717
import java.nio.file.Paths;
18-
import org.junit.jupiter.api.Test;
19-
import org.junitpioneer.jupiter.SetEnvironmentVariable;
18+
19+
import static org.junit.jupiter.api.Assertions.assertEquals;
20+
import static org.junit.jupiter.api.Assertions.assertFalse;
2021

2122

2223
class ShareTomcatFactoryHelperTest {

tomcat-base/src/shared/test/java/eu/xenit/alfresco/tomcat/embedded/utils/UtilsTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package eu.xenit.alfresco.tomcat.embedded.utils;
22

3+
import org.junit.jupiter.api.Assertions;
4+
import org.junit.jupiter.api.Test;
5+
36
import java.io.IOException;
47
import java.io.Reader;
58
import java.nio.file.Files;
69
import java.nio.file.Path;
710
import java.nio.file.Paths;
811
import java.util.Properties;
9-
import org.junit.jupiter.api.Assertions;
10-
import org.junit.jupiter.api.Test;
1112

1213
class UtilsTest {
1314

0 commit comments

Comments
 (0)