From 3a61c57e714ab281e0438a0e51761a8b3a68795c Mon Sep 17 00:00:00 2001 From: abotev-intracol Date: Fri, 21 Dec 2018 15:45:07 +0200 Subject: [PATCH 1/5] NY-6318 Update file metadata - add enum providers; Signed-off-by: abotev-intracol --- .../content/file/metadata/FileMetadataService.java | 5 +++-- .../content/file/storage/StorageProviderPool.java | 8 ++++---- .../configuration/ContentServiceConfiguration.java | 13 ++++++++++--- .../content/grpc/services/ContentServiceImpl.java | 6 ++++-- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/main/java/biz/nynja/content/file/metadata/FileMetadataService.java b/src/main/java/biz/nynja/content/file/metadata/FileMetadataService.java index 483d9fe..c84e17f 100644 --- a/src/main/java/biz/nynja/content/file/metadata/FileMetadataService.java +++ b/src/main/java/biz/nynja/content/file/metadata/FileMetadataService.java @@ -12,6 +12,7 @@ import org.springframework.stereotype.Service; import biz.nynja.content.file.metadata.dto.FileMetadata; import biz.nynja.content.file.metadata.repositories.FileMetadataReposiory; +import biz.nynja.content.file.storage.Providers; import biz.nynja.content.upload.models.UploadStore; /** @@ -29,7 +30,7 @@ public class FileMetadataService { this.fileMetadataRepository = fileMetadataRepository; } - public FileMetadata storeFileMetadata(UploadStore uploadInfo, String fileName, String fileUrl) { + public FileMetadata storeFileMetadata(UploadStore uploadInfo, String fileName, String fileUrl, Providers storageProvider) { FileMetadata fileMetadata = new FileMetadata(); fileMetadata.setKey(UUID.randomUUID()); fileMetadata.setFileName(fileName); @@ -39,7 +40,7 @@ public class FileMetadataService { fileMetadata.setUploadTimestamp(Instant.now().toEpochMilli()); fileMetadata.setAccountId(uploadInfo.getAccountId()); fileMetadata.setDeviceId(uploadInfo.getDeviceId()); - fileMetadata.setStorage("LOCAL"); + fileMetadata.setStorage(storageProvider.name()); fileMetadata.setFileUrl(fileUrl); fileMetadataRepository.save(fileMetadata); diff --git a/src/main/java/biz/nynja/content/file/storage/StorageProviderPool.java b/src/main/java/biz/nynja/content/file/storage/StorageProviderPool.java index 2a2b310..76cb33f 100644 --- a/src/main/java/biz/nynja/content/file/storage/StorageProviderPool.java +++ b/src/main/java/biz/nynja/content/file/storage/StorageProviderPool.java @@ -23,14 +23,14 @@ public class StorageProviderPool { private static final Logger log = LoggerFactory.getLogger(StorageProviderPool.class); - private Map storageProviders = new HashMap<>(); + private Map storageProviders = new HashMap<>(); public StorageProviderPool(GoogleStorageProvider googleStorageProvider, LocalStorageProvider localStorageProvider) { - storageProviders.put("LOCAL", localStorageProvider); - storageProviders.put("GOOGLE", googleStorageProvider); + storageProviders.put(Providers.LOCAL, localStorageProvider); + storageProviders.put(Providers.GOOGLE, googleStorageProvider); } - public StorageProvider getStorageProviderByType(String storageProviderType) { + public StorageProvider getStorageProviderByType(Providers storageProviderType) { log.debug("Get storage provider = {}", storageProviderType); StorageProvider storageProvider = storageProviders.get(storageProviderType); if (storageProvider == null) { diff --git a/src/main/java/biz/nynja/content/grpc/configuration/ContentServiceConfiguration.java b/src/main/java/biz/nynja/content/grpc/configuration/ContentServiceConfiguration.java index 4d81a0a..27f9686 100644 --- a/src/main/java/biz/nynja/content/grpc/configuration/ContentServiceConfiguration.java +++ b/src/main/java/biz/nynja/content/grpc/configuration/ContentServiceConfiguration.java @@ -7,6 +7,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; +import biz.nynja.content.file.storage.Providers; + /** * @author Ralitsa Todorova * @@ -16,13 +18,18 @@ public class ContentServiceConfiguration { private final String uploadUrl; private final String downloadUrl; - private final String storageProvider; + private final Providers storageProvider; @Autowired public ContentServiceConfiguration(Environment env) { this.uploadUrl = env.getRequiredProperty("file.upload.url"); this.downloadUrl = env.getRequiredProperty("file.download.url"); - this.storageProvider = env.getRequiredProperty("storage.provider"); + this.storageProvider = getProvidersProperty("storage.provider", env); + } + + private Providers getProvidersProperty(String key, Environment env) { + String provider = env.getRequiredProperty("storage.provider"); + return Providers.valueOf(provider); } public String getUploadUrl() { @@ -33,7 +40,7 @@ public class ContentServiceConfiguration { return downloadUrl; } - public String getStorageProvider() { + public Providers getStorageProvider() { return storageProvider; } } diff --git a/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java b/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java index 722efed..9b4402e 100644 --- a/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java +++ b/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.util.StringUtils; import biz.nynja.content.core.validation.Validation; import biz.nynja.content.file.metadata.FileMetadataService; import biz.nynja.content.file.metadata.dto.FileMetadata; +import biz.nynja.content.file.storage.Providers; import biz.nynja.content.file.storage.StorageProvider; import biz.nynja.content.file.storage.StorageProviderPool; import biz.nynja.content.grpc.ContentServiceGrpc; @@ -148,6 +149,7 @@ public class ContentServiceImpl extends ContentServiceGrpc.ContentServiceImplBas private int receivedBytesCount; private String fileLocation; private int reachedSize; + private Providers provider = contentSreviceConfiguration.getStorageProvider(); public UploadStreamObserver(StreamObserver responseObserver) { this.responseObserver = responseObserver; @@ -168,7 +170,7 @@ public class ContentServiceImpl extends ContentServiceGrpc.ContentServiceImplBas try { if (storageProvider == null) { storageProvider = storageProviderPool - .getStorageProviderByType(contentSreviceConfiguration.getStorageProvider()); + .getStorageProviderByType(provider); fileName = constructFileName(uploadInfo.getFileName()); fileLocation = storageProvider.initialize(fileName); uploadInfo.setStatus("IN_PROGRESS"); @@ -213,7 +215,7 @@ public class ContentServiceImpl extends ContentServiceGrpc.ContentServiceImplBas Status.OUT_OF_RANGE.withDescription("Uploaded file size does not meet expectations."))); return; } - FileMetadata fileMetadata = fileMetadataService.storeFileMetadata(uploadInfo, fileName, fileLocation); + FileMetadata fileMetadata = fileMetadataService.storeFileMetadata(uploadInfo, fileName, fileLocation, provider); responseObserver.onNext(UploadResponse.newBuilder() .setDownloadUrl(constructDownloadUrl(fileMetadata.getKey().toString())).build()); responseObserver.onCompleted(); -- GitLab From 4f20cf50c6f5a23c9969ee22b43e2d2c11753d7f Mon Sep 17 00:00:00 2001 From: abotev-intracol Date: Fri, 11 Jan 2019 17:26:03 +0200 Subject: [PATCH 2/5] NY-6318 Update file metadata - add storage providers; - add file download url generate; - update configuration files; Signed-off-by: abotev-intracol --- .../biz/nynja/content/file/storage/Providers.java | 12 ++++++++++++ .../nynja/content/file/storage/StorageProvider.java | 1 + .../file/storage/impl/GoogleStorageProvider.java | 8 ++++++++ .../file/storage/impl/LocalStorageProvider.java | 5 +++++ .../content/grpc/services/ContentServiceImpl.java | 2 +- src/main/resources/application-dev.yml | 2 +- src/main/resources/application-production.yml | 2 +- 7 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 src/main/java/biz/nynja/content/file/storage/Providers.java diff --git a/src/main/java/biz/nynja/content/file/storage/Providers.java b/src/main/java/biz/nynja/content/file/storage/Providers.java new file mode 100644 index 0000000..55964cc --- /dev/null +++ b/src/main/java/biz/nynja/content/file/storage/Providers.java @@ -0,0 +1,12 @@ +/** + * Copyright (C) 2018 Nynja Inc. All rights reserved. + */ +package biz.nynja.content.file.storage; + +/** + * @author Angel.Botev + * + */ +public enum Providers { + GOOGLE, LOCAL +} diff --git a/src/main/java/biz/nynja/content/file/storage/StorageProvider.java b/src/main/java/biz/nynja/content/file/storage/StorageProvider.java index 22b6990..cc4df34 100644 --- a/src/main/java/biz/nynja/content/file/storage/StorageProvider.java +++ b/src/main/java/biz/nynja/content/file/storage/StorageProvider.java @@ -15,4 +15,5 @@ public interface StorageProvider { public void close(String fileLocation); + public String getFileUrl(String filename); } diff --git a/src/main/java/biz/nynja/content/file/storage/impl/GoogleStorageProvider.java b/src/main/java/biz/nynja/content/file/storage/impl/GoogleStorageProvider.java index f677152..785df48 100644 --- a/src/main/java/biz/nynja/content/file/storage/impl/GoogleStorageProvider.java +++ b/src/main/java/biz/nynja/content/file/storage/impl/GoogleStorageProvider.java @@ -160,4 +160,12 @@ public class GoogleStorageProvider implements StorageProvider { HttpResponse resp = req.execute(); return resp; } + + @Override + public String getFileUrl(String filename) { + StringBuilder builder = new StringBuilder(); + builder.append(storageConfiguration.getGoogleStorageURI()).append("/") + .append(storageConfiguration.getGoogleBucketName()).append("/").append(filename); + return builder.toString(); + } } diff --git a/src/main/java/biz/nynja/content/file/storage/impl/LocalStorageProvider.java b/src/main/java/biz/nynja/content/file/storage/impl/LocalStorageProvider.java index b9df377..71573d4 100644 --- a/src/main/java/biz/nynja/content/file/storage/impl/LocalStorageProvider.java +++ b/src/main/java/biz/nynja/content/file/storage/impl/LocalStorageProvider.java @@ -58,4 +58,9 @@ public class LocalStorageProvider implements StorageProvider { return new StringBuilder(contentStoreLocation).append(File.separator).append(fileName).toString(); } + @Override + public String getFileUrl(String filename) { + return constructFilePath(storageConfiguration.getLocalStorageLocation(), filename); + } + } diff --git a/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java b/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java index 9b4402e..10295d1 100644 --- a/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java +++ b/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java @@ -215,7 +215,7 @@ public class ContentServiceImpl extends ContentServiceGrpc.ContentServiceImplBas Status.OUT_OF_RANGE.withDescription("Uploaded file size does not meet expectations."))); return; } - FileMetadata fileMetadata = fileMetadataService.storeFileMetadata(uploadInfo, fileName, fileLocation, provider); + FileMetadata fileMetadata = fileMetadataService.storeFileMetadata(uploadInfo, fileName, storageProvider.getFileUrl(fileName), provider); responseObserver.onNext(UploadResponse.newBuilder() .setDownloadUrl(constructDownloadUrl(fileMetadata.getKey().toString())).build()); responseObserver.onCompleted(); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index bf84675..a54500f 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -42,7 +42,7 @@ file: storage: provider: GOOGLE local: - location: src/main/resources/ + location: src/main/resources google: uri: https://storage.googleapis.com bucket: content-service-dev diff --git a/src/main/resources/application-production.yml b/src/main/resources/application-production.yml index 5418080..a87b0e9 100644 --- a/src/main/resources/application-production.yml +++ b/src/main/resources/application-production.yml @@ -42,7 +42,7 @@ file: storage: provider: GOOGLE local: - location: ${LOCAL_STORAGE_LOCATION:/src/main/resources/} + location: ${LOCAL_STORAGE_LOCATION:/src/main/resources} google: uri: ${GOOGLE_STORAGE_URI:https://storage.googleapis.com} bucket: ${GOOGLE_STORAGE_BUCKET:content-service-dev} -- GitLab From 11ba2db54c2dc1e8df423c383de3b9c8c1438c8f Mon Sep 17 00:00:00 2001 From: abotev-intracol Date: Mon, 14 Jan 2019 14:51:44 +0200 Subject: [PATCH 3/5] NY-6318 Update file metadata - fix comments; Signed-off-by: abotev-intracol --- .../content/file/metadata/FileMetadataService.java | 4 ++-- .../file/storage/{Providers.java => Provider.java} | 2 +- .../content/file/storage/StorageProviderPool.java | 8 ++++---- .../configuration/ContentServiceConfiguration.java | 12 ++++++------ .../content/grpc/services/ContentServiceImpl.java | 4 ++-- 5 files changed, 15 insertions(+), 15 deletions(-) rename src/main/java/biz/nynja/content/file/storage/{Providers.java => Provider.java} (86%) diff --git a/src/main/java/biz/nynja/content/file/metadata/FileMetadataService.java b/src/main/java/biz/nynja/content/file/metadata/FileMetadataService.java index c84e17f..981dff1 100644 --- a/src/main/java/biz/nynja/content/file/metadata/FileMetadataService.java +++ b/src/main/java/biz/nynja/content/file/metadata/FileMetadataService.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; import biz.nynja.content.file.metadata.dto.FileMetadata; import biz.nynja.content.file.metadata.repositories.FileMetadataReposiory; -import biz.nynja.content.file.storage.Providers; +import biz.nynja.content.file.storage.Provider; import biz.nynja.content.upload.models.UploadStore; /** @@ -30,7 +30,7 @@ public class FileMetadataService { this.fileMetadataRepository = fileMetadataRepository; } - public FileMetadata storeFileMetadata(UploadStore uploadInfo, String fileName, String fileUrl, Providers storageProvider) { + public FileMetadata storeFileMetadata(UploadStore uploadInfo, String fileName, String fileUrl, Provider storageProvider) { FileMetadata fileMetadata = new FileMetadata(); fileMetadata.setKey(UUID.randomUUID()); fileMetadata.setFileName(fileName); diff --git a/src/main/java/biz/nynja/content/file/storage/Providers.java b/src/main/java/biz/nynja/content/file/storage/Provider.java similarity index 86% rename from src/main/java/biz/nynja/content/file/storage/Providers.java rename to src/main/java/biz/nynja/content/file/storage/Provider.java index 55964cc..3435845 100644 --- a/src/main/java/biz/nynja/content/file/storage/Providers.java +++ b/src/main/java/biz/nynja/content/file/storage/Provider.java @@ -7,6 +7,6 @@ package biz.nynja.content.file.storage; * @author Angel.Botev * */ -public enum Providers { +public enum Provider { GOOGLE, LOCAL } diff --git a/src/main/java/biz/nynja/content/file/storage/StorageProviderPool.java b/src/main/java/biz/nynja/content/file/storage/StorageProviderPool.java index 76cb33f..461e034 100644 --- a/src/main/java/biz/nynja/content/file/storage/StorageProviderPool.java +++ b/src/main/java/biz/nynja/content/file/storage/StorageProviderPool.java @@ -23,14 +23,14 @@ public class StorageProviderPool { private static final Logger log = LoggerFactory.getLogger(StorageProviderPool.class); - private Map storageProviders = new HashMap<>(); + private Map storageProviders = new HashMap<>(); public StorageProviderPool(GoogleStorageProvider googleStorageProvider, LocalStorageProvider localStorageProvider) { - storageProviders.put(Providers.LOCAL, localStorageProvider); - storageProviders.put(Providers.GOOGLE, googleStorageProvider); + storageProviders.put(Provider.LOCAL, localStorageProvider); + storageProviders.put(Provider.GOOGLE, googleStorageProvider); } - public StorageProvider getStorageProviderByType(Providers storageProviderType) { + public StorageProvider getStorageProviderByType(Provider storageProviderType) { log.debug("Get storage provider = {}", storageProviderType); StorageProvider storageProvider = storageProviders.get(storageProviderType); if (storageProvider == null) { diff --git a/src/main/java/biz/nynja/content/grpc/configuration/ContentServiceConfiguration.java b/src/main/java/biz/nynja/content/grpc/configuration/ContentServiceConfiguration.java index 27f9686..e520288 100644 --- a/src/main/java/biz/nynja/content/grpc/configuration/ContentServiceConfiguration.java +++ b/src/main/java/biz/nynja/content/grpc/configuration/ContentServiceConfiguration.java @@ -7,7 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; -import biz.nynja.content.file.storage.Providers; +import biz.nynja.content.file.storage.Provider; /** * @author Ralitsa Todorova @@ -18,7 +18,7 @@ public class ContentServiceConfiguration { private final String uploadUrl; private final String downloadUrl; - private final Providers storageProvider; + private final Provider storageProvider; @Autowired public ContentServiceConfiguration(Environment env) { @@ -27,9 +27,9 @@ public class ContentServiceConfiguration { this.storageProvider = getProvidersProperty("storage.provider", env); } - private Providers getProvidersProperty(String key, Environment env) { - String provider = env.getRequiredProperty("storage.provider"); - return Providers.valueOf(provider); + private Provider getProvidersProperty(String key, Environment env) { + String provider = env.getRequiredProperty(key); + return Provider.valueOf(provider); } public String getUploadUrl() { @@ -40,7 +40,7 @@ public class ContentServiceConfiguration { return downloadUrl; } - public Providers getStorageProvider() { + public Provider getStorageProvider() { return storageProvider; } } diff --git a/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java b/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java index 10295d1..1e4f7db 100644 --- a/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java +++ b/src/main/java/biz/nynja/content/grpc/services/ContentServiceImpl.java @@ -19,7 +19,7 @@ import org.springframework.util.StringUtils; import biz.nynja.content.core.validation.Validation; import biz.nynja.content.file.metadata.FileMetadataService; import biz.nynja.content.file.metadata.dto.FileMetadata; -import biz.nynja.content.file.storage.Providers; +import biz.nynja.content.file.storage.Provider; import biz.nynja.content.file.storage.StorageProvider; import biz.nynja.content.file.storage.StorageProviderPool; import biz.nynja.content.grpc.ContentServiceGrpc; @@ -149,7 +149,7 @@ public class ContentServiceImpl extends ContentServiceGrpc.ContentServiceImplBas private int receivedBytesCount; private String fileLocation; private int reachedSize; - private Providers provider = contentSreviceConfiguration.getStorageProvider(); + private Provider provider = contentSreviceConfiguration.getStorageProvider(); public UploadStreamObserver(StreamObserver responseObserver) { this.responseObserver = responseObserver; -- GitLab From 72c4b9cf4b6336ae5c8124aef55e15e4b0adf60b Mon Sep 17 00:00:00 2001 From: abotev-intracol Date: Tue, 15 Jan 2019 14:57:40 +0200 Subject: [PATCH 4/5] NY-6494 Extract keyspace replica factor - add replication configuration and add property in CassandraConfig; Signed-off-by: abotev-intracol --- .../nynja/content/db/configuration/CassandraConfig.java | 9 ++++++++- src/main/resources/application-dev.yml | 1 + src/main/resources/application-production.yml | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/biz/nynja/content/db/configuration/CassandraConfig.java b/src/main/java/biz/nynja/content/db/configuration/CassandraConfig.java index 525af77..fd051ff 100644 --- a/src/main/java/biz/nynja/content/db/configuration/CassandraConfig.java +++ b/src/main/java/biz/nynja/content/db/configuration/CassandraConfig.java @@ -22,6 +22,9 @@ public class CassandraConfig extends AbstractCassandraConfiguration { @Value("${spring.data.cassandra.keyspace-name}") private String keyspace; + @Value("${spring.data.cassandra.replication}") + private int replication; + @Override protected String getKeyspaceName() { return keyspace; @@ -43,6 +46,10 @@ public class CassandraConfig extends AbstractCassandraConfiguration { return port; } + private int getReplication() { + return replication; + } + @Override public SchemaAction getSchemaAction() { return SchemaAction.CREATE_IF_NOT_EXISTS; @@ -51,7 +58,7 @@ public class CassandraConfig extends AbstractCassandraConfiguration { @Override protected List getKeyspaceCreations() { CreateKeyspaceSpecification specification = CreateKeyspaceSpecification.createKeyspace(getKeyspaceName()) - .ifNotExists().withSimpleReplication(); + .ifNotExists().withSimpleReplication(getReplication()); return Arrays.asList(specification); } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index a54500f..6da8f26 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -15,6 +15,7 @@ spring: keyspace-name: content contact-points: localhost port: 9042 + replication: 3 token: encryptdecrypt: diff --git a/src/main/resources/application-production.yml b/src/main/resources/application-production.yml index a87b0e9..b2e6ee8 100644 --- a/src/main/resources/application-production.yml +++ b/src/main/resources/application-production.yml @@ -15,6 +15,7 @@ spring: keyspace-name: ${CASSANDRA_KEYSPACE:content} contact-points: ${CASSANDRA_CONTACT_POINTS:cassandra.cassandra.svc.cluster.local} port: ${CASSANDRA_PORT:9042} + replication: ${CASSANDRA_KEYSPACE_REPLICATION:3} token: encryptdecrypt: -- GitLab From 6f60487da7c0f00bd8d54107e93c2ed115fa5e54 Mon Sep 17 00:00:00 2001 From: abotev-intracol Date: Wed, 16 Jan 2019 18:14:09 +0200 Subject: [PATCH 5/5] NY-6725 Remove unnecessary logger - replace Groovy library with Spring default; Signed-off-by: abotev-intracol --- pom.xml | 24 ++++++++++---- src/main/resources/application-dev.yml | 32 +++++++++++++++++++ src/main/resources/application-production.yml | 32 +++++++++++++++++++ src/main/resources/logback-spring.groovy | 32 ------------------- 4 files changed, 81 insertions(+), 39 deletions(-) delete mode 100644 src/main/resources/logback-spring.groovy diff --git a/pom.xml b/pom.xml index 15468fb..bc4e4ea 100644 --- a/pom.xml +++ b/pom.xml @@ -124,8 +124,18 @@ - org.codehaus.groovy - groovy-all + org.springframework.boot + spring-boot-starter-actuator + + + + io.micrometer + micrometer-core + + + + io.micrometer + micrometer-registry-prometheus @@ -152,11 +162,11 @@ true - - com.google.cloud - google-cloud-storage - 1.53.0 - + + com.google.cloud + google-cloud-storage + 1.53.0 + diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 6da8f26..4fc172e 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -48,3 +48,35 @@ storage: uri: https://storage.googleapis.com bucket: content-service-dev upload_chunk_size: 262144 # measured in bytes (B) and must be a multiple of 256K bytes (that is, 262144 bytes) + +# To enable colors in Eclipse: +# spring.output.ansi.enabled=ALWAYS and in eclipse +# Help -> Install New Software... and click "Add..." to add the following URL: +# http://www.mihai-nita.net/eclipse + output: + ansi: + enabled: ALWAYS + +logging: + level: + root: INFO + org: + springframework: + web: INFO + +#Metrics related configurations +management: + endpoint: + metrics: + enabled: true + prometheus: + enabled: true + endpoints: + web: + exposure: + include: 'prometheus, health, info, loggers' + metrics: + export: + prometheus: + enabled: true + diff --git a/src/main/resources/application-production.yml b/src/main/resources/application-production.yml index b2e6ee8..63f2d69 100644 --- a/src/main/resources/application-production.yml +++ b/src/main/resources/application-production.yml @@ -48,3 +48,35 @@ storage: uri: ${GOOGLE_STORAGE_URI:https://storage.googleapis.com} bucket: ${GOOGLE_STORAGE_BUCKET:content-service-dev} upload_chunk_size: 262144 # measured in bytes (B) and must be a multiple of 256K bytes (that is, 262144 bytes) + +# To enable colors in Eclipse: +# spring.output.ansi.enabled=ALWAYS and in eclipse +# Help -> Install New Software... and click "Add..." to add the following URL: +# http://www.mihai-nita.net/eclipse + output: + ansi: + enabled: ALWAYS + +logging: + level: + root: INFO + org: + springframework: + web: INFO + +#Metrics related configurations +management: + endpoint: + metrics: + enabled: true + prometheus: + enabled: true + endpoints: + web: + exposure: + include: 'prometheus, health, info, loggers' + metrics: + export: + prometheus: + enabled: true + diff --git a/src/main/resources/logback-spring.groovy b/src/main/resources/logback-spring.groovy deleted file mode 100644 index 91261d1..0000000 --- a/src/main/resources/logback-spring.groovy +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright (C) 2018 Nynja Inc. All rights reserved. - */ - -import ch.qos.logback.classic.encoder.PatternLayoutEncoder -import ch.qos.logback.core.rolling.RollingFileAppender -import ch.qos.logback.core.rolling.TimeBasedRollingPolicy -import ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP -import ch.qos.logback.core.status.OnConsoleStatusListener -import ch.qos.logback.classic.Level - -statusListener(OnConsoleStatusListener) - -def file = "${System.getProperty('log.dir', '')}content-service-%d.%i.log" - -appender("FILE", RollingFileAppender) { - // add a status message regarding the file property - addInfo("Starting logging to $file") - append = true - encoder(PatternLayoutEncoder) { pattern = "%d{HH:mm:ss.SSS} %level %logger - %msg%n" } - rollingPolicy(TimeBasedRollingPolicy) { - fileNamePattern = "$file" - timeBasedFileNamingAndTriggeringPolicy(SizeAndTimeBasedFNATP) { maxFileSize = "10mb" }} -} - -appender("Console-Appender", ConsoleAppender) { - encoder(PatternLayoutEncoder) { pattern = "%d{HH:mm:ss.SSS} %level %logger - %msg%n" } -} - -logger("org.springframework.cloud.config.client.ConfigServicePropertySourceLocator", Level.WARN) -root(INFO, ["Console-Appender"]) -root(Level.toLevel("${System.getProperty('log.level', 'INFO')}"), ["FILE"]) \ No newline at end of file -- GitLab