diff --git a/src/main/java/org/codiki/core/services/FileUploadService.java b/src/main/java/org/codiki/core/services/FileUploadService.java index 3b11756..abf74df 100755 --- a/src/main/java/org/codiki/core/services/FileUploadService.java +++ b/src/main/java/org/codiki/core/services/FileUploadService.java @@ -6,6 +6,8 @@ import java.nio.file.Path; import java.nio.file.Paths; import org.apache.commons.lang.RandomStringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.core.io.UrlResource; @@ -14,14 +16,16 @@ import org.springframework.web.multipart.MultipartFile; @Service public class FileUploadService { + /** Logger. */ + private static final Logger LOG = LoggerFactory.getLogger(FileUploadService.class); /** Length of uploaded file names. */ private static final int DESTINATION_IMAGE_NAME_LENGTH = 30; - @Value("codiki.files.upload") + @Value("${codiki.files.upload}") private String folderUpload; - @Value("codiki.files.profile-images") + @Value("${codiki.files.profile-images}") private String folderProfileImages; - @Value("codiki.files.images") + @Value("${codiki.files.images}") private String folderImages; /** @@ -46,9 +50,12 @@ public class FileUploadService { String result; try { result = buildDestinationFileName(); - Files.copy(pFile.getInputStream(), Paths.get(pPath).resolve(result)); + final Path destinationFile = Paths.get(pPath).resolve(result); + LOG.debug("Upload file saved as {}", destinationFile.toString()); + Files.copy(pFile.getInputStream(), destinationFile); return result; } catch (final Exception pEx) { + LOG.error("Error during file upload.", pEx); // TODO : Refactor exception throw new RuntimeException(); } diff --git a/src/main/java/org/codiki/images/ImageController.java b/src/main/java/org/codiki/images/ImageController.java index 8c75910..e61169c 100755 --- a/src/main/java/org/codiki/images/ImageController.java +++ b/src/main/java/org/codiki/images/ImageController.java @@ -9,6 +9,8 @@ import javax.servlet.http.HttpServletResponse; import org.codiki.core.entities.dto.ImageDTO; import org.codiki.core.utils.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; @@ -25,6 +27,7 @@ import org.springframework.web.multipart.MultipartFile; @RestController @RequestMapping("/api/images") public class ImageController { + private static final Logger LOG = LoggerFactory.getLogger(ImageController.class); @Autowired private ImageService imageService; @@ -32,11 +35,13 @@ public class ImageController { @PostMapping("/uploadAvatar") public ResponseEntity uploadAvatar(@RequestParam("file") MultipartFile pFile, final HttpServletRequest pRequest, final HttpServletResponse pResponse, final Principal pPrincipal) { + LOG.debug("Upload avatar."); ResponseEntity result; try { result = ResponseEntity.status(HttpStatus.OK) .body(imageService.uploadAvatar(pFile, pRequest, pResponse, pPrincipal)); } catch(final Exception pEx) { + LOG.error("Error during avatar upload.", pEx); result = ResponseEntity.status(HttpStatus.EXPECTATION_FAILED) .body(StringUtils.concat("Fail to upload ", pFile.getOriginalFilename() + ".")); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7c2a8c0..241ac54 100755 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -10,12 +10,14 @@ spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false # Because detection is disabled you have to set correct dialect by hand. spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect -logging.level.org.hibernate=DEBUG +#logging.level.org.hibernate=DEBUG spring.servlet.multipart.max-file-size=104857600 codiki.files.upload=/opt/codiki/pictures/tmp codiki.files.profile-images=/opt/codiki/pictures/profiles codiki.files.images=/opt/codiki/pictures/posts - +logging.level.org.codiki=DEBUG +logging.path=/opt/codiki/logs +logging.file=codiki cors.enabled=false \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100755 index 0000000..7727266 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,66 @@ + + + + + + System.out + + DEBUG + ACCEPT + + + INFO + ACCEPT + + + TRACE + ACCEPT + + + WARN + DENY + + + ERROR + DENY + + + %date %-5level [%-10.10thread] %-40.40logger{40} %msg%n + + + + + System.err + + WARN + + + %date %-5level [%-10.10thread] %-40.40logger{40} %msg%n + + + + + ${logging.path}/${logging.file}.log + + ${logging.path}/${logging.file}.%d{yyyy-MM-dd}.%i.log + + 5MB + + 30 + + + %date %-5level [%-10.10thread] %-40.40logger{40} %msg%n + + + + + + + + + + + + \ No newline at end of file